refactor(keyring): inline wrapper package into root
This commit is contained in:
parent
708b9d0357
commit
d6415666de
3 changed files with 10 additions and 136 deletions
|
|
@ -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)
|
||||
}
|
||||
|
|
@ -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")
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue