blob: a8ad4641144ddb4439a808ba53a35cea82f3b963 [file] [log] [blame]
package security
import (
"io/ioutil"
"os"
"testing"
)
func TestNewPersistentPrincipal(t *testing.T) {
// Persistence of the BlessingRoots and BlessingStore objects is
// tested in other files. Here just test the persistence of the key.
dir, err := ioutil.TempDir("", "TestNewPersistentPrincipal")
if err != nil {
t.Fatal(err)
}
defer os.RemoveAll(dir)
p, existed, err := NewPersistentPrincipal(dir)
if err != nil {
t.Fatal(err)
}
if existed {
t.Fatalf("%q already has data", existed)
}
message := []byte("this is a test message")
sig, err := p.Sign(message)
if err != nil {
t.Fatal(err)
}
p2, _, err := NewPersistentPrincipal(dir)
if err != nil {
t.Fatal(err)
}
if !sig.Verify(p2.PublicKey(), message) {
t.Errorf("p.PublicKey=%v, p2.PublicKey=%v", p.PublicKey(), p2.PublicKey())
}
}