test(keyring): add tests

This commit is contained in:
ayn2op 2026-01-05 02:10:46 -05:00
parent 92382aabf5
commit 9e7cb05741

View file

@ -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")
}
})
}