41 lines
762 B
Go
41 lines
762 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.NewGenericPassword(testKeyringService, testKeyringKey, "", []byte(testKeyringKey), "")
|
|
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)
|
|
}
|
|
}
|