github.com/iotexproject/iotex-core@v1.14.1-rc1/ioctl/newcmd/config/config_get_test.go (about) 1 package config 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/golang/mock/gomock" 8 "github.com/stretchr/testify/require" 9 10 "github.com/iotexproject/iotex-core/ioctl/config" 11 "github.com/iotexproject/iotex-core/ioctl/util" 12 "github.com/iotexproject/iotex-core/test/mock/mock_ioctlclient" 13 ) 14 15 func TestNewConfigGetCmd(t *testing.T) { 16 require := require.New(t) 17 ctrl := gomock.NewController(t) 18 defer ctrl.Finish() 19 client := mock_ioctlclient.NewMockClient(ctrl) 20 client.EXPECT().Config().Return(config.Config{Endpoint: "test"}).AnyTimes() 21 client.EXPECT().SelectTranslation(gomock.Any()).Return("config reset", config.English).AnyTimes() 22 23 t.Run("get config value", func(t *testing.T) { 24 client.EXPECT().ConfigFilePath().Return(fmt.Sprintf("%s/%s", t.TempDir(), "config.file")) 25 cmd := NewConfigGetCmd(client) 26 result, err := util.ExecuteCmd(cmd, "endpoint") 27 require.NoError(err) 28 require.Contains(result, "test") 29 }) 30 31 t.Run("get unknown config value", func(t *testing.T) { 32 cmd := NewConfigGetCmd(client) 33 _, err := util.ExecuteCmd(cmd, "random-args") 34 require.Contains(err.Error(), "invalid argument \"random-args\"") 35 }) 36 37 t.Run("config value error", func(t *testing.T) { 38 client.EXPECT().ConfigFilePath().Return(fmt.Sprintf("%s/%s", t.TempDir(), "config.file")) 39 cmd := NewConfigGetCmd(client) 40 _, err := util.ExecuteCmd(cmd, "defaultacc") 41 require.Contains(err.Error(), "issue fetching config value defaultacc: default account not set") 42 }) 43 }