version: Remove Viper (#6628)
* version: remove viper * Remove home flag gets * fix: tests
This commit is contained in:
parent
57ffe14631
commit
bc261d9e83
|
@ -183,7 +183,7 @@ func AddCommands(rootCmd *cobra.Command, appCreator AppCreator, appExport AppExp
|
||||||
tendermintCmd,
|
tendermintCmd,
|
||||||
ExportCmd(appExport),
|
ExportCmd(appExport),
|
||||||
flags.LineBreak,
|
flags.LineBreak,
|
||||||
version.Cmd,
|
version.NewVersionCommand(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,6 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/tendermint/tendermint/libs/cli"
|
|
||||||
|
|
||||||
"github.com/cosmos/cosmos-sdk/client"
|
"github.com/cosmos/cosmos-sdk/client"
|
||||||
"github.com/cosmos/cosmos-sdk/client/flags"
|
"github.com/cosmos/cosmos-sdk/client/flags"
|
||||||
|
@ -47,8 +46,7 @@ contain valid denominations. Accounts may optionally be supplied with vesting pa
|
||||||
serverCtx := server.GetServerContextFromCmd(cmd)
|
serverCtx := server.GetServerContextFromCmd(cmd)
|
||||||
config := serverCtx.Config
|
config := serverCtx.Config
|
||||||
|
|
||||||
homeDir, _ := cmd.Flags().GetString(cli.HomeFlag)
|
config.SetRoot(clientCtx.HomeDir)
|
||||||
config.SetRoot(homeDir)
|
|
||||||
|
|
||||||
keyringBackend, _ := cmd.Flags().GetString(flags.FlagKeyringBackend)
|
keyringBackend, _ := cmd.Flags().GetString(flags.FlagKeyringBackend)
|
||||||
clientHome, _ := cmd.Flags().GetString(flagClientHome)
|
clientHome, _ := cmd.Flags().GetString(flagClientHome)
|
||||||
|
|
|
@ -2,49 +2,50 @@ package version
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/spf13/viper"
|
|
||||||
yaml "gopkg.in/yaml.v2"
|
|
||||||
|
|
||||||
"github.com/tendermint/tendermint/libs/cli"
|
"github.com/tendermint/tendermint/libs/cli"
|
||||||
|
yaml "gopkg.in/yaml.v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
const flagLong = "long"
|
const flagLong = "long"
|
||||||
|
|
||||||
func init() {
|
func NewVersionCommand() *cobra.Command {
|
||||||
Cmd.Flags().Bool(flagLong, false, "Print long version information")
|
cmd := &cobra.Command{
|
||||||
}
|
Use: "version",
|
||||||
|
Short: "Print the application binary version information",
|
||||||
|
RunE: func(cmd *cobra.Command, _ []string) error {
|
||||||
|
verInfo := NewInfo()
|
||||||
|
|
||||||
// Cmd prints out the application's version information passed via build flags.
|
if long, _ := cmd.Flags().GetBool(flagLong); !long {
|
||||||
var Cmd = &cobra.Command{
|
cmd.Println(verInfo.Version)
|
||||||
Use: "version",
|
return nil
|
||||||
Short: "Print the app version",
|
}
|
||||||
RunE: runVersionCmd,
|
|
||||||
}
|
|
||||||
|
|
||||||
func runVersionCmd(cmd *cobra.Command, args []string) error {
|
var bz []byte
|
||||||
verInfo := NewInfo()
|
var err error
|
||||||
|
|
||||||
if !viper.GetBool(flagLong) {
|
output, _ := cmd.Flags().GetString(cli.OutputFlag)
|
||||||
cmd.Println(verInfo.Version)
|
switch strings.ToLower(output) {
|
||||||
return nil
|
case "json":
|
||||||
|
bz, err = json.Marshal(verInfo)
|
||||||
|
|
||||||
|
default:
|
||||||
|
bz, err = yaml.Marshal(&verInfo)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd.Println(string(bz))
|
||||||
|
return nil
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
var bz []byte
|
cmd.Flags().Bool(flagLong, false, "Print long version information")
|
||||||
var err error
|
cmd.Flags().StringP(cli.OutputFlag, "o", "text", "Output format (text|json)")
|
||||||
|
|
||||||
switch viper.GetString(cli.OutputFlag) {
|
return cmd
|
||||||
case "json":
|
|
||||||
bz, err = json.Marshal(verInfo)
|
|
||||||
default:
|
|
||||||
bz, err = yaml.Marshal(&verInfo)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
cmd.Println(string(bz))
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,6 @@ import (
|
||||||
"runtime"
|
"runtime"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/spf13/viper"
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"github.com/tendermint/tendermint/libs/cli"
|
"github.com/tendermint/tendermint/libs/cli"
|
||||||
|
@ -40,20 +39,26 @@ go version go1.14 linux/amd64`
|
||||||
}
|
}
|
||||||
|
|
||||||
func Test_runVersionCmd(t *testing.T) {
|
func Test_runVersionCmd(t *testing.T) {
|
||||||
require.NotNil(t, Cmd)
|
cmd := NewVersionCommand()
|
||||||
_, mockOut, _ := tests.ApplyMockIO(Cmd)
|
_, mockOut, _ := tests.ApplyMockIO(cmd)
|
||||||
|
|
||||||
viper.Set(cli.OutputFlag, "")
|
cmd.SetArgs([]string{
|
||||||
viper.Set(flagLong, false)
|
fmt.Sprintf("--%s=''", cli.OutputFlag),
|
||||||
require.NoError(t, runVersionCmd(Cmd, nil))
|
fmt.Sprintf("--%s=false", flagLong),
|
||||||
|
})
|
||||||
|
|
||||||
|
require.NoError(t, cmd.Execute())
|
||||||
assert.Equal(t, "\n", mockOut.String())
|
assert.Equal(t, "\n", mockOut.String())
|
||||||
mockOut.Reset()
|
mockOut.Reset()
|
||||||
|
|
||||||
viper.Set(cli.OutputFlag, "json")
|
cmd.SetArgs([]string{
|
||||||
viper.Set(flagLong, true)
|
fmt.Sprintf("--%s=json", cli.OutputFlag),
|
||||||
|
fmt.Sprintf("--%s=true", flagLong),
|
||||||
|
})
|
||||||
|
|
||||||
info := NewInfo()
|
info := NewInfo()
|
||||||
stringInfo, err := json.Marshal(info)
|
stringInfo, err := json.Marshal(info)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NoError(t, runVersionCmd(Cmd, nil))
|
require.NoError(t, cmd.Execute())
|
||||||
assert.Equal(t, string(stringInfo)+"\n", mockOut.String())
|
assert.Equal(t, string(stringInfo)+"\n", mockOut.String())
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,8 +29,7 @@ func CollectGenTxsCmd(genBalIterator types.GenesisBalancesIterator, defaultNodeH
|
||||||
clientCtx := client.GetClientContextFromCmd(cmd)
|
clientCtx := client.GetClientContextFromCmd(cmd)
|
||||||
cdc := clientCtx.JSONMarshaler
|
cdc := clientCtx.JSONMarshaler
|
||||||
|
|
||||||
home, _ := cmd.Flags().GetString(cli.HomeFlag)
|
config.SetRoot(clientCtx.HomeDir)
|
||||||
config.SetRoot(home)
|
|
||||||
|
|
||||||
nodeID, valPubKey, err := genutil.InitializeNodeValidatorFiles(config)
|
nodeID, valPubKey, err := genutil.InitializeNodeValidatorFiles(config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -72,8 +72,7 @@ func InitCmd(mbm module.BasicManager, defaultNodeHome string) *cobra.Command {
|
||||||
serverCtx := server.GetServerContextFromCmd(cmd)
|
serverCtx := server.GetServerContextFromCmd(cmd)
|
||||||
config := serverCtx.Config
|
config := serverCtx.Config
|
||||||
|
|
||||||
home, _ := cmd.Flags().GetString(cli.HomeFlag)
|
config.SetRoot(clientCtx.HomeDir)
|
||||||
config.SetRoot(home)
|
|
||||||
|
|
||||||
chainID, _ := cmd.Flags().GetString(flags.FlagChainID)
|
chainID, _ := cmd.Flags().GetString(flags.FlagChainID)
|
||||||
if chainID == "" {
|
if chainID == "" {
|
||||||
|
|
|
@ -52,7 +52,7 @@ func TestInitCmd(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
serverCtx := server.NewContext(viper.New(), cfg, logger)
|
serverCtx := server.NewContext(viper.New(), cfg, logger)
|
||||||
clientCtx := client.Context{}.WithJSONMarshaler(makeCodec())
|
clientCtx := client.Context{}.WithJSONMarshaler(makeCodec()).WithHomeDir(home)
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx)
|
ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx)
|
||||||
|
@ -81,7 +81,7 @@ func TestEmptyState(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
serverCtx := server.NewContext(viper.New(), cfg, logger)
|
serverCtx := server.NewContext(viper.New(), cfg, logger)
|
||||||
clientCtx := client.Context{}.WithJSONMarshaler(makeCodec())
|
clientCtx := client.Context{}.WithJSONMarshaler(makeCodec()).WithHomeDir(home)
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx)
|
ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx)
|
||||||
|
@ -128,14 +128,14 @@ func TestStartStandAlone(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
serverCtx := server.NewContext(viper.New(), cfg, logger)
|
serverCtx := server.NewContext(viper.New(), cfg, logger)
|
||||||
clientCtx := client.Context{}.WithJSONMarshaler(makeCodec())
|
clientCtx := client.Context{}.WithJSONMarshaler(makeCodec()).WithHomeDir(home)
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx)
|
ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx)
|
||||||
ctx = context.WithValue(ctx, server.ServerContextKey, serverCtx)
|
ctx = context.WithValue(ctx, server.ServerContextKey, serverCtx)
|
||||||
|
|
||||||
cmd := InitCmd(testMbm, home)
|
cmd := InitCmd(testMbm, home)
|
||||||
cmd.SetArgs([]string{"appnode-test", fmt.Sprintf("--%s=%s", cli.HomeFlag, home)})
|
cmd.SetArgs([]string{"appnode-test"})
|
||||||
|
|
||||||
require.NoError(t, cmd.ExecuteContext(ctx))
|
require.NoError(t, cmd.ExecuteContext(ctx))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue