2022-09-09 08:02:15 +03:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2022-09-22 22:01:48 +03:00
|
|
|
# This allows a developer, through Docker, to run the Python integration tests in pretty
|
|
|
|
# much exactly the same way as CI does (in contrast to `dev.sh test --integration`),
|
2022-09-09 08:02:15 +03:00
|
|
|
# allowing us to more readily diagnose issues locally.
|
|
|
|
#
|
|
|
|
# This takes an optional test configuration argument, corresponding to a name in
|
2022-09-22 22:01:48 +03:00
|
|
|
# `oss-.circleci/server-test-names.txt` (else defaulting to `no-auth`).
|
|
|
|
#
|
2022-09-09 08:02:15 +03:00
|
|
|
# See `case "$SERVER_TEST_TO_RUN"` in `oss-.circleci/test-server.sh` for what
|
|
|
|
# these actually do.
|
|
|
|
|
|
|
|
set -e
|
|
|
|
set -u
|
|
|
|
set -o pipefail
|
|
|
|
|
|
|
|
cd -- "$(dirname -- "${BASH_SOURCE[0]}")"
|
|
|
|
|
|
|
|
# copied from images.go
|
|
|
|
HASURA_GRAPHQL_ENGINE_SERVER_BUILDER_SHA="$(
|
|
|
|
sha256sum ../../.buildkite/dockerfiles/ci-builders/server-builder.dockerfile \
|
|
|
|
| awk '{ print $1 }'
|
|
|
|
)"
|
|
|
|
export HASURA_GRAPHQL_ENGINE_SERVER_BUILDER_SHA
|
|
|
|
|
|
|
|
# copied from images.go
|
|
|
|
HASURA_GRAPHQL_ENGINE_SERVER_PYTEST_RUNNER_SHA="$(
|
|
|
|
cat \
|
|
|
|
../../.buildkite/dockerfiles/server-pytest-runner/Dockerfile \
|
|
|
|
./requirements.txt \
|
|
|
|
./package-lock.json \
|
|
|
|
./package.json \
|
|
|
|
./remote_schemas/nodejs/package.json \
|
|
|
|
| sha256sum \
|
|
|
|
| awk '{ print $1 }'
|
|
|
|
)"
|
|
|
|
export HASURA_GRAPHQL_ENGINE_SERVER_PYTEST_RUNNER_SHA
|
|
|
|
|
2022-09-22 22:01:48 +03:00
|
|
|
# Use the Azure SQL Edge image instead of the SQL Server image on arm64.
|
|
|
|
# The latter doesn't work yet.
|
|
|
|
if [[ "$(uname -m)" == 'arm64' ]]; then
|
|
|
|
export MSSQL_IMAGE='mcr.microsoft.com/azure-sql-edge'
|
|
|
|
fi
|
|
|
|
|
2022-09-29 13:42:47 +03:00
|
|
|
if [[ $# -gt 0 ]]; then
|
|
|
|
SERVER_TESTS_TO_RUN=("$@")
|
|
|
|
else
|
|
|
|
SERVER_TESTS_TO_RUN=('no-auth')
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "*** Building HGE ***"
|
|
|
|
docker compose run hge-build
|
2022-09-09 08:02:15 +03:00
|
|
|
|
2022-09-29 13:42:47 +03:00
|
|
|
for SERVER_TEST_TO_RUN in "${SERVER_TESTS_TO_RUN[@]}"; do
|
|
|
|
export SERVER_TEST_TO_RUN
|
|
|
|
echo
|
|
|
|
echo "*** Running test suite: ${SERVER_TEST_TO_RUN} ***"
|
|
|
|
docker compose rm -svf citus mssql postgres # tear down databases beforehand
|
|
|
|
docker compose run tests-py
|
|
|
|
done
|