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  }