github.com/keybase/client/go@v0.0.0-20240520164431-4f512a4c85a3/uidmap/hardcoded_uids_test.go (about) 1 package uidmap 2 3 import ( 4 "github.com/keybase/client/go/libkb" 5 keybase1 "github.com/keybase/client/go/protocol/keybase1" 6 "github.com/stretchr/testify/require" 7 "strings" 8 "testing" 9 ) 10 11 func TestFindAndCheck(t *testing.T) { 12 var findTests = []struct { 13 uid string 14 username string 15 }{ 16 {"0000919f77953a6961b086b579c3db00", "vladionescu"}, 17 {"008275e07f931b20807c3b81635c6300", "kobak"}, 18 {"23260c2ce19420f97b58d7d95b68ca00", "chris"}, 19 {"23157442436087ee8bcb46c5a193b119", "ZarathustraSpoke"}, 20 {"dbb165b7879fe7b1174df73bed0b9500", "max"}, 21 {"fffd6589590eaf361af59c6c22c05300", "SteveClement"}, 22 {"06eb0cf37180f36567a27bd4598ea700", "hicksfilosopher"}, 23 {"06ebf3277527fdebc08ab8f68c779100", "wileywiggins"}, 24 {"06ec3f699708c220e7b8126ab084d900", "pdg"}, 25 {"06ecc3c2bcbebae81187477e5e340800", "fletch"}, 26 {"06eeaa6bf23da490727dbc57852f2800", "svrist"}, 27 {"06f0c3aedcd6b8fc9656594108b32300", "peelr"}, 28 {"06f188a09ce38152f90a6f8353b08900", "jayholler"}, 29 {"06f19f7fd78c0d2ff5e8d91e5ae08600", "fredrikhegren"}, 30 {"06f2412ce9baadfc120739bec1664700", "dwradcliffe"}, 31 {"06f246cc34d13b7f23bb8a53547bb800", "oneofone"}, 32 {"eeeeeeeeeeeeeeeeeeeeeeeeeeeeee00", ""}, 33 {"11111111112222233334445556666719", ""}, 34 } 35 36 for _, findTest := range findTests { 37 uid, err := keybase1.UIDFromString(findTest.uid) 38 if err != nil { 39 t.Fatal(err) 40 } 41 found := findHardcoded(uid) 42 expected := libkb.NewNormalizedUsername(findTest.username) 43 if !found.Eq(expected) { 44 t.Fatalf("Failure for %v: %s != %s", uid, expected, found) 45 } 46 if !expected.IsNil() && !checkUIDAgainstUsername(uid, expected) { 47 t.Fatalf("UID mismatch for %v/%s", uid, expected) 48 } 49 } 50 } 51 52 func TestCheck(t *testing.T) { 53 var checkTests = []struct { 54 uid string 55 username string 56 }{ 57 {"731f0ec12dfe99134c2932f629f85e19", "a_01586316d6"}, 58 {"a8ae731d2e7526902b4e2e08cda30419", "a_01f7ed84"}, 59 {"e6ccb1b0db5905a7c762365d1f182819", "a_02961df0"}, 60 {"f65191cb570c322d94503168a745ed19", "a_02aba774"}, 61 {"d1a22d4be0308c26937e2940cb99b719", "a_035eac44"}, 62 {"f1699a37800bfedf0902923804017319", "a_03ce8bdd"}, 63 {"e834498c7ad66c8d656ef9430ff9a519", "a_048efd0d"}, 64 {"f0d669b599df88fbce0bd4e070124e19", "a_054f0dd1"}, 65 } 66 67 for _, checkTest := range checkTests { 68 uid, err := keybase1.UIDFromString(checkTest.uid) 69 if err != nil { 70 t.Fatal(err) 71 } 72 username := libkb.NewNormalizedUsername(checkTest.username) 73 if !checkUIDAgainstUsername(uid, username) { 74 t.Fatalf("Failure for %v/%s", uid, username) 75 } 76 bad := libkb.NewNormalizedUsername("baaad") 77 if checkUIDAgainstUsername(uid, bad) { 78 t.Fatalf("Baddie failed: %v", uid) 79 } 80 } 81 uid, err := keybase1.UIDFromString("06f246cc34d13b7f23bb8a53547bb800") 82 if err != nil { 83 t.Fatal(err) 84 } 85 username := libkb.NewNormalizedUsername("max") 86 if checkUIDAgainstUsername(uid, username) { 87 t.Fatal("Wanted a max failure") 88 } 89 } 90 91 func TestUsernameSort(t *testing.T) { 92 initUsernameSort() 93 for i := 0; i < len(lengths)-1; i++ { 94 require.True(t, strings.Compare(usernameAtSortedIndex(i), usernameAtSortedIndex(i+1)) < 0) 95 } 96 } 97 98 func TestFindHardcodedUsernames(t *testing.T) { 99 initUsernameSort() 100 101 var findTests = []struct { 102 uid string 103 username string 104 }{ 105 {"0000919f77953a6961b086b579c3db00", "vladionescu"}, 106 {"008275e07f931b20807c3b81635c6300", "kobak"}, 107 {"23260c2ce19420f97b58d7d95b68ca00", "chris"}, 108 {"23157442436087ee8bcb46c5a193b119", "ZarathustraSpoke"}, 109 {"dbb165b7879fe7b1174df73bed0b9500", "max"}, 110 {"fffd6589590eaf361af59c6c22c05300", "SteveClement"}, 111 {"06eb0cf37180f36567a27bd4598ea700", "hicksfilosopher"}, 112 {"06ebf3277527fdebc08ab8f68c779100", "wileywiggins"}, 113 {"06ec3f699708c220e7b8126ab084d900", "pdg"}, 114 {"06ecc3c2bcbebae81187477e5e340800", "fletch"}, 115 {"06eeaa6bf23da490727dbc57852f2800", "svrist"}, 116 {"06f0c3aedcd6b8fc9656594108b32300", "peelr"}, 117 {"06f188a09ce38152f90a6f8353b08900", "jayholler"}, 118 {"06f19f7fd78c0d2ff5e8d91e5ae08600", "fredrikhegren"}, 119 {"06f2412ce9baadfc120739bec1664700", "dwradcliffe"}, 120 {"06f246cc34d13b7f23bb8a53547bb800", "oneofone"}, 121 } 122 123 for _, findTest := range findTests { 124 require.Equal(t, findHardcodedUsername(libkb.NewNormalizedUsername(findTest.username)), keybase1.UID(findTest.uid)) 125 require.True(t, findHardcodedUsername(libkb.NewNormalizedUsername(findTest.username+"xxyy")).IsNil()) 126 } 127 }