2021-05-28 18:13:28 +03:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
if [ ! -f "wakapi" ]; then
|
2021-06-11 18:41:55 +03:00
|
|
|
echo "Wakapi executable not found. Compiling."
|
|
|
|
go build
|
2021-05-28 18:13:28 +03:00
|
|
|
fi
|
|
|
|
|
|
|
|
if ! command -v newman &> /dev/null
|
|
|
|
then
|
|
|
|
echo "Newman could not be found. Run 'npm install -g newman' first."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
|
|
|
|
echo "Creating database and schema ..."
|
|
|
|
sqlite3 wakapi_testing.db < schema.sql
|
|
|
|
|
|
|
|
echo "Importing seed data ..."
|
|
|
|
sqlite3 wakapi_testing.db < data.sql
|
|
|
|
|
|
|
|
echo "Running Wakapi testing instance in background ..."
|
2021-09-17 14:21:09 +03:00
|
|
|
../wakapi -config config.testing.yml &
|
|
|
|
pid=$!
|
2021-05-28 18:13:28 +03:00
|
|
|
|
|
|
|
echo "Waiting for Wakapi to come up ..."
|
|
|
|
until $(curl --output /dev/null --silent --get --fail http://localhost:3000/api/health); do
|
|
|
|
printf '.'
|
|
|
|
sleep 1
|
|
|
|
done
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
echo "Running test collection ..."
|
|
|
|
newman run "Wakapi API Tests.postman_collection.json"
|
2021-09-18 15:24:16 +03:00
|
|
|
exit_code=$?
|
2021-05-28 18:13:28 +03:00
|
|
|
|
|
|
|
echo "Shutting down Wakapi ..."
|
2021-09-17 14:21:09 +03:00
|
|
|
kill -TERM $pid
|
2021-05-28 18:13:28 +03:00
|
|
|
|
|
|
|
echo "Deleting database ..."
|
2021-09-18 15:24:16 +03:00
|
|
|
rm wakapi_testing.db
|
|
|
|
|
|
|
|
exit $exit_code
|