github.com/Finschia/finschia-sdk@v0.48.1/client/keys/utils_test.go (about) 1 package keys 2 3 import ( 4 "bytes" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/Finschia/finschia-sdk/client" 10 "github.com/Finschia/finschia-sdk/crypto/hd" 11 "github.com/Finschia/finschia-sdk/crypto/keyring" 12 "github.com/Finschia/finschia-sdk/testutil" 13 "github.com/Finschia/finschia-sdk/testutil/testdata" 14 "github.com/Finschia/finschia-sdk/types" 15 ) 16 17 func Test_printInfos(t *testing.T) { 18 cmd := ListKeysCmd() 19 cmd.Flags().AddFlagSet(Commands("home").PersistentFlags()) 20 21 kbHome := t.TempDir() 22 23 mockIn := testutil.ApplyMockIODiscardOutErr(cmd) 24 kb, err := keyring.New(types.KeyringServiceName(), keyring.BackendTest, kbHome, mockIn) 25 require.NoError(t, err) 26 27 kb.NewAccount("something", testdata.TestMnemonic, "", "", hd.Secp256k1) 28 29 clientCtx := client.Context{}.WithKeyring(kb) 30 require.NoError(t, err) 31 32 infos, err := clientCtx.Keyring.List() 33 require.NoError(t, err) 34 buf := bytes.NewBufferString("") 35 printInfos(buf, infos, OutputFormatJSON) 36 require.Equal(t, buf.String(), "[{\"name\":\"something\",\"type\":\"local\",\"address\":\"link1jyyxx9phqw6tarnxanhyx7ecr992d6yrztj4d0\",\"pubkey\":\"{\\\"@type\\\":\\\"/cosmos.crypto.secp256k1.PubKey\\\",\\\"key\\\":\\\"Ag4G9vyaFv5/rR0RVmrXpo1XG93joUGk3JkH0MwT9ZNi\\\"}\"}]") 37 }