diff --git a/pass/pass_test.go b/pass/pass_test.go index 352dcb3..8ab10f5 100644 --- a/pass/pass_test.go +++ b/pass/pass_test.go @@ -10,75 +10,115 @@ import ( ) func TestPassHelper(t *testing.T) { - helper := Pass{} - creds := &credentials.Credentials{ ServerURL: "https://foobar.docker.io:2376/v1", Username: "nothing", Secret: "isthebestmeshuggahalbum", } - _ = helper.CheckInitialized() + helper := Pass{} + if err := helper.checkInitialized(); err != nil { + t.Error(err) + } - helper.Add(creds) + if err := helper.Add(creds); err != nil { + t.Error(err) + } - creds.ServerURL = "https://foobar.docker.io:9999/v2" - helper.Add(creds) + u, s, err := helper.Get(creds.ServerURL) + if err != nil { + t.Error(err) + } + if u != creds.Username { + t.Errorf("invalid username %s", u) + } + if s != creds.Secret { + t.Errorf("invalid secret: %s", s) + } + + if err := helper.Delete(creds.ServerURL); err != nil { + t.Error(err) + } + if _, _, err := helper.Get(creds.ServerURL); !credentials.IsErrCredentialsNotFound(err) { + t.Errorf("expected credentials not found, actual: %v", err) + } +} + +func TestPassHelperCheckInit(t *testing.T) { + helper := Pass{} + if v := helper.CheckInitialized(); !v { + t.Errorf("expected true, actual: %v", v) + } +} + +func TestPassHelperList(t *testing.T) { + creds := []*credentials.Credentials{ + { + ServerURL: "https://foobar.docker.io:2376/v1", + Username: "foo", + Secret: "isthebestmeshuggahalbum", + }, + { + ServerURL: "https://foobar.docker.io:2375/v1", + Username: "bar", + Secret: "isthebestmeshuggahalbum", + }, + } + + helper := Pass{} + if err := helper.checkInitialized(); err != nil { + t.Error(err) + } + + for _, cred := range creds { + if err := helper.Add(cred); err != nil { + t.Error(err) + } + } credsList, err := helper.List() if err != nil { - t.Fatal(err) + t.Error(err) } - for server, username := range credsList { - if !(strings.Contains(server, "2376") || - strings.Contains(server, "9999")) { - t.Fatalf("invalid url: %s", creds.ServerURL) + if !(strings.HasSuffix(server, "2376/v1") || strings.HasSuffix(server, "2375/v1")) { + t.Errorf("invalid url: %s", server) } - - if username != "nothing" { - t.Fatalf("invalid username: %v", username) + if !(username == "foo" || username == "bar") { + t.Errorf("invalid username: %v", username) } u, s, err := helper.Get(server) if err != nil { - t.Fatal(err) + t.Error(err) } - if u != username { - t.Fatalf("invalid username %s", u) + t.Errorf("invalid username %s", u) } - if s != "isthebestmeshuggahalbum" { - t.Fatalf("invalid secret: %s", s) + t.Errorf("invalid secret: %s", s) } - err = helper.Delete(server) - if err != nil { - t.Fatal(err) + if err := helper.Delete(server); err != nil { + t.Error(err) } - - _, _, err = helper.Get(server) - if !credentials.IsErrCredentialsNotFound(err) { - t.Fatalf("expected credentials not found, actual: %v", err) + if _, _, err := helper.Get(server); !credentials.IsErrCredentialsNotFound(err) { + t.Errorf("expected credentials not found, actual: %v", err) } } credsList, err = helper.List() if err != nil { - t.Fatal(err) + t.Error(err) } - if len(credsList) != 0 { - t.Fatal("didn't delete all creds?") + t.Error("didn't delete all creds?") } } func TestMissingCred(t *testing.T) { helper := Pass{} - - _, _, err := helper.Get("garbage") - if !credentials.IsErrCredentialsNotFound(err) { - t.Fatalf("expected credentials not found, actual: %v", err) + if _, _, err := helper.Get("garbage"); !credentials.IsErrCredentialsNotFound(err) { + t.Errorf("expected credentials not found, actual: %v", err) } }