mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-26 19:21:44 +00:00
Test error handling, load without ledger
This commit is contained in:
@ -76,7 +76,7 @@ func NewPrivKeyLedger() (crypto.PrivKey, error) {
|
|||||||
func (pk *PrivKeyLedger) ValidateKey() error {
|
func (pk *PrivKeyLedger) ValidateKey() error {
|
||||||
// getPubKey will return an error if the ledger is not
|
// getPubKey will return an error if the ledger is not
|
||||||
// properly set up...
|
// properly set up...
|
||||||
pub, err := pk.getPubKey()
|
pub, err := pk.forceGetPubKey()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import (
|
|||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
crypto "github.com/tendermint/go-crypto"
|
crypto "github.com/tendermint/go-crypto"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -109,5 +110,33 @@ func TestRealLedger(t *testing.T) {
|
|||||||
bpub, err := crypto.PubKeyFromBytes(bs)
|
bpub, err := crypto.PubKeyFromBytes(bs)
|
||||||
require.NoError(err)
|
require.NoError(err)
|
||||||
assert.Equal(pub, bpub)
|
assert.Equal(pub, bpub)
|
||||||
|
}
|
||||||
|
|
||||||
|
// TestRealLedgerErrorHandling calls. These tests assume
|
||||||
|
// the ledger is not plugged in....
|
||||||
|
func TestRealLedgerErrorHandling(t *testing.T) {
|
||||||
|
require := require.New(t)
|
||||||
|
|
||||||
|
if os.Getenv("WITH_LEDGER") != "" {
|
||||||
|
t.Skip("Skipping on WITH_LEDGER as it tests unplugged cases")
|
||||||
|
}
|
||||||
|
|
||||||
|
// first, try to generate a key, must return an error
|
||||||
|
// (no panic)
|
||||||
|
_, err := NewPrivKeyLedger()
|
||||||
|
require.Error(err)
|
||||||
|
|
||||||
|
led := PrivKeyLedger{} // empty
|
||||||
|
// or with some pub key
|
||||||
|
ed := crypto.GenPrivKeyEd25519()
|
||||||
|
led2 := PrivKeyLedger{CachedPubKey: ed.PubKey()}
|
||||||
|
|
||||||
|
// loading these should return errors
|
||||||
|
bs := led.Bytes()
|
||||||
|
_, err = crypto.PrivKeyFromBytes(bs)
|
||||||
|
require.Error(err)
|
||||||
|
|
||||||
|
bs = led2.Bytes()
|
||||||
|
_, err = crypto.PrivKeyFromBytes(bs)
|
||||||
|
require.Error(err)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user