github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/tm2/pkg/crypto/keys/keybase_ledger_test.go (about) 1 //go:build ledger_suite 2 // +build ledger_suite 3 4 package keys 5 6 import ( 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 ) 12 13 func TestCreateLedgerUnsupportedAlgo(t *testing.T) { 14 t.Parallel() 15 16 kb := NewInMemory() 17 _, err := kb.CreateLedger("some_account", Ed25519, "cosmos", 0, 1) 18 assert.Error(t, err) 19 assert.Equal(t, "unsupported signing algo: only secp256k1 is supported", err.Error()) 20 } 21 22 func TestCreateLedger(t *testing.T) { 23 t.Parallel() 24 25 kb := NewInMemory() 26 27 // test_cover and test_unit will result in different answers 28 // test_cover does not compile some dependencies so ledger is disabled 29 // test_unit may add a ledger mock 30 // both cases are acceptable 31 _, err := kb.CreateLedger("some_account", Secp256k1, "cosmos", 3, 1) 32 require.NoError(t, err) 33 34 // Check that restoring the key gets the same results 35 restoredKey, err := kb.GetByName("some_account") 36 assert.NotNil(t, restoredKey) 37 assert.Equal(t, "some_account", restoredKey.GetName()) 38 assert.Equal(t, TypeLedger, restoredKey.GetType()) 39 40 path, err := restoredKey.GetPath() 41 assert.NoError(t, err) 42 assert.Equal(t, "44'/118'/3'/0/1", path.String()) 43 }