github.com/xuyutom/docker@v1.6.0/pkg/common/randomid_test.go (about) 1 package common 2 3 import ( 4 "testing" 5 ) 6 7 func TestShortenId(t *testing.T) { 8 id := GenerateRandomID() 9 truncID := TruncateID(id) 10 if len(truncID) != 12 { 11 t.Fatalf("Id returned is incorrect: truncate on %s returned %s", id, truncID) 12 } 13 } 14 15 func TestShortenIdEmpty(t *testing.T) { 16 id := "" 17 truncID := TruncateID(id) 18 if len(truncID) > len(id) { 19 t.Fatalf("Id returned is incorrect: truncate on %s returned %s", id, truncID) 20 } 21 } 22 23 func TestShortenIdInvalid(t *testing.T) { 24 id := "1234" 25 truncID := TruncateID(id) 26 if len(truncID) != len(id) { 27 t.Fatalf("Id returned is incorrect: truncate on %s returned %s", id, truncID) 28 } 29 } 30 31 func TestGenerateRandomID(t *testing.T) { 32 id := GenerateRandomID() 33 34 if len(id) != 64 { 35 t.Fatalf("Id returned is incorrect: %s", id) 36 } 37 } 38 39 func TestRandomString(t *testing.T) { 40 id := RandomString() 41 if len(id) != 64 { 42 t.Fatalf("Id returned is incorrect: %s", id) 43 } 44 } 45 46 func TestRandomStringUniqueness(t *testing.T) { 47 repeats := 25 48 set := make(map[string]struct{}, repeats) 49 for i := 0; i < repeats; i = i + 1 { 50 id := RandomString() 51 if len(id) != 64 { 52 t.Fatalf("Id returned is incorrect: %s", id) 53 } 54 if _, ok := set[id]; ok { 55 t.Fatalf("Random number is repeated") 56 } 57 set[id] = struct{}{} 58 } 59 }