github.com/qri-io/qri@v0.10.1-0.20220104210721-c771715036cb/remote/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/remote/registry"
     8  )
     9  
    10  func TestProfileRequests(t *testing.T) {
    11  	tr, cleanup := NewTestRunner(t)
    12  	defer cleanup()
    13  
    14  	client := tr.Client
    15  	input := &registry.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 := &registry.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  }