mirror of
https://github.com/fluencelabs/tendermint
synced 2025-07-04 23:21:51 +00:00
bash tests for broadcast_tx through rpc
This commit is contained in:
3
test/rpc/clean.sh
Normal file
3
test/rpc/clean.sh
Normal file
@ -0,0 +1,3 @@
|
||||
killall tendermint
|
||||
killall dummy
|
||||
killall counter
|
72
test/rpc/counter_test.sh
Normal file
72
test/rpc/counter_test.sh
Normal file
@ -0,0 +1,72 @@
|
||||
#! /bin/bash
|
||||
|
||||
#####################
|
||||
# counter over socket
|
||||
#####################
|
||||
TESTNAME=$1
|
||||
|
||||
# Send some txs
|
||||
|
||||
function sendTx() {
|
||||
TX=$1
|
||||
RESPONSE=`curl -s localhost:46657/broadcast_tx_commit?tx=\"$TX\"`
|
||||
CODE=`echo $RESPONSE | jq .result[1].code`
|
||||
ERROR=`echo $RESPONSE | jq .error`
|
||||
ERROR=$(echo "$ERROR" | tr -d '"') # remove surrounding quotes
|
||||
echo "ERROR: $ERROR"
|
||||
echo "CODE: $CODE"
|
||||
echo ""
|
||||
}
|
||||
|
||||
# 0 should pass once and get in block, with no error
|
||||
TX=00
|
||||
sendTx $TX
|
||||
if [[ $CODE != 0 ]]; then
|
||||
echo "Got non-zero exit code for $TX. $RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
if [[ "$ERROR" != "" ]]; then
|
||||
echo "Unexpected error. Tx $TX should have been included in a block. $ERROR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# second time should get rejected by the mempool (return error and non-zero code)
|
||||
sendTx $TX
|
||||
if [[ $CODE == 0 ]]; then
|
||||
echo "Got zero exit code for $TX. Expected tx to be rejected by mempool. $RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
if [[ "$ERROR" == "" ]]; then
|
||||
echo "Expected to get an error - tx $TX should have been rejected from mempool"
|
||||
echo "$RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# now, TX=01 should pass, with no error
|
||||
TX=01
|
||||
sendTx $TX
|
||||
if [[ $CODE != 0 ]]; then
|
||||
echo "Got non-zero exit code for $TX. $RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
if [[ "$ERROR" != "" ]]; then
|
||||
echo "Unexpected error. Tx $TX should have been accepted in block. $ERROR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# now, TX=03 should get in a block (passes CheckTx, no error), but is invalid
|
||||
TX=03
|
||||
sendTx $TX
|
||||
if [[ $CODE == 0 ]]; then
|
||||
echo "Got zero exit code for $TX. Should have been bad nonce. $RESPONSE"
|
||||
exit 1
|
||||
fi
|
||||
if [[ "$ERROR" != "" ]]; then
|
||||
echo "Unexpected error. Tx $TX should have been included in a block. $ERROR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Passed Test: $TESTNAME"
|
34
test/rpc/dummy_test.sh
Normal file
34
test/rpc/dummy_test.sh
Normal file
@ -0,0 +1,34 @@
|
||||
#! /bin/bash
|
||||
|
||||
function toHex() {
|
||||
echo -n $1 | hexdump -ve '1/1 "%.2X"'
|
||||
}
|
||||
|
||||
#####################
|
||||
# dummy with curl
|
||||
#####################
|
||||
TESTNAME=$1
|
||||
|
||||
# store key value pair
|
||||
KEY="abcd"
|
||||
VALUE="dcba"
|
||||
curl localhost:46657/broadcast_tx_commit?tx=\"$(toHex $KEY=$VALUE)\"
|
||||
echo ""
|
||||
|
||||
# we should be able to look up the key
|
||||
RESPONSE=`tmsp-cli query $KEY`
|
||||
A=`echo $RESPONSE | grep exists=true`
|
||||
if [[ $? != 0 ]]; then
|
||||
echo "Failed to find 'exists=true' for $KEY. Response:"
|
||||
echo "$RESPONSE"
|
||||
fi
|
||||
|
||||
# we should not be able to look up the value
|
||||
RESPONSE=`tmsp-cli query $VALUE`
|
||||
A=`echo $RESPONSE | grep exists=true`
|
||||
if [[ $? == 0 ]]; then
|
||||
echo "Found 'exists=true' for $VALUE when we should not have. Response:"
|
||||
echo "$RESPONSE"
|
||||
fi
|
||||
|
||||
echo "Passed Test: $TESTNAME"
|
57
test/rpc/test.sh
Normal file
57
test/rpc/test.sh
Normal file
@ -0,0 +1,57 @@
|
||||
#! /bin/bash
|
||||
set -e
|
||||
|
||||
#- dummy over socket, curl
|
||||
#- counter over socket, curl
|
||||
#- counter over grpc, curl
|
||||
#- counter over grpc, grpc
|
||||
|
||||
# TODO: install everything
|
||||
|
||||
function dummy_over_socket(){
|
||||
dummy > /dev/null &
|
||||
tendermint node > tendermint.log &
|
||||
sleep 3
|
||||
|
||||
bash dummy_test.sh "Dummy over Socket"
|
||||
|
||||
killall dummy tendermint
|
||||
}
|
||||
|
||||
|
||||
function counter_over_socket() {
|
||||
counter --serial > /dev/null &
|
||||
tendermint node > tendermint.log &
|
||||
sleep 3
|
||||
|
||||
bash counter_test.sh "Counter over Socket"
|
||||
|
||||
killall counter tendermint
|
||||
}
|
||||
|
||||
function counter_over_grpc() {
|
||||
counter --serial --tmsp grpc > /dev/null &
|
||||
tendermint node --tmsp grpc > tendermint.log &
|
||||
sleep 3
|
||||
|
||||
bash counter_test.sh "Counter over GRPC"
|
||||
|
||||
killall counter tendermint
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
"dummy_over_socket")
|
||||
dummy_over_socket
|
||||
;;
|
||||
"counter_over_socket")
|
||||
counter_over_socket
|
||||
;;
|
||||
"counter_over_grpc")
|
||||
counter_over_grpc
|
||||
;;
|
||||
*)
|
||||
dummy_over_socket
|
||||
counter_over_socket
|
||||
counter_over_grpc
|
||||
esac
|
||||
|
Reference in New Issue
Block a user