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,
|
||||
ExportCmd(appExport),
|
||||
flags.LineBreak,
|
||||
version.Cmd,
|
||||
version.NewVersionCommand(),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/tendermint/tendermint/libs/cli"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/client"
|
||||
"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)
|
||||
config := serverCtx.Config
|
||||
|
||||
homeDir, _ := cmd.Flags().GetString(cli.HomeFlag)
|
||||
config.SetRoot(homeDir)
|
||||
config.SetRoot(clientCtx.HomeDir)
|
||||
|
||||
keyringBackend, _ := cmd.Flags().GetString(flags.FlagKeyringBackend)
|
||||
clientHome, _ := cmd.Flags().GetString(flagClientHome)
|
||||
|
|
|
@ -2,49 +2,50 @@ package version
|
|||
|
||||
import (
|
||||
"encoding/json"
|
||||
"strings"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
"github.com/spf13/viper"
|
||||
yaml "gopkg.in/yaml.v2"
|
||||
|
||||
"github.com/tendermint/tendermint/libs/cli"
|
||||
yaml "gopkg.in/yaml.v2"
|
||||
)
|
||||
|
||||
const flagLong = "long"
|
||||
|
||||
func init() {
|
||||
Cmd.Flags().Bool(flagLong, false, "Print long version information")
|
||||
}
|
||||
func NewVersionCommand() *cobra.Command {
|
||||
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.
|
||||
var Cmd = &cobra.Command{
|
||||
Use: "version",
|
||||
Short: "Print the app version",
|
||||
RunE: runVersionCmd,
|
||||
}
|
||||
if long, _ := cmd.Flags().GetBool(flagLong); !long {
|
||||
cmd.Println(verInfo.Version)
|
||||
return nil
|
||||
}
|
||||
|
||||
func runVersionCmd(cmd *cobra.Command, args []string) error {
|
||||
verInfo := NewInfo()
|
||||
var bz []byte
|
||||
var err error
|
||||
|
||||
if !viper.GetBool(flagLong) {
|
||||
cmd.Println(verInfo.Version)
|
||||
return nil
|
||||
output, _ := cmd.Flags().GetString(cli.OutputFlag)
|
||||
switch strings.ToLower(output) {
|
||||
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
|
||||
var err error
|
||||
cmd.Flags().Bool(flagLong, false, "Print long version information")
|
||||
cmd.Flags().StringP(cli.OutputFlag, "o", "text", "Output format (text|json)")
|
||||
|
||||
switch viper.GetString(cli.OutputFlag) {
|
||||
case "json":
|
||||
bz, err = json.Marshal(verInfo)
|
||||
default:
|
||||
bz, err = yaml.Marshal(&verInfo)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
cmd.Println(string(bz))
|
||||
return nil
|
||||
return cmd
|
||||
}
|
||||
|
|
|
@ -6,7 +6,6 @@ import (
|
|||
"runtime"
|
||||
"testing"
|
||||
|
||||
"github.com/spf13/viper"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
"github.com/tendermint/tendermint/libs/cli"
|
||||
|
@ -40,20 +39,26 @@ go version go1.14 linux/amd64`
|
|||
}
|
||||
|
||||
func Test_runVersionCmd(t *testing.T) {
|
||||
require.NotNil(t, Cmd)
|
||||
_, mockOut, _ := tests.ApplyMockIO(Cmd)
|
||||
cmd := NewVersionCommand()
|
||||
_, mockOut, _ := tests.ApplyMockIO(cmd)
|
||||
|
||||
viper.Set(cli.OutputFlag, "")
|
||||
viper.Set(flagLong, false)
|
||||
require.NoError(t, runVersionCmd(Cmd, nil))
|
||||
cmd.SetArgs([]string{
|
||||
fmt.Sprintf("--%s=''", cli.OutputFlag),
|
||||
fmt.Sprintf("--%s=false", flagLong),
|
||||
})
|
||||
|
||||
require.NoError(t, cmd.Execute())
|
||||
assert.Equal(t, "\n", mockOut.String())
|
||||
mockOut.Reset()
|
||||
|
||||
viper.Set(cli.OutputFlag, "json")
|
||||
viper.Set(flagLong, true)
|
||||
cmd.SetArgs([]string{
|
||||
fmt.Sprintf("--%s=json", cli.OutputFlag),
|
||||
fmt.Sprintf("--%s=true", flagLong),
|
||||
})
|
||||
|
||||
info := NewInfo()
|
||||
stringInfo, err := json.Marshal(info)
|
||||
require.NoError(t, err)
|
||||
require.NoError(t, runVersionCmd(Cmd, nil))
|
||||
require.NoError(t, cmd.Execute())
|
||||
assert.Equal(t, string(stringInfo)+"\n", mockOut.String())
|
||||
}
|
||||
|
|
|
@ -29,8 +29,7 @@ func CollectGenTxsCmd(genBalIterator types.GenesisBalancesIterator, defaultNodeH
|
|||
clientCtx := client.GetClientContextFromCmd(cmd)
|
||||
cdc := clientCtx.JSONMarshaler
|
||||
|
||||
home, _ := cmd.Flags().GetString(cli.HomeFlag)
|
||||
config.SetRoot(home)
|
||||
config.SetRoot(clientCtx.HomeDir)
|
||||
|
||||
nodeID, valPubKey, err := genutil.InitializeNodeValidatorFiles(config)
|
||||
if err != nil {
|
||||
|
|
|
@ -72,8 +72,7 @@ func InitCmd(mbm module.BasicManager, defaultNodeHome string) *cobra.Command {
|
|||
serverCtx := server.GetServerContextFromCmd(cmd)
|
||||
config := serverCtx.Config
|
||||
|
||||
home, _ := cmd.Flags().GetString(cli.HomeFlag)
|
||||
config.SetRoot(home)
|
||||
config.SetRoot(clientCtx.HomeDir)
|
||||
|
||||
chainID, _ := cmd.Flags().GetString(flags.FlagChainID)
|
||||
if chainID == "" {
|
||||
|
|
|
@ -52,7 +52,7 @@ func TestInitCmd(t *testing.T) {
|
|||
require.NoError(t, err)
|
||||
|
||||
serverCtx := server.NewContext(viper.New(), cfg, logger)
|
||||
clientCtx := client.Context{}.WithJSONMarshaler(makeCodec())
|
||||
clientCtx := client.Context{}.WithJSONMarshaler(makeCodec()).WithHomeDir(home)
|
||||
|
||||
ctx := context.Background()
|
||||
ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx)
|
||||
|
@ -81,7 +81,7 @@ func TestEmptyState(t *testing.T) {
|
|||
require.NoError(t, err)
|
||||
|
||||
serverCtx := server.NewContext(viper.New(), cfg, logger)
|
||||
clientCtx := client.Context{}.WithJSONMarshaler(makeCodec())
|
||||
clientCtx := client.Context{}.WithJSONMarshaler(makeCodec()).WithHomeDir(home)
|
||||
|
||||
ctx := context.Background()
|
||||
ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx)
|
||||
|
@ -128,14 +128,14 @@ func TestStartStandAlone(t *testing.T) {
|
|||
require.NoError(t, err)
|
||||
|
||||
serverCtx := server.NewContext(viper.New(), cfg, logger)
|
||||
clientCtx := client.Context{}.WithJSONMarshaler(makeCodec())
|
||||
clientCtx := client.Context{}.WithJSONMarshaler(makeCodec()).WithHomeDir(home)
|
||||
|
||||
ctx := context.Background()
|
||||
ctx = context.WithValue(ctx, client.ClientContextKey, &clientCtx)
|
||||
ctx = context.WithValue(ctx, server.ServerContextKey, serverCtx)
|
||||
|
||||
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))
|
||||
|
||||
|
|
Loading…
Reference in New Issue