From d6415666de2e1f658da337479f6a6d5a423277a4 Mon Sep 17 00:00:00 2001 From: ayn2op Date: Tue, 29 Sep 2026 01:08:30 -0400 Subject: [PATCH] refactor(keyring): inline wrapper package into root --- internal/keyring/keyring.go | 23 ------- internal/keyring/keyring_test.go | 109 ------------------------------- internal/ui/root/msg.go | 14 ++-- 3 files changed, 10 insertions(+), 136 deletions(-) delete mode 100644 internal/keyring/keyring.go delete mode 100644 internal/keyring/keyring_test.go diff --git a/internal/keyring/keyring.go b/internal/keyring/keyring.go deleted file mode 100644 index d4d77db..0000000 --- a/internal/keyring/keyring.go +++ /dev/null @@ -1,23 +0,0 @@ -package keyring - -import ( - "github.com/ayn2op/discordo/internal/consts" - "github.com/zalando/go-keyring" -) - -const ( - keyringService = consts.Name - keyringUser = "token" -) - -func GetToken() (string, error) { - return keyring.Get(keyringService, keyringUser) -} - -func SetToken(s string) error { - return keyring.Set(keyringService, keyringUser, s) -} - -func DeleteToken() error { - return keyring.Delete(keyringService, keyringUser) -} diff --git a/internal/keyring/keyring_test.go b/internal/keyring/keyring_test.go deleted file mode 100644 index d852fe3..0000000 --- a/internal/keyring/keyring_test.go +++ /dev/null @@ -1,109 +0,0 @@ -package keyring - -import ( - "errors" - "testing" - - zkeyring "github.com/zalando/go-keyring" -) - -const testToken = "abc123" - -var errTest = 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(errTest) - - 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(errTest) - - 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(errTest) - - if err := DeleteToken(); err == nil { - t.Fatal("expected error") - } - }) -} diff --git a/internal/ui/root/msg.go b/internal/ui/root/msg.go index 2ae9abb..251374f 100644 --- a/internal/ui/root/msg.go +++ b/internal/ui/root/msg.go @@ -3,11 +3,17 @@ package root import ( "log/slog" - "github.com/ayn2op/discordo/internal/keyring" + "github.com/ayn2op/discordo/internal/consts" "github.com/ayn2op/tview" + "github.com/zalando/go-keyring" "golang.design/x/clipboard" ) +const ( + keyringService = consts.Name + keyringUser = "token" +) + type tokenMsg string func useToken(token string) tview.Cmd { @@ -20,7 +26,7 @@ type loginMsg struct{} func getToken() tview.Cmd { return func() tview.Msg { - token, err := keyring.GetToken() + token, err := keyring.Get(keyringService, keyringUser) if err != nil { slog.Info("failed to retrieve token from keyring", "err", err) return loginMsg{} @@ -31,7 +37,7 @@ func getToken() tview.Cmd { func setToken(token string) tview.Cmd { return func() tview.Msg { - if err := keyring.SetToken(token); err != nil { + if err := keyring.Set(keyringService, keyringUser, token); err != nil { slog.Error("failed to set token to keyring", "err", err) return nil } @@ -41,7 +47,7 @@ func setToken(token string) tview.Cmd { func deleteToken() tview.Cmd { return func() tview.Msg { - if err := keyring.DeleteToken(); err != nil { + if err := keyring.Delete(keyringService, keyringUser); err != nil { slog.Error("failed to delete token from keyring", "err", err) return nil }