#! /bin/bash set -ex function toHex() { echo -n $1 | hexdump -ve '1/1 "%.2X"' | awk '{print "0x" $0}' } ##################### # kvstore with curl ##################### TESTNAME=$1 # store key value pair KEY="abcd" VALUE="dcba" echo $(toHex $KEY=$VALUE) curl -s 127.0.0.1:26657/broadcast_tx_commit?tx=$(toHex $KEY=$VALUE) echo $? echo "" ########################### # test using the abci-cli ########################### echo "... testing query with abci-cli" # we should be able to look up the key RESPONSE=`abci-cli query \"$KEY\"` set +e A=`echo $RESPONSE | grep "$VALUE"` if [[ $? != 0 ]]; then echo "Failed to find $VALUE for $KEY. Response:" echo "$RESPONSE" exit 1 fi set -e # we should not be able to look up the value RESPONSE=`abci-cli query \"$VALUE\"` set +e A=`echo $RESPONSE | grep \"value: $VALUE\"` if [[ $? == 0 ]]; then echo "Found '$VALUE' for $VALUE when we should not have. Response:" echo "$RESPONSE" exit 1 fi set -e ############################# # test using the /abci_query ############################# echo "... testing query with /abci_query 2" # we should be able to look up the key RESPONSE=`curl -s "127.0.0.1:26657/abci_query?path=\"\"&data=$(toHex $KEY)&prove=false"` RESPONSE=`echo $RESPONSE | jq .response.log` set +e A=`echo $RESPONSE | grep 'exists'` if [[ $? != 0 ]]; then echo "Failed to find 'exists' for $KEY. Response:" echo "$RESPONSE" exit 1 fi set -e # we should not be able to look up the value RESPONSE=`curl -s "127.0.0.1:26657/abci_query?path=\"\"&data=$(toHex $VALUE)&prove=false"` RESPONSE=`echo $RESPONSE | jq .response.log` set +e A=`echo $RESPONSE | grep 'exists'` if [[ $? == 0 ]]; then echo "Found 'exists' for $VALUE when we should not have. Response:" echo "$RESPONSE" exit 1 fi set -e echo "Passed Test: $TESTNAME"