|
@@ -0,0 +1,59 @@
|
|
|
+package common
|
|
|
+
|
|
|
+import (
|
|
|
+ "testing"
|
|
|
+)
|
|
|
+
|
|
|
+func TestShortenId(t *testing.T) {
|
|
|
+ id := GenerateRandomID()
|
|
|
+ truncID := TruncateID(id)
|
|
|
+ if len(truncID) != 12 {
|
|
|
+ t.Fatalf("Id returned is incorrect: truncate on %s returned %s", id, truncID)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestShortenIdEmpty(t *testing.T) {
|
|
|
+ id := ""
|
|
|
+ truncID := TruncateID(id)
|
|
|
+ if len(truncID) > len(id) {
|
|
|
+ t.Fatalf("Id returned is incorrect: truncate on %s returned %s", id, truncID)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestShortenIdInvalid(t *testing.T) {
|
|
|
+ id := "1234"
|
|
|
+ truncID := TruncateID(id)
|
|
|
+ if len(truncID) != len(id) {
|
|
|
+ t.Fatalf("Id returned is incorrect: truncate on %s returned %s", id, truncID)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestGenerateRandomID(t *testing.T) {
|
|
|
+ id := GenerateRandomID()
|
|
|
+
|
|
|
+ if len(id) != 64 {
|
|
|
+ t.Fatalf("Id returned is incorrect: %s", id)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestRandomString(t *testing.T) {
|
|
|
+ id := RandomString()
|
|
|
+ if len(id) != 64 {
|
|
|
+ t.Fatalf("Id returned is incorrect: %s", id)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestRandomStringUniqueness(t *testing.T) {
|
|
|
+ repeats := 25
|
|
|
+ set := make(map[string]struct{}, repeats)
|
|
|
+ for i := 0; i < repeats; i = i + 1 {
|
|
|
+ id := RandomString()
|
|
|
+ if len(id) != 64 {
|
|
|
+ t.Fatalf("Id returned is incorrect: %s", id)
|
|
|
+ }
|
|
|
+ if _, ok := set[id]; ok {
|
|
|
+ t.Fatalf("Random number is repeated")
|
|
|
+ }
|
|
|
+ set[id] = struct{}{}
|
|
|
+ }
|
|
|
+}
|