68 lines
1.5 KiB
Go
68 lines
1.5 KiB
Go
package cmd_test
|
|
|
|
import (
|
|
"bytes"
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"cosmossdk.io/core/transaction"
|
|
"cosmossdk.io/simapp/v2/simdv2/cmd"
|
|
|
|
"github.com/cosmos/cosmos-sdk/client/flags"
|
|
"github.com/cosmos/cosmos-sdk/x/genutil/client/cli"
|
|
)
|
|
|
|
func TestInitCmd(t *testing.T) {
|
|
args := []string{
|
|
"init", // Test the init cmd
|
|
"simapp-test", // Moniker
|
|
fmt.Sprintf("--%s=%s", cli.FlagOverwrite, "true"), // Overwrite genesis.json, in case it already exists
|
|
}
|
|
rootCmd, err := cmd.NewRootCmd[transaction.Tx](args...)
|
|
require.NoError(t, err)
|
|
rootCmd.SetArgs(args)
|
|
require.NoError(t, rootCmd.Execute())
|
|
}
|
|
|
|
func TestHomeFlagRegistration(t *testing.T) {
|
|
homeDir := "/tmp/foo"
|
|
args := []string{
|
|
"query",
|
|
fmt.Sprintf("--%s", flags.FlagHome),
|
|
homeDir,
|
|
}
|
|
|
|
rootCmd, err := cmd.NewRootCmd[transaction.Tx](args...)
|
|
require.NoError(t, err)
|
|
rootCmd.SetArgs(args)
|
|
require.NoError(t, rootCmd.Execute())
|
|
|
|
result, err := rootCmd.Flags().GetString(flags.FlagHome)
|
|
require.NoError(t, err)
|
|
require.Equal(t, result, homeDir)
|
|
}
|
|
|
|
func TestHelpRequested(t *testing.T) {
|
|
argz := [][]string{
|
|
{"query", "--help"},
|
|
{"query", "tx", "-h"},
|
|
{"--help"},
|
|
{"start", "-h"},
|
|
}
|
|
|
|
for _, args := range argz {
|
|
rootCmd, err := cmd.NewRootCmd[transaction.Tx](args...)
|
|
require.NoError(t, err)
|
|
|
|
var out bytes.Buffer
|
|
rootCmd.SetArgs(args)
|
|
rootCmd.SetOut(&out)
|
|
require.NoError(t, rootCmd.Execute())
|
|
require.Contains(t, out.String(), args[0])
|
|
require.Contains(t, out.String(), "--help")
|
|
require.Contains(t, out.String(), "Usage:")
|
|
}
|
|
}
|