Gitlab CI - Debugging
[tpg/opendispense2.git] / tests / _common.sh
index 04d1657..0f62430 100644 (file)
@@ -25,6 +25,7 @@ coke_dummy_mode yes
 EOF
 
 echo "# AUTOGENERATED Test ${TESTNAME}" > ${BASEDIR}cfg_items.conf
+echo "pseudo   0       0       Test item" >> ${BASEDIR}cfg_items.conf
 
 LOG() {
        echo "TEST ${TESTNAME}: "$*
@@ -43,7 +44,7 @@ TRY_COMMAND() {
 
 DISPENSE="../dispense -f /dev/null -H localhost -P ${PORT}"
 
-LD_LIBRARY_PATH=.. ../dispsrv -f ${BASEDIR}cfg_server.conf --dont-daemonise > ${BASEDIR}server.log 2>&1 &
+LD_LIBRARY_PATH=.. ../dispsrv -f ${BASEDIR}cfg_server.conf --dont-daemonise -d 2 > ${BASEDIR}server.log 2>&1 &
 server_pid=$!
 
 cleanup() {
@@ -65,3 +66,15 @@ if ! (echo "" | nc localhost ${PORT}); then
        cat ${BASEDIR}server.log
        exit 1
 fi
+
+if [[ "x$USER" == "xroot" ]]; then
+       FAIL "Running as root"
+fi
+# Ensure that the database 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}" 2> /dev/null; then
+       FAIL "Database contains '$USER', are you running on production?"
+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);"

UCC git Repository :: git.ucc.asn.au