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  }