graphql-engine/scripts/probe-pg-compatibility.sh

48 lines
1.0 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
set -e
usage="$0 postgresql://... "
if [ "$#" != 1 ];
then
echo "$usage"
exit 1
fi
pg_uri="$1"
shift
echo "Checking if 'docker compose' is free to use .."
running_containers=$(docker compose ls | wc -l)
if [ "$running_containers" -gt 1 ];
then
echo "docker appears to be running."
echo "Please finish what you're using docker for and run 'docker compose down' manually"
echo "before proceeding."
exit 1
fi
echo "Building test runner and report generator .."
cabal build api-tests
api_tests=$(cabal list-bin api-tests:exe:api-tests)
reporter=$(cabal list-bin api-tests:exe:render-feature-matrix)
rm tests-hspec.log || true
echo "Starting metadata db container .."
docker compose down -v && docker compose up postgres --wait
echo "Running integration test suite against '$pg_uri' .."
POSTGRES_VARIANT_URI="$pg_uri" $api_tests || true
echo "Tearing down metadata db container .."
docker compose down
echo "Generating feature matrix report: 'report.html' .."
$reporter < tests-hspec.log > report.html