From 9e7cb05741aa9645a5a673fc08fbf102cf6e2837 Mon Sep 17 00:00:00 2001 From: ayn2op Date: Mon, 5 Jan 2026 02:10:46 -0500 Subject: [PATCH] test(keyring): add tests --- internal/keyring/keyring_test.go | 109 +++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 internal/keyring/keyring_test.go diff --git a/internal/keyring/keyring_test.go b/internal/keyring/keyring_test.go new file mode 100644 index 0000000..4b3cff5 --- /dev/null +++ b/internal/keyring/keyring_test.go @@ -0,0 +1,109 @@ +package keyring + +import ( + "errors" + "testing" + + zkeyring "github.com/zalando/go-keyring" +) + +const testToken = "abc123" + +var testErr = errors.New("boom") + +func TestSetToken(t *testing.T) { + t.Run("success", func(t *testing.T) { + zkeyring.MockInit() + + if err := SetToken(testToken); err != nil { + t.Fatal(err) + } + + got, err := GetToken() + if err != nil { + t.Fatal(err) + } + + if got != testToken { + t.Fatalf("got = %q, want = %q", got, testToken) + } + }) + + t.Run("error", func(t *testing.T) { + zkeyring.MockInitWithError(testErr) + + if err := SetToken(testToken); err == nil { + t.Fatal("expected error") + } + }) +} + +func TestGetToken(t *testing.T) { + t.Run("success", func(t *testing.T) { + zkeyring.MockInit() + + if err := zkeyring.Set(keyringService, keyringUser, testToken); err != nil { + t.Fatal(err) + } + + got, err := GetToken() + if err != nil { + t.Fatal(err) + } + if got != testToken { + t.Fatalf("got = %q, want = %q", got, testToken) + } + }) + + t.Run("not found", func(t *testing.T) { + zkeyring.MockInit() + + _, err := GetToken() + if !errors.Is(err, zkeyring.ErrNotFound) { + t.Fatalf("got = %v, want = %v", err, zkeyring.ErrNotFound) + } + }) + + t.Run("error", func(t *testing.T) { + zkeyring.MockInitWithError(testErr) + + if _, err := GetToken(); err == nil { + t.Fatal("expected error") + } + }) +} + +func TestDeleteToken(t *testing.T) { + t.Run("success", func(t *testing.T) { + zkeyring.MockInit() + + if err := zkeyring.Set(keyringService, keyringUser, testToken); err != nil { + t.Fatal(err) + } + + if err := DeleteToken(); err != nil { + t.Fatal(err) + } + + _, err := GetToken() + if !errors.Is(err, zkeyring.ErrNotFound) { + t.Fatalf("got = %v, want = %v", err, zkeyring.ErrNotFound) + } + }) + + t.Run("not found", func(t *testing.T) { + zkeyring.MockInit() + + if err := DeleteToken(); !errors.Is(err, zkeyring.ErrNotFound) { + t.Fatalf("got = %v, want = %v", err, zkeyring.ErrNotFound) + } + }) + + t.Run("error", func(t *testing.T) { + zkeyring.MockInitWithError(testErr) + + if err := DeleteToken(); err == nil { + t.Fatal("expected error") + } + }) +}