Files
secret/keyring_darwin_test.go

46 lines
892 B
Go

package secret
import (
"testing"
"github.com/keybase/go-keychain"
)
const (
testKeyringService = "io.maze.git.go.secret"
testKeyringKey = "test"
)
func TestKeyring(t *testing.T) {
item := keychain.NewItem()
item.SetSecClass(keychain.SecClassGenericPassword)
item.SetService(testKeyringService)
item.SetAccount(testKeyringKey)
item.SetData([]byte(testKeyringKey))
item.SetAccessible(keychain.AccessibleAlways)
if err := keychain.AddItem(item); err != nil {
t.Skip(err)
}
defer func() {
if err := keychain.DeleteGenericPasswordItem(testKeyringService, testKeyringKey); err != nil {
t.Error(err)
}
}()
p, err := Keyring(testKeyringService)
if err != nil {
t.Fatal(err)
return
}
v, err := p.GetSecret(testKeyringKey)
if err != nil {
t.Fatal(err)
return
}
if string(v) != testKeyringKey {
t.Errorf("expected %q, got %q", testKeyringKey, v)
}
}