"veyron/tools/principal": Overwrite flag for create
At the moment, the create command on the principal tools
complains if it is provided with a directly that already
contains a principal object. This causes some inconvenience
in tests and tutorials.
This CL resolves the issues by adding a --overwrite flag to
the principal that overwrites any existing principal data in
the directory.
Change-Id: I08ed5abb89c4a2d74de42586846b49df73a6f0f4
diff --git a/security/principal_test.go b/security/principal_test.go
index d2d18ce..467d37a 100644
--- a/security/principal_test.go
+++ b/security/principal_test.go
@@ -66,20 +66,25 @@
if err != nil {
t.Fatal(err)
}
+ p, err = CreatePersistentPrincipal(dir, passphrase)
+ if err == nil {
+ t.Error("CreatePersistentPrincipal passed unexpectedly")
+ }
+ p, err = CreateOrOverwritePersistentPrincipal(dir, passphrase)
+ if err != nil {
+ t.Errorf("CreateOrOverwritePersistentPrincipal failed unexpectedly: %v", err)
+ }
+
sig, err := p.Sign(message)
if err != nil {
t.Fatal(err)
}
- p2, err := CreatePersistentPrincipal(dir, passphrase)
- if err == nil {
- t.Errorf("p2 CreatePersistentPrincipal should have failed")
- }
- p2, err = LoadPersistentPrincipal(dir, passphrase)
+ p2, err := LoadPersistentPrincipal(dir, passphrase)
if err != nil {
t.Fatal(err)
}
- if !sig.Verify(p.PublicKey(), message) {
+ if !sig.Verify(p2.PublicKey(), message) {
t.Errorf("%s failed: p.PublicKey=%v, p2.PublicKey=%v", message, p.PublicKey(), p2.PublicKey())
}
}