diff --git a/tests/TEST_basic.sh b/tests/TEST_basic.sh index f2f1301d7b07bf44d7ac9d25f1c8fc439dc56240..dccdc6d9b7be85d628c46c82e710837dba5a83af 100755 --- a/tests/TEST_basic.sh +++ b/tests/TEST_basic.sh @@ -4,17 +4,23 @@ TESTNAME=basic . _common.sh -if $DISPENSE acct tpg; then +# Ensure that the databse doesn't already contain the current user +# - 1. Protects against running the test against the production database +# - 2. Allows adding the current user as an admin +if $DISPENSE acct "$USER"; then FAIL "Database contains '$USER'" fi - +# Add the current user as an admin sqlite3 "${BASEDIR}cokebank.db" "INSERT INTO accounts (acct_name,acct_is_admin,acct_uid) VALUES ('${USER}',1,1);" +# Try to add a new user TRY_COMMAND "$DISPENSE user add unittest_user0" +# Ensure that the add worked LOG "Checking for test user" TRY_COMMAND $DISPENSE acct unittest_user0 | grep ': $ 0.00' +# Manipulate user's balance TRY_COMMAND $DISPENSE acct unittest_user0 +100 Unit_test TRY_COMMAND $DISPENSE acct unittest_user0 | grep ': $ 1.00' TRY_COMMAND $DISPENSE acct unittest_user0 -100 Unit_test diff --git a/tests/_common.sh b/tests/_common.sh index 0019b997ec2fd069683e0ddffd8bc7c32c6b0013..4058bb5f3044ae6450a576932664fb31d5fe879c 100644 --- a/tests/_common.sh +++ b/tests/_common.sh @@ -1,10 +1,13 @@ - +# +# NOTE: Not a script, to be included by scripts +# BASEDIR=rundir/${TESTNAME}/ PORT=22222 mkdir -p ${BASEDIR} rm -f ${BASEDIR}cokebank.db +# Template configuration (disables door and the coke machine) cat << EOF > ${BASEDIR}cfg_server.conf # AUTOGENERATED Test ${TESTNAME} server_port ${PORT}