#!/bin/bash VERSION='5.0.1' set -ae # get the parent directory of bin/(this script) testroot=$( dirname ${BASH_SOURCE[0]} ) testroot=$( cd $testroot; cd ..; pwd ) echo "Stopping services." sudo service freeside stop sudo service apache2 stop newname=freeside_`date +%Y%m%d` # get company_name from existing DB, strip whitespace # (if there is no existing DB, continue anyway) testdbmarker=$(sudo -u freeside \ psql -tc 'select value from conf where name='\'company_name''\' | \ sed "s/^ //" \ || true ) createdb=YES if psql -l |grep -q '^ *freeside '; then if [ "$testdbmarker" = "Freeside Test $VERSION" ]; then createdb=NO echo "Freeside test database found." else echo "Renaming database to $newname." psql postgres -c "ALTER DATABASE freeside RENAME TO $newname" fi fi if [ $createdb = YES ]; then echo "Creating new database from stock schema." createdb --owner=freeside freeside sudo -u freeside psql freeside -q -f $testroot/share/test.sql > /dev/null fi newtime=$(sudo -u freeside \ psql -tc 'SELECT to_timestamp(max(_date) + 86400) FROM cust_bill' \ ) # no longer needed since we don't run LaTeX in the test script #echo "Setting clock to $newtime." #sudo date -s "$newtime" #echo "Applying upgrades." #sudo -u freeside freeside-upgrade test # shouldn't happen automatically # start Apache on a future date when all of the invoice dates are in the past echo "Restarting Apache." sudo faketime "$newtime" apache2ctl start echo "Done."