github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/client/keys/import_test.go (about)

     1  package keys
     2  
     3  import (
     4  	"io/ioutil"
     5  	"path/filepath"
     6  	"testing"
     7  
     8  	"github.com/spf13/viper"
     9  	"github.com/stretchr/testify/require"
    10  
    11  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/flags"
    12  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/crypto/keys"
    13  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/tests"
    14  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
    15  )
    16  
    17  func Test_runImportCmd(t *testing.T) {
    18  	runningUnattended := isRunningUnattended()
    19  	importKeyCommand := ImportKeyCommand()
    20  	mockIn, _, _ := tests.ApplyMockIO(importKeyCommand)
    21  
    22  	// Now add a temporary keybase
    23  	kbHome, cleanUp := tests.NewTestCaseDir(t)
    24  	defer cleanUp()
    25  	viper.Set(flags.FlagHome, kbHome)
    26  
    27  	if !runningUnattended {
    28  		kb, err := keys.NewKeyring(sdk.KeyringServiceName(), viper.GetString(flags.FlagKeyringBackend), viper.GetString(flags.FlagHome), mockIn)
    29  		require.NoError(t, err)
    30  		defer func() {
    31  			kb.Delete("keyname1", "", false)
    32  		}()
    33  	}
    34  
    35  	keyfile := filepath.Join(kbHome, "key.asc")
    36  	armoredKey := `-----BEGIN TENDERMINT PRIVATE KEY-----
    37  salt: A790BB721D1C094260EA84F5E5B72289
    38  kdf: bcrypt
    39  
    40  HbP+c6JmeJy9JXe2rbbF1QtCX1gLqGcDQPBXiCtFvP7/8wTZtVOPj8vREzhZ9ElO
    41  3P7YnrzPQThG0Q+ZnRSbl9MAS8uFAM4mqm5r/Ys=
    42  =f3l4
    43  -----END TENDERMINT PRIVATE KEY-----
    44  `
    45  	require.NoError(t, ioutil.WriteFile(keyfile, []byte(armoredKey), 0600))
    46  
    47  	// Now enter password
    48  	if runningUnattended {
    49  		mockIn.Reset("123456789\n12345678\n12345678\n")
    50  	} else {
    51  		mockIn.Reset("123456789\n")
    52  	}
    53  	require.NoError(t, runImportCmd(importKeyCommand, []string{"keyname1", keyfile}))
    54  }