7 "github.com/stretchr/testify/assert"
8 "github.com/stretchr/testify/require"
10 wire "github.com/tendermint/go-wire"
17 // Wrap fulfils interface for PrivKey struct
18 func (pk BadKey) Wrap() PrivKey {
22 func (pk BadKey) Bytes() []byte {
23 return wire.BinaryBytes(pk.Wrap())
26 func (pk BadKey) ValidateKey() error {
27 return fmt.Errorf("fuggly key")
32 RegisterImplementation(BadKey{}, "bad", 0x66)
35 func TestReadPrivKey(t *testing.T) {
36 assert, require := assert.New(t), require.New(t)
38 // garbage in, garbage out
39 garbage := []byte("hjgewugfbiewgofwgewr")
40 _, err := PrivKeyFromBytes(garbage)
43 edKey := GenPrivKeyEd25519()
44 badKey := BadKey{edKey}
51 {badKey.Wrap(), false},
54 for i, tc := range cases {
55 data := tc.key.Bytes()
56 key, err := PrivKeyFromBytes(data)
58 assert.NoError(err, "%d", i)
59 assert.Equal(tc.key, key, "%d", i)
61 assert.Error(err, "%d: %#v", i, key)