fix comments and cmd description
This commit is contained in:
parent
666fafb97a
commit
cd812c788f
|
@ -30,17 +30,9 @@ func SearchTxCmd(cdc *codec.Codec) *cobra.Command {
|
||||||
Use: "txs",
|
Use: "txs",
|
||||||
Short: "Search for all transactions that match the given tags.",
|
Short: "Search for all transactions that match the given tags.",
|
||||||
Long: strings.TrimSpace(`
|
Long: strings.TrimSpace(`
|
||||||
Search for transactions that match the given tags. By default, transactions must match ALL tags
|
Search for transactions that match the given tags. For example:
|
||||||
passed to the --tag option. To match any transaction, use the --any option.
|
|
||||||
|
|
||||||
For example:
|
|
||||||
|
|
||||||
$ gaiacli query txs --tags <tag1>:<value1>&<tag2>:<value2>
|
$ gaiacli query txs --tags <tag1>:<value1>&<tag2>:<value2>
|
||||||
|
|
||||||
will match any transaction tagged with both <key1>=<value1> and <key2>=<value2>.
|
|
||||||
To match a transaction tagged with either value1 or value2, use:
|
|
||||||
|
|
||||||
$ gaiacli query txs --tags <tag1>:<value1>&<tag2>:<value2> --any
|
|
||||||
`),
|
`),
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
tagsStr := viper.GetString(flagTags)
|
tagsStr := viper.GetString(flagTags)
|
||||||
|
@ -98,7 +90,6 @@ $ gaiacli query txs --tags <tag1>:<value1>&<tag2>:<value2> --any
|
||||||
cmd.Flags().Bool(client.FlagTrustNode, false, "Trust connected full node (don't verify proofs for responses)")
|
cmd.Flags().Bool(client.FlagTrustNode, false, "Trust connected full node (don't verify proofs for responses)")
|
||||||
viper.BindPFlag(client.FlagTrustNode, cmd.Flags().Lookup(client.FlagTrustNode))
|
viper.BindPFlag(client.FlagTrustNode, cmd.Flags().Lookup(client.FlagTrustNode))
|
||||||
cmd.Flags().String(flagTags, "", "tag:value list of tags that must match")
|
cmd.Flags().String(flagTags, "", "tag:value list of tags that must match")
|
||||||
cmd.Flags().Bool(flagAny, false, "Return transactions that match ANY tag, rather than ALL")
|
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
@ -18,6 +19,7 @@ import (
|
||||||
"github.com/tendermint/tendermint/crypto"
|
"github.com/tendermint/tendermint/crypto"
|
||||||
cmn "github.com/tendermint/tendermint/libs/common"
|
cmn "github.com/tendermint/tendermint/libs/common"
|
||||||
|
|
||||||
|
"github.com/cosmos/cosmos-sdk/client"
|
||||||
"github.com/cosmos/cosmos-sdk/client/keys"
|
"github.com/cosmos/cosmos-sdk/client/keys"
|
||||||
"github.com/cosmos/cosmos-sdk/client/tx"
|
"github.com/cosmos/cosmos-sdk/client/tx"
|
||||||
"github.com/cosmos/cosmos-sdk/cmd/gaia/app"
|
"github.com/cosmos/cosmos-sdk/cmd/gaia/app"
|
||||||
|
@ -455,146 +457,146 @@ func TestGaiaCLISubmitProposal(t *testing.T) {
|
||||||
require.Equal(t, " 2 - Apples", proposalsQuery)
|
require.Equal(t, " 2 - Apples", proposalsQuery)
|
||||||
}
|
}
|
||||||
|
|
||||||
// func TestGaiaCLISendGenerateSignAndBroadcast(t *testing.T) {
|
func TestGaiaCLISendGenerateSignAndBroadcast(t *testing.T) {
|
||||||
// chainID, servAddr, port := initializeFixtures(t)
|
chainID, servAddr, port := initializeFixtures(t)
|
||||||
// flags := fmt.Sprintf("--home=%s --node=%v --chain-id=%v", gaiacliHome, servAddr, chainID)
|
flags := fmt.Sprintf("--home=%s --node=%v --chain-id=%v", gaiacliHome, servAddr, chainID)
|
||||||
//
|
|
||||||
// // start gaiad server
|
// start gaiad server
|
||||||
// proc := tests.GoExecuteTWithStdout(t, fmt.Sprintf(
|
proc := tests.GoExecuteTWithStdout(t, fmt.Sprintf(
|
||||||
// "gaiad start --home=%s --rpc.laddr=%v", gaiadHome, servAddr))
|
"gaiad start --home=%s --rpc.laddr=%v", gaiadHome, servAddr))
|
||||||
//
|
|
||||||
// defer proc.Stop(false)
|
defer proc.Stop(false)
|
||||||
// tests.WaitForTMStart(port)
|
tests.WaitForTMStart(port)
|
||||||
// tests.WaitForNextNBlocksTM(2, port)
|
tests.WaitForNextNBlocksTM(2, port)
|
||||||
//
|
|
||||||
// fooAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show foo --output=json --home=%s", gaiacliHome))
|
fooAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show foo --output=json --home=%s", gaiacliHome))
|
||||||
// barAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show bar --output=json --home=%s", gaiacliHome))
|
barAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show bar --output=json --home=%s", gaiacliHome))
|
||||||
//
|
|
||||||
// // Test generate sendTx with default gas
|
// Test generate sendTx with default gas
|
||||||
// success, stdout, stderr := executeWriteRetStdStreams(t, fmt.Sprintf(
|
success, stdout, stderr := executeWriteRetStdStreams(t, fmt.Sprintf(
|
||||||
// "gaiacli tx send %v --amount=10%s --to=%s --from=foo --generate-only",
|
"gaiacli tx send %v --amount=10%s --to=%s --from=foo --generate-only",
|
||||||
// flags, stakeTypes.DefaultBondDenom, barAddr), []string{}...)
|
flags, stakeTypes.DefaultBondDenom, barAddr), []string{}...)
|
||||||
// require.True(t, success)
|
require.True(t, success)
|
||||||
// require.Empty(t, stderr)
|
require.Empty(t, stderr)
|
||||||
// msg := unmarshalStdTx(t, stdout)
|
msg := unmarshalStdTx(t, stdout)
|
||||||
// require.Equal(t, msg.Fee.Gas, uint64(client.DefaultGasLimit))
|
require.Equal(t, msg.Fee.Gas, uint64(client.DefaultGasLimit))
|
||||||
// require.Equal(t, len(msg.Msgs), 1)
|
require.Equal(t, len(msg.Msgs), 1)
|
||||||
// require.Equal(t, 0, len(msg.GetSignatures()))
|
require.Equal(t, 0, len(msg.GetSignatures()))
|
||||||
//
|
|
||||||
// // Test generate sendTx with --gas=$amount
|
// Test generate sendTx with --gas=$amount
|
||||||
// success, stdout, stderr = executeWriteRetStdStreams(t, fmt.Sprintf(
|
success, stdout, stderr = executeWriteRetStdStreams(t, fmt.Sprintf(
|
||||||
// "gaiacli tx send %v --amount=10%s --to=%s --from=foo --gas=100 --generate-only",
|
"gaiacli tx send %v --amount=10%s --to=%s --from=foo --gas=100 --generate-only",
|
||||||
// flags, stakeTypes.DefaultBondDenom, barAddr), []string{}...)
|
flags, stakeTypes.DefaultBondDenom, barAddr), []string{}...)
|
||||||
// require.True(t, success)
|
require.True(t, success)
|
||||||
// require.Empty(t, stderr)
|
require.Empty(t, stderr)
|
||||||
// msg = unmarshalStdTx(t, stdout)
|
msg = unmarshalStdTx(t, stdout)
|
||||||
// require.Equal(t, msg.Fee.Gas, uint64(100))
|
require.Equal(t, msg.Fee.Gas, uint64(100))
|
||||||
// require.Equal(t, len(msg.Msgs), 1)
|
require.Equal(t, len(msg.Msgs), 1)
|
||||||
// require.Equal(t, 0, len(msg.GetSignatures()))
|
require.Equal(t, 0, len(msg.GetSignatures()))
|
||||||
//
|
|
||||||
// // Test generate sendTx, estimate gas
|
// Test generate sendTx, estimate gas
|
||||||
// success, stdout, stderr = executeWriteRetStdStreams(t, fmt.Sprintf(
|
success, stdout, stderr = executeWriteRetStdStreams(t, fmt.Sprintf(
|
||||||
// "gaiacli tx send %v --amount=10%s --to=%s --from=foo --gas=simulate --generate-only",
|
"gaiacli tx send %v --amount=10%s --to=%s --from=foo --gas=simulate --generate-only",
|
||||||
// flags, stakeTypes.DefaultBondDenom, barAddr), []string{}...)
|
flags, stakeTypes.DefaultBondDenom, barAddr), []string{}...)
|
||||||
// require.True(t, success)
|
require.True(t, success)
|
||||||
// require.NotEmpty(t, stderr)
|
require.NotEmpty(t, stderr)
|
||||||
// msg = unmarshalStdTx(t, stdout)
|
msg = unmarshalStdTx(t, stdout)
|
||||||
// require.True(t, msg.Fee.Gas > 0)
|
require.True(t, msg.Fee.Gas > 0)
|
||||||
// require.Equal(t, len(msg.Msgs), 1)
|
require.Equal(t, len(msg.Msgs), 1)
|
||||||
//
|
|
||||||
// // Write the output to disk
|
// Write the output to disk
|
||||||
// unsignedTxFile := writeToNewTempFile(t, stdout)
|
unsignedTxFile := writeToNewTempFile(t, stdout)
|
||||||
// defer os.Remove(unsignedTxFile.Name())
|
defer os.Remove(unsignedTxFile.Name())
|
||||||
//
|
|
||||||
// // Test sign --validate-signatures
|
// Test sign --validate-signatures
|
||||||
// success, stdout, _ = executeWriteRetStdStreams(t, fmt.Sprintf(
|
success, stdout, _ = executeWriteRetStdStreams(t, fmt.Sprintf(
|
||||||
// "gaiacli tx sign %v --validate-signatures %v", flags, unsignedTxFile.Name()))
|
"gaiacli tx sign %v --validate-signatures %v", flags, unsignedTxFile.Name()))
|
||||||
// require.False(t, success)
|
require.False(t, success)
|
||||||
// require.Equal(t, fmt.Sprintf("Signers:\n 0: %v\n\nSignatures:\n\n", fooAddr.String()), stdout)
|
require.Equal(t, fmt.Sprintf("Signers:\n 0: %v\n\nSignatures:\n\n", fooAddr.String()), stdout)
|
||||||
//
|
|
||||||
// // Test sign
|
// Test sign
|
||||||
// success, stdout, _ = executeWriteRetStdStreams(t, fmt.Sprintf(
|
success, stdout, _ = executeWriteRetStdStreams(t, fmt.Sprintf(
|
||||||
// "gaiacli tx sign %v --name=foo %v", flags, unsignedTxFile.Name()), app.DefaultKeyPass)
|
"gaiacli tx sign %v --name=foo %v", flags, unsignedTxFile.Name()), app.DefaultKeyPass)
|
||||||
// require.True(t, success)
|
require.True(t, success)
|
||||||
// msg = unmarshalStdTx(t, stdout)
|
msg = unmarshalStdTx(t, stdout)
|
||||||
// require.Equal(t, len(msg.Msgs), 1)
|
require.Equal(t, len(msg.Msgs), 1)
|
||||||
// require.Equal(t, 1, len(msg.GetSignatures()))
|
require.Equal(t, 1, len(msg.GetSignatures()))
|
||||||
// require.Equal(t, fooAddr.String(), msg.GetSigners()[0].String())
|
require.Equal(t, fooAddr.String(), msg.GetSigners()[0].String())
|
||||||
//
|
|
||||||
// // Write the output to disk
|
// Write the output to disk
|
||||||
// signedTxFile := writeToNewTempFile(t, stdout)
|
signedTxFile := writeToNewTempFile(t, stdout)
|
||||||
// defer os.Remove(signedTxFile.Name())
|
defer os.Remove(signedTxFile.Name())
|
||||||
//
|
|
||||||
// // Test sign --print-signatures
|
// Test sign --print-signatures
|
||||||
// success, stdout, _ = executeWriteRetStdStreams(t, fmt.Sprintf(
|
success, stdout, _ = executeWriteRetStdStreams(t, fmt.Sprintf(
|
||||||
// "gaiacli tx sign %v --validate-signatures %v", flags, signedTxFile.Name()))
|
"gaiacli tx sign %v --validate-signatures %v", flags, signedTxFile.Name()))
|
||||||
// require.True(t, success)
|
require.True(t, success)
|
||||||
// require.Equal(t, fmt.Sprintf("Signers:\n 0: %v\n\nSignatures:\n 0: %v\t[OK]\n\n", fooAddr.String(),
|
require.Equal(t, fmt.Sprintf("Signers:\n 0: %v\n\nSignatures:\n 0: %v\t[OK]\n\n", fooAddr.String(),
|
||||||
// fooAddr.String()), stdout)
|
fooAddr.String()), stdout)
|
||||||
//
|
|
||||||
// // Test broadcast
|
// Test broadcast
|
||||||
// fooAcc := executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", fooAddr, flags))
|
fooAcc := executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", fooAddr, flags))
|
||||||
// require.Equal(t, int64(50), fooAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64())
|
require.Equal(t, int64(50), fooAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64())
|
||||||
//
|
|
||||||
// success, stdout, _ = executeWriteRetStdStreams(t, fmt.Sprintf(
|
success, stdout, _ = executeWriteRetStdStreams(t, fmt.Sprintf(
|
||||||
// "gaiacli tx broadcast %v --json %v", flags, signedTxFile.Name()))
|
"gaiacli tx broadcast %v --json %v", flags, signedTxFile.Name()))
|
||||||
// require.True(t, success)
|
require.True(t, success)
|
||||||
//
|
|
||||||
// var result struct {
|
var result struct {
|
||||||
// Response abci.ResponseDeliverTx
|
Response abci.ResponseDeliverTx
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// require.Nil(t, app.MakeCodec().UnmarshalJSON([]byte(stdout), &result))
|
require.Nil(t, app.MakeCodec().UnmarshalJSON([]byte(stdout), &result))
|
||||||
// require.Equal(t, msg.Fee.Gas, uint64(result.Response.GasUsed))
|
require.Equal(t, msg.Fee.Gas, uint64(result.Response.GasUsed))
|
||||||
// require.Equal(t, msg.Fee.Gas, uint64(result.Response.GasWanted))
|
require.Equal(t, msg.Fee.Gas, uint64(result.Response.GasWanted))
|
||||||
// tests.WaitForNextNBlocksTM(2, port)
|
tests.WaitForNextNBlocksTM(2, port)
|
||||||
//
|
|
||||||
// barAcc := executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", barAddr, flags))
|
barAcc := executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", barAddr, flags))
|
||||||
// require.Equal(t, int64(10), barAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64())
|
require.Equal(t, int64(10), barAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64())
|
||||||
//
|
|
||||||
// fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", fooAddr, flags))
|
fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli query account %s %v", fooAddr, flags))
|
||||||
// require.Equal(t, int64(40), fooAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64())
|
require.Equal(t, int64(40), fooAcc.GetCoins().AmountOf(stakeTypes.DefaultBondDenom).Int64())
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// func TestGaiaCLIConfig(t *testing.T) {
|
func TestGaiaCLIConfig(t *testing.T) {
|
||||||
// require.NoError(t, os.RemoveAll(gaiacliHome))
|
require.NoError(t, os.RemoveAll(gaiacliHome))
|
||||||
// require.NoError(t, os.RemoveAll(gaiadHome))
|
require.NoError(t, os.RemoveAll(gaiadHome))
|
||||||
// servAddr, port, err := server.FreeTCPAddr()
|
servAddr, port, err := server.FreeTCPAddr()
|
||||||
// require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
// node := fmt.Sprintf("%s:%s", servAddr, port)
|
node := fmt.Sprintf("%s:%s", servAddr, port)
|
||||||
// chainID := executeInit(t, fmt.Sprintf("gaiad init -o --moniker=foo --home=%s", gaiadHome))
|
chainID := executeInit(t, fmt.Sprintf("gaiad init -o --moniker=foo --home=%s", gaiadHome))
|
||||||
// executeWrite(t, fmt.Sprintf("gaiacli --home=%s config", gaiadHome), gaiacliHome, node, "y")
|
executeWrite(t, fmt.Sprintf("gaiacli --home=%s config", gaiadHome), gaiacliHome, node, "y")
|
||||||
// config, err := ioutil.ReadFile(path.Join(gaiacliHome, "config", "config.toml"))
|
config, err := ioutil.ReadFile(path.Join(gaiacliHome, "config", "config.toml"))
|
||||||
// require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
// expectedConfig := fmt.Sprintf(`chain_id = "%s"
|
expectedConfig := fmt.Sprintf(`chain_id = "%s"
|
||||||
// home = "%s"
|
home = "%s"
|
||||||
// node = "%s"
|
node = "%s"
|
||||||
// output = "text"
|
output = "text"
|
||||||
// trace = false
|
trace = false
|
||||||
// trust_node = true
|
trust_node = true
|
||||||
// `, chainID, gaiacliHome, node)
|
`, chainID, gaiacliHome, node)
|
||||||
// require.Equal(t, expectedConfig, string(config))
|
require.Equal(t, expectedConfig, string(config))
|
||||||
// // ensure a backup gets created
|
// ensure a backup gets created
|
||||||
// executeWrite(t, "gaiacli config", gaiacliHome, node, "y", "y")
|
executeWrite(t, "gaiacli config", gaiacliHome, node, "y", "y")
|
||||||
// configBackup, err := ioutil.ReadFile(path.Join(gaiacliHome, "config", "config.toml-old"))
|
configBackup, err := ioutil.ReadFile(path.Join(gaiacliHome, "config", "config.toml-old"))
|
||||||
// require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
// require.Equal(t, expectedConfig, string(configBackup))
|
require.Equal(t, expectedConfig, string(configBackup))
|
||||||
//
|
|
||||||
// require.NoError(t, os.RemoveAll(gaiadHome))
|
require.NoError(t, os.RemoveAll(gaiadHome))
|
||||||
// executeWrite(t, "gaiacli config", gaiacliHome, node, "y")
|
executeWrite(t, "gaiacli config", gaiacliHome, node, "y")
|
||||||
//
|
|
||||||
// // ensure it works without an initialized gaiad state
|
// ensure it works without an initialized gaiad state
|
||||||
// expectedConfig = fmt.Sprintf(`chain_id = ""
|
expectedConfig = fmt.Sprintf(`chain_id = ""
|
||||||
// home = "%s"
|
home = "%s"
|
||||||
// node = "%s"
|
node = "%s"
|
||||||
// output = "text"
|
output = "text"
|
||||||
// trace = false
|
trace = false
|
||||||
// trust_node = true
|
trust_node = true
|
||||||
// `, gaiacliHome, node)
|
`, gaiacliHome, node)
|
||||||
// config, err = ioutil.ReadFile(path.Join(gaiacliHome, "config", "config.toml"))
|
config, err = ioutil.ReadFile(path.Join(gaiacliHome, "config", "config.toml"))
|
||||||
// require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
// require.Equal(t, expectedConfig, string(config))
|
require.Equal(t, expectedConfig, string(config))
|
||||||
// }
|
}
|
||||||
|
|
||||||
//___________________________________________________________________________________
|
//___________________________________________________________________________________
|
||||||
// helper methods
|
// helper methods
|
||||||
|
|
Loading…
Reference in New Issue