dnote/host/smoketest/testsuite.sh
Sung 4258ea1715
Release server-v2.1.0 (#633)
* Release server-v2.1.0

* Fix smoke test
2023-03-04 11:57:40 +11:00

45 lines
1.1 KiB
Bash
Executable file

#!/usr/bin/env bash
# testsuite.sh runs the smoke tests for a self-hosted instance.
# It is meant to be run inside a virtual machine which has been
# set up by an entry script.
set -eux
echo 'Running a smoke test'
cd /var/lib/postgresql
sudo -u postgres dropdb dnote
sudo -u postgres createdb dnote
cd /vagrant
tar -xvf dnote_server_integration_test_linux_amd64.tar.gz
GO_ENV=PRODUCTION \
DBHost=localhost \
DBPort=5432 \
DBName=dnote \
DBUser=postgres \
DBPassword=postgres \
WebURL=localhost:3000 \
./dnote-server -port 2300 start & sleep 3
assert_http_status() {
url=$1
expected=$2
echo "======== [TEST CASE] asserting response status code for $url ========"
got=$(curl --write-out %"{http_code}" --silent --output /dev/null "$url")
if [ "$got" != "$expected" ]; then
echo "======== ASSERTION FAILED ========"
echo "status code for $url: expected: $expected got: $got"
echo "=================================="
exit 1
fi
}
assert_http_status http://localhost:2300 "302"
assert_http_status http://localhost:2300/health "200"
echo "======== [SUCCESS] TEST PASSED! ========"