github.com/qri-io/qri@v0.10.1-0.20220104210721-c771715036cb/registry/regclient/profile_test.go (about) 1 package regclient 2 3 import ( 4 "testing" 5 6 "github.com/qri-io/qri/auth/key" 7 "github.com/qri-io/qri/registry" 8 ) 9 10 func TestProfileRequests(t *testing.T) { 11 tr, cleanup := NewTestRunner(t) 12 defer cleanup() 13 14 client := tr.Client 15 input := ®istry.Profile{ 16 Username: "b5", 17 } 18 19 pubKeyStr, err := key.EncodePubKeyB64(tr.ClientPrivKey.GetPublic()) 20 if err != nil { 21 t.Error(err.Error()) 22 } 23 24 p := ®istry.Profile{ 25 PublicKey: pubKeyStr, 26 } 27 28 err = client.GetProfile(p) 29 if err == nil { 30 t.Errorf("expected empty get to error") 31 } else if err.Error() != "registry: " { 32 t.Errorf("error mistmatch. expected: %s, got: %s", "error 404: ", err.Error()) 33 } 34 35 _, err = client.PutProfile(input, tr.ClientPrivKey) 36 if err != nil { 37 t.Error(err.Error()) 38 } 39 40 err = client.GetProfile(p) 41 if err != nil { 42 t.Error(err) 43 } 44 if p.Username != input.Username { 45 t.Errorf("expected username to equal %s, got: %s", input.Username, p.Username) 46 } 47 48 err = client.DeleteProfile(input, tr.ClientPrivKey) 49 if err != nil { 50 t.Error(err.Error()) 51 } 52 } 53 54 func TestRegistryProfileIDGenerator(t *testing.T) { 55 gen := key.NewCryptoGenerator() 56 pks, pid := gen.GeneratePrivateKeyAndPeerID() 57 pk, err := key.DecodeB64PrivKey(pks) 58 if err != nil { 59 t.Fatal(err) 60 } 61 pro, err := registry.ProfileFromPrivateKey(®istry.Profile{Username: "test_user"}, pk) 62 if err != nil { 63 t.Error(err.Error()) 64 } 65 if pid != pro.ProfileID { 66 t.Errorf("expected profile IDs to be equal %s, got: %s", pid, pro.ProfileID) 67 } 68 }