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{}{} } }