diff --git a/clitest/common.sh b/clitest/common.sh index 3294548a0d..07fe1a54b1 100644 --- a/clitest/common.sh +++ b/clitest/common.sh @@ -1,8 +1,13 @@ # this is not executable, but helper functions for the other scripts +# these are general accounts to be prepared +ACCOUNTS=(jae ethan bucky rigel igor) +RICH=${ACCOUNTS[0]} +POOR=${ACCOUNTS[4]} + prepareClient() { echo "Preparing client keys..." - basecli reset_all + ${CLIENT_EXE} reset_all assertTrue $? for i in "${!ACCOUNTS[@]}"; do @@ -18,11 +23,11 @@ initServer() { SERVE_DIR=$1/server assertNotNull "no chain" $2 CHAIN=$2 - SERVER_LOG=$1/basecoin.log - basecoin init --home=$SERVE_DIR >>$SERVER_LOG + SERVER_LOG=$1/${SERVER_EXE}.log + ${SERVER_EXE} init --home=$SERVE_DIR >>$SERVER_LOG #change the genesis to the first account - GENKEY=$(basecli keys get ${ACCOUNTS[0]} -o json | jq .pubkey.data) + GENKEY=$(${CLIENT_EXE} keys get ${RICH} -o json | jq .pubkey.data) GENJSON=$(cat $SERVE_DIR/genesis.json) echo $GENJSON | jq '.app_options.accounts[0].pub_key.data='$GENKEY \ | jq ".chain_id=\"$2\"" > $SERVE_DIR/genesis.json @@ -33,18 +38,18 @@ initServer() { sed -ie "s/4665/$3/" $SERVE_DIR/config.toml fi - echo "Starting server..." - basecoin start --home=$SERVE_DIR >>$SERVER_LOG 2>&1 & + echo "Starting ${SERVER_EXE} server..." + ${SERVER_EXE} start --home=$SERVE_DIR >>$SERVER_LOG 2>&1 & sleep 5 PID_SERVER=$! } # initClient requires chain_id arg, port is optional (default 4665{5,6,7}) initClient() { - echo "Attaching client..." + echo "Attaching ${CLIENT_EXE} client..." PORT=${2:-4665} # hard-code the expected validator hash - basecli init --chain-id=$1 --node=tcp://localhost:${PORT}7 --valhash=EB168E17E45BAEB194D4C79067FFECF345C64DE6 + ${CLIENT_EXE} init --chain-id=$1 --node=tcp://localhost:${PORT}7 --valhash=EB168E17E45BAEB194D4C79067FFECF345C64DE6 assertTrue "initialized light-client" $? } @@ -52,15 +57,15 @@ initClient() { newKey(){ assertNotNull "keyname required" "$1" KEYPASS=${2:-qwertyuiop} - (echo $KEYPASS; echo $KEYPASS) | basecli keys new $1 >/dev/null 2>/dev/null + (echo $KEYPASS; echo $KEYPASS) | ${CLIENT_EXE} keys new $1 >/dev/null 2>/dev/null assertTrue "created $1" $? - assertTrue "$1 doesn't exist" "basecli keys get $1" + assertTrue "$1 doesn't exist" "${CLIENT_EXE} keys get $1" } # getAddr gets the address for a key name getAddr() { assertNotNull "keyname required" "$1" - RAW=$(basecli keys get $1) + RAW=$(${CLIENT_EXE} keys get $1) assertTrue "no key for $1" $? # print the addr echo $RAW | cut -d' ' -f2 diff --git a/tests/cli/basictx.sh b/tests/cli/basictx.sh index 8584535e56..e9a6b0e5fb 100755 --- a/tests/cli/basictx.sh +++ b/tests/cli/basictx.sh @@ -1,18 +1,20 @@ #!/bin/bash +# these are two globals to control all scripts (can use eg. counter instead) +SERVER_EXE=basecoin +CLIENT_EXE=basecli oneTimeSetUp() { + # these are passed in as args BASE_DIR=$HOME/.basecoin_test_basictx CHAIN_ID=my-test-chain rm -rf $BASE_DIR 2>/dev/null mkdir -p $BASE_DIR - ACCOUNTS=(jae ethan bucky rigel igor) - RICH=${ACCOUNTS[0]} - POOR=${ACCOUNTS[1]} - # set up client + # set up client - make sure you use the proper prefix if you set + # a custom CLIENT_EXE export BC_HOME=${BASE_DIR}/client prepareClient @@ -31,7 +33,7 @@ oneTimeSetUp() { oneTimeTearDown() { echo echo - echo "stopping basecoin test server..." + echo "stopping $SERVER_EXE test server..." kill -9 $PID_SERVER >/dev/null 2>&1 sleep 1 } @@ -40,13 +42,13 @@ test00GetAccount() { SENDER=$(getAddr $RICH) RECV=$(getAddr $POOR) - assertFalse "requires arg" "basecli query account" - ACCT=$(basecli query account $SENDER) + assertFalse "requires arg" "${CLIENT_EXE} query account" + ACCT=$(${CLIENT_EXE} query account $SENDER) assertTrue "must have proper genesis account" $? assertEquals "no tx" "0" $(echo $ACCT | jq .data.sequence) assertEquals "has money" "9007199254740992" $(echo $ACCT | jq .data.coins[0].amount) - ACCT2=$(basecli query account $RECV) + ACCT2=$(${CLIENT_EXE} query account $RECV) assertFalse "has no genesis account" $? } @@ -54,10 +56,10 @@ test01SendTx() { SENDER=$(getAddr $RICH) RECV=$(getAddr $POOR) - assertFalse "missing dest" "basecli tx send --amount=992mycoin --sequence=1 2>/dev/null" - assertFalse "bad password" "echo foo | basecli tx send --amount=992mycoin --sequence=1 --to=$RECV --name=$RICH 2>/dev/null" + assertFalse "missing dest" "${CLIENT_EXE} tx send --amount=992mycoin --sequence=1 2>/dev/null" + assertFalse "bad password" "echo foo | ${CLIENT_EXE} tx send --amount=992mycoin --sequence=1 --to=$RECV --name=$RICH 2>/dev/null" # we have to remove the password request from stdout, to just get the json - RES=$(echo qwertyuiop | basecli tx send --amount=992mycoin --sequence=1 --to=$RECV --name=$RICH 2>/dev/null | tail -n +2) + RES=$(echo qwertyuiop | ${CLIENT_EXE} tx send --amount=992mycoin --sequence=1 --to=$RECV --name=$RICH 2>/dev/null | tail -n +2) assertTrue "sent tx" $? HASH=$(echo $RES | jq .hash | tr -d \") TX_HEIGHT=$(echo $RES | jq .height) @@ -65,19 +67,19 @@ test01SendTx() { assertEquals "good deliver" "0" $(echo $RES | jq .deliver_tx.code) # make sure sender goes down - ACCT=$(basecli query account $SENDER) + ACCT=$(${CLIENT_EXE} query account $SENDER) assertTrue "must have genesis account" $? assertEquals "one tx" "1" $(echo $ACCT | jq .data.sequence) assertEquals "has money" "9007199254740000" $(echo $ACCT | jq .data.coins[0].amount) # make sure recipient goes up - ACCT2=$(basecli query account $RECV) + ACCT2=$(${CLIENT_EXE} query account $RECV) assertTrue "must have new account" $? assertEquals "no tx" "0" $(echo $ACCT2 | jq .data.sequence) assertEquals "has money" "992" $(echo $ACCT2 | jq .data.coins[0].amount) # make sure tx is indexed - TX=$(basecli query tx $HASH) + TX=$(${CLIENT_EXE} query tx $HASH) assertTrue "found tx" $? assertEquals "proper height" $TX_HEIGHT $(echo $TX | jq .height) assertEquals "type=send" '"send"' $(echo $TX | jq .data.type)