version: Remove Viper (#6628)

* version: remove viper

* Remove home flag gets

* fix: tests
This commit is contained in:
Alexander Bezobchuk 2020-07-07 13:20:09 -04:00 committed by GitHub
parent 57ffe14631
commit bc261d9e83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 55 additions and 53 deletions

View File

@ -183,7 +183,7 @@ func AddCommands(rootCmd *cobra.Command, appCreator AppCreator, appExport AppExp
tendermintCmd,
ExportCmd(appExport),
flags.LineBreak,
version.Cmd,
version.NewVersionCommand(),
)
}

View File

@ -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)

View File

@ -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
}

View File

@ -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())
}

View File

@ -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 {

View File

@ -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 == "" {

View File

@ -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))