github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/client/keys/list_test.go (about) 1 package keys 2 3 import ( 4 "testing" 5 6 "github.com/spf13/cobra" 7 "github.com/spf13/viper" 8 "github.com/stretchr/testify/require" 9 10 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/flags" 11 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/crypto/keys" 12 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/tests" 13 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 14 ) 15 16 func Test_runListCmd(t *testing.T) { 17 runningUnattended := isRunningUnattended() 18 type args struct { 19 cmd *cobra.Command 20 args []string 21 } 22 23 cmdBasic := ListKeysCmd() 24 25 // Prepare some keybases 26 kbHome1, cleanUp1 := tests.NewTestCaseDir(t) 27 defer cleanUp1() 28 // Do nothing, leave home1 empty 29 30 kbHome2, cleanUp2 := tests.NewTestCaseDir(t) 31 defer cleanUp2() 32 viper.Set(flags.FlagHome, kbHome2) 33 34 mockIn, _, _ := tests.ApplyMockIO(cmdBasic) 35 kb, err := keys.NewKeyring(sdk.KeyringServiceName(), viper.GetString(flags.FlagKeyringBackend), viper.GetString(flags.FlagHome), mockIn) 36 require.NoError(t, err) 37 if runningUnattended { 38 mockIn.Reset("testpass1\ntestpass1\n") 39 } 40 41 _, err = kb.CreateAccount("something", tests.TestMnemonic, "", "", "", keys.Secp256k1) 42 require.NoError(t, err) 43 44 defer func() { 45 kb.Delete("something", "", false) 46 }() 47 testData := []struct { 48 name string 49 kbDir string 50 args args 51 wantErr bool 52 }{ 53 {"keybase: empty", kbHome1, args{cmdBasic, []string{}}, false}, 54 {"keybase: w/key", kbHome2, args{cmdBasic, []string{}}, false}, 55 } 56 for _, tt := range testData { 57 tt := tt 58 t.Run(tt.name, func(t *testing.T) { 59 if runningUnattended { 60 mockIn.Reset("testpass1\ntestpass1\n") 61 } 62 viper.Set(flagListNames, false) 63 viper.Set(flags.FlagHome, tt.kbDir) 64 if err := runListCmd(tt.args.cmd, tt.args.args); (err != nil) != tt.wantErr { 65 t.Errorf("runListCmd() error = %v, wantErr %v", err, tt.wantErr) 66 } 67 68 if runningUnattended { 69 mockIn.Reset("testpass1\ntestpass1\n") 70 } 71 viper.Set(flagListNames, true) 72 if err := runListCmd(tt.args.cmd, tt.args.args); (err != nil) != tt.wantErr { 73 t.Errorf("runListCmd() error = %v, wantErr %v", err, tt.wantErr) 74 } 75 }) 76 } 77 }