rpc: fix TxSearch test nits (#4446)

This commit is contained in:
Erik Grinaker
2020-02-20 11:34:18 +01:00
committed by GitHub
parent 7ab81a7fdd
commit 24c8b351c6

View File

@@ -18,7 +18,6 @@ import (
"github.com/tendermint/tendermint/crypto/ed25519"
"github.com/tendermint/tendermint/crypto/tmhash"
tmbytes "github.com/tendermint/tendermint/libs/bytes"
"github.com/tendermint/tendermint/libs/log"
tmmath "github.com/tendermint/tendermint/libs/math"
mempl "github.com/tendermint/tendermint/mempool"
@@ -419,50 +418,45 @@ func TestTxSearch(t *testing.T) {
c := getHTTPClient()
// first we broadcast a few txs
var tx []byte
var txHeight int64
var txHash tmbytes.HexBytes
for i := 0; i < 10; i++ {
_, _, tx = MakeTxKV()
res, err := c.BroadcastTxCommit(tx)
_, _, tx := MakeTxKV()
_, err := c.BroadcastTxCommit(tx)
require.NoError(t, err)
txHeight = res.Height
txHash = res.Hash
}
// Since we're not using an isolated test server, we'll have lingering transactions
// since we're not using an isolated test server, we'll have lingering transactions
// from other tests as well
result, err := c.TxSearch("tx.height >= 0", true, 1, 100, "asc")
require.NoError(t, err)
txCount := len(result.Txs)
// pick out the last tx to have something to search for in tests
find := result.Txs[len(result.Txs)-1]
anotherTxHash := types.Tx("a different tx").Hash()
for i, c := range GetClients() {
t.Logf("client %d", i)
// now we query for the tx.
// since there's only one tx, we know index=0.
result, err := c.TxSearch(fmt.Sprintf("tx.hash='%v'", txHash), true, 1, 30, "asc")
result, err := c.TxSearch(fmt.Sprintf("tx.hash='%v'", find.Hash), true, 1, 30, "asc")
require.Nil(t, err)
require.Len(t, result.Txs, 1)
require.Equal(t, txHash, result.Txs[0].Hash)
require.Equal(t, find.Hash, result.Txs[0].Hash)
ptx := result.Txs[0]
assert.EqualValues(t, txHeight, ptx.Height)
assert.EqualValues(t, tx, ptx.Tx)
assert.EqualValues(t, find.Height, ptx.Height)
assert.EqualValues(t, find.Tx, ptx.Tx)
assert.Zero(t, ptx.Index)
assert.True(t, ptx.TxResult.IsOK())
assert.EqualValues(t, txHash, ptx.Hash)
assert.EqualValues(t, find.Hash, ptx.Hash)
// time to verify the proof
proof := ptx.Proof
if assert.EqualValues(t, tx, proof.Data) {
assert.NoError(t, proof.Proof.Verify(proof.RootHash, txHash))
if assert.EqualValues(t, find.Tx, ptx.Proof.Data) {
assert.NoError(t, ptx.Proof.Proof.Verify(ptx.Proof.RootHash, find.Hash))
}
// query by height
result, err = c.TxSearch(fmt.Sprintf("tx.height=%d", txHeight), true, 1, 30, "asc")
result, err = c.TxSearch(fmt.Sprintf("tx.height=%d", find.Height), true, 1, 30, "asc")
require.Nil(t, err)
require.Len(t, result.Txs, 1)
@@ -506,10 +500,12 @@ func TestTxSearch(t *testing.T) {
}
// check pagination
seen := map[int64]bool{}
maxHeight := int64(0)
perPage := 3
pages := int(math.Ceil(float64(txCount) / float64(perPage)))
var (
seen = map[int64]bool{}
maxHeight int64
perPage = 3
pages = int(math.Ceil(float64(txCount) / float64(perPage)))
)
for page := 1; page <= pages; page++ {
result, err = c.TxSearch("tx.height >= 1", false, page, perPage, "asc")
require.NoError(t, err)