aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/key_store_test.go
diff options
context:
space:
mode:
authorGustav Simonsson <gustav.simonsson@gmail.com>2015-01-16 00:45:45 +0800
committerGustav Simonsson <gustav.simonsson@gmail.com>2015-01-16 02:40:10 +0800
commit47d3b3dd58172c2e7c1f72fb072bd9385aff8205 (patch)
tree8df36e0ebbe29820066dc4640fcc8649b14cc28b /crypto/key_store_test.go
parenta1c2749380523178f87ae3fdfb02bc6641362924 (diff)
downloaddexon-47d3b3dd58172c2e7c1f72fb072bd9385aff8205.tar
dexon-47d3b3dd58172c2e7c1f72fb072bd9385aff8205.tar.gz
dexon-47d3b3dd58172c2e7c1f72fb072bd9385aff8205.tar.bz2
dexon-47d3b3dd58172c2e7c1f72fb072bd9385aff8205.tar.lz
dexon-47d3b3dd58172c2e7c1f72fb072bd9385aff8205.tar.xz
dexon-47d3b3dd58172c2e7c1f72fb072bd9385aff8205.tar.zst
dexon-47d3b3dd58172c2e7c1f72fb072bd9385aff8205.zip
Address pull request comments
* Remove flags field from key struct * Change JSON struct fields from string to []byte * Change GenerateNewKey API to take io.Reader for random source * Remove mixing entropy source function * Use testing Fatal in tests
Diffstat (limited to 'crypto/key_store_test.go')
-rw-r--r--crypto/key_store_test.go66
1 files changed, 18 insertions, 48 deletions
diff --git a/crypto/key_store_test.go b/crypto/key_store_test.go
index 8469d2369..16c0e476d 100644
--- a/crypto/key_store_test.go
+++ b/crypto/key_store_test.go
@@ -1,7 +1,7 @@
package crypto
import (
- "fmt"
+ crand "crypto/rand"
"reflect"
"testing"
)
@@ -9,107 +9,77 @@ import (
func TestKeyStorePlain(t *testing.T) {
ks := NewKeyStorePlain(DefaultDataDir())
pass := "" // not used but required by API
- k1, err := ks.GenerateNewKey(pass)
+ k1, err := ks.GenerateNewKey(crand.Reader, pass)
if err != nil {
- t.Error(err)
- t.FailNow()
+ t.Fatal(err)
}
k2 := new(Key)
k2, err = ks.GetKey(k1.Id, pass)
if err != nil {
- t.Error(err)
- t.FailNow()
+ t.Fatal(err)
}
if !reflect.DeepEqual(k1.Id, k2.Id) {
- fmt.Println("key Id mismatch")
- t.FailNow()
- }
-
- if k1.Flags != k2.Flags {
- fmt.Println("key Flags mismatch")
- t.FailNow()
+ t.Fatal(err)
}
if !reflect.DeepEqual(k1.PrivateKey, k2.PrivateKey) {
- fmt.Println("key PrivateKey mismatch")
- t.FailNow()
+ t.Fatal(err)
}
err = ks.DeleteKey(k2.Id, pass)
if err != nil {
- t.Error(err)
- t.FailNow()
+ t.Fatal(err)
}
}
func TestKeyStorePassphrase(t *testing.T) {
ks := NewKeyStorePassphrase(DefaultDataDir())
pass := "foo"
- k1, err := ks.GenerateNewKey(pass)
+ k1, err := ks.GenerateNewKey(crand.Reader, pass)
if err != nil {
- t.Error(err)
- t.FailNow()
+ t.Fatal(err)
}
-
k2 := new(Key)
k2, err = ks.GetKey(k1.Id, pass)
if err != nil {
- t.Error(err)
- t.FailNow()
+ t.Fatal(err)
}
-
if !reflect.DeepEqual(k1.Id, k2.Id) {
- fmt.Println("key Id mismatch")
- t.FailNow()
- }
-
- if k1.Flags != k2.Flags {
- fmt.Println("key Flags mismatch")
- t.FailNow()
+ t.Fatal(err)
}
if !reflect.DeepEqual(k1.PrivateKey, k2.PrivateKey) {
- fmt.Println("key PrivateKey mismatch")
- t.FailNow()
+ t.Fatal(err)
}
err = ks.DeleteKey(k2.Id, pass) // also to clean up created files
if err != nil {
- t.Error(err)
- t.FailNow()
+ t.Fatal(err)
}
}
func TestKeyStorePassphraseDecryptionFail(t *testing.T) {
ks := NewKeyStorePassphrase(DefaultDataDir())
pass := "foo"
- k1, err := ks.GenerateNewKey(pass)
+ k1, err := ks.GenerateNewKey(crand.Reader, pass)
if err != nil {
- t.Error(err)
- t.FailNow()
+ t.Fatal(err)
}
_, err = ks.GetKey(k1.Id, "bar") // wrong passphrase
- // t.Error(err)
if err == nil {
- t.FailNow()
+ t.Fatal(err)
}
err = ks.DeleteKey(k1.Id, "bar") // wrong passphrase
if err == nil {
- t.Error(err)
- t.FailNow()
+ t.Fatal(err)
}
err = ks.DeleteKey(k1.Id, pass) // to clean up
if err != nil {
- t.Error(err)
- t.FailNow()
+ t.Fatal(err)
}
}
-
-func TestKeyMixedEntropy(t *testing.T) {
- GetEntropyTinFoilHat()
-}