github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/server/init_test.go (about) 1 package server_test 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 8 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/keys" 9 crkeys "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/crypto/keys" 10 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/server" 11 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/tests" 12 ) 13 14 func TestGenerateCoinKey(t *testing.T) { 15 t.Parallel() 16 addr, mnemonic, err := server.GenerateCoinKey() 17 require.NoError(t, err) 18 19 // Test creation 20 info, err := keys.NewInMemoryKeyBase().CreateAccount("xxx", mnemonic, "", "012345678", crkeys.CreateHDPath(0, 0).String(), crkeys.Secp256k1) 21 require.NoError(t, err) 22 require.Equal(t, addr, info.GetAddress()) 23 } 24 25 func TestGenerateSaveCoinKey(t *testing.T) { 26 t.Parallel() 27 dir, cleanup := tests.NewTestCaseDir(t) 28 defer cleanup() // clean after itself 29 30 kb, err := crkeys.NewKeyring(t.Name(), "test", dir, nil) 31 require.NoError(t, err) 32 33 addr, mnemonic, err := server.GenerateSaveCoinKey(kb, "keyname", "012345678", false, "") 34 require.NoError(t, err) 35 36 // Test key was actually saved 37 info, err := kb.Get("keyname") 38 require.NoError(t, err) 39 require.Equal(t, addr, info.GetAddress()) 40 41 // Test in-memory recovery 42 info, err = keys.NewInMemoryKeyBase().CreateAccount("xxx", mnemonic, "", "012345678", crkeys.CreateHDPath(0, 0).String(), crkeys.Secp256k1) 43 require.NoError(t, err) 44 require.Equal(t, addr, info.GetAddress()) 45 } 46 47 func TestGenerateSaveCoinKeyOverwriteFlag(t *testing.T) { 48 t.Parallel() 49 dir, cleanup := tests.NewTestCaseDir(t) 50 defer cleanup() // clean after itself 51 52 kb, err := crkeys.NewKeyring(t.Name(), "test", dir, nil) 53 require.NoError(t, err) 54 55 keyname := "justakey" 56 addr1, _, err := server.GenerateSaveCoinKey(kb, keyname, "012345678", false, "") 57 require.NoError(t, err) 58 59 // Test overwrite with overwrite=false 60 _, _, err = server.GenerateSaveCoinKey(kb, keyname, "012345678", false, "") 61 require.Error(t, err) 62 63 // Test overwrite with overwrite=true 64 addr2, _, err := server.GenerateSaveCoinKey(kb, keyname, "012345678", true, "") 65 require.NoError(t, err) 66 67 require.NotEqual(t, addr1, addr2) 68 }