109 lines
2 KiB
Go
109 lines
2 KiB
Go
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")
|
|
}
|
|
})
|
|
}
|