github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/tm2/pkg/crypto/keys/client/list_test.go (about) 1 package client 2 3 import ( 4 "testing" 5 6 "github.com/gnolang/gno/tm2/pkg/commands" 7 "github.com/gnolang/gno/tm2/pkg/crypto/keys" 8 "github.com/gnolang/gno/tm2/pkg/testutils" 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func Test_execList(t *testing.T) { 13 // Prepare some keybases 14 kbHome1, cleanUp1 := testutils.NewTestCaseDir(t) 15 kbHome2, cleanUp2 := testutils.NewTestCaseDir(t) 16 defer cleanUp1() 17 defer cleanUp2() 18 // leave home1 and home2 empty 19 20 // initialize test keybase. 21 kb, err := keys.NewKeyBaseFromDir(kbHome2) 22 assert.NoError(t, err) 23 _, err = kb.CreateAccount("something", testMnemonic, "", "", 0, 0) 24 assert.NoError(t, err) 25 26 testData := []struct { 27 name string 28 kbDir string 29 args []string 30 wantErr bool 31 }{ 32 {"invalid keybase", "/dev/null", []string{}, true}, 33 {"keybase: empty", kbHome1, []string{}, false}, 34 {"keybase: w/key", kbHome2, []string{}, false}, 35 } 36 for _, tt := range testData { 37 t.Run(tt.name, func(t *testing.T) { 38 // Set current home 39 cfg := &BaseCfg{ 40 BaseOptions: BaseOptions{ 41 Home: tt.kbDir, 42 }, 43 } 44 45 args := tt.args 46 if err := execList(cfg, args, commands.NewTestIO()); (err != nil) != tt.wantErr { 47 t.Errorf("listApp() error = %v, wantErr %v", err, tt.wantErr) 48 } 49 }) 50 } 51 }