package crypto_test import ( "testing" "github.com/stretchr/testify/assert" crypto "github.com/tendermint/go-crypto" ) func TestGeneratePrivKey(t *testing.T) { testPriv := crypto.GenPrivKeyEd25519() testGenerate := testPriv.Generate(1) signBytes := []byte("something to sign") pub, err := testGenerate.PubKey() assert.NoError(t, err) sig, err := testGenerate.Sign(signBytes) assert.NoError(t, err) assert.True(t, pub.VerifyBytes(signBytes, sig)) } /* type BadKey struct { PrivKeyEd25519 } func TestReadPrivKey(t *testing.T) { assert, require := assert.New(t), require.New(t) // garbage in, garbage out garbage := []byte("hjgewugfbiewgofwgewr") XXX This test wants to register BadKey globally to go-crypto, but we don't want to support that. _, err := PrivKeyFromBytes(garbage) require.Error(err) edKey := GenPrivKeyEd25519() badKey := BadKey{edKey} cases := []struct { key PrivKey valid bool }{ {edKey, true}, {badKey, false}, } for i, tc := range cases { data := tc.key.Bytes() fmt.Println(">>>", data) key, err := PrivKeyFromBytes(data) fmt.Printf("!!! %#v\n", key, err) if tc.valid { assert.NoError(err, "%d", i) assert.Equal(tc.key, key, "%d", i) } else { assert.Error(err, "%d: %#v", i, key) } } } */