shlink/bin/test/run-api-tests.sh

32 lines
1.1 KiB
Bash
Raw Normal View History

#!/usr/bin/env sh
2019-01-27 12:54:04 +03:00
export APP_ENV=test
2020-09-26 11:43:50 +03:00
export TEST_ENV=api
2024-02-17 01:02:46 +03:00
export TEST_RUNTIME="${TEST_RUNTIME:-"rr"}" # rr is the only runtime currently supported
export DB_DRIVER="${DB_DRIVER:-"postgres"}"
export GENERATE_COVERAGE="${GENERATE_COVERAGE:-"no"}"
2019-01-27 12:54:04 +03:00
# Reset logs
OUTPUT_LOGS=data/log/api-tests/output.log
rm -rf data/log/api-tests
mkdir data/log/api-tests
touch $OUTPUT_LOGS
2019-01-27 12:54:04 +03:00
# Try to stop server just in case it hanged in last execution
[ "$TEST_RUNTIME" = 'rr' ] && bin/rr stop -f
2019-01-27 12:54:04 +03:00
echo 'Starting server...'
[ "$TEST_RUNTIME" = 'rr' ] && bin/rr serve -p -c=config/roadrunner/.rr.test.yml -w . \
2022-08-27 10:43:20 +03:00
-o=logs.output="${PWD}/${OUTPUT_LOGS}" \
-o=logs.channels.http.output="${PWD}/${OUTPUT_LOGS}" \
-o=logs.channels.server.output="${PWD}/${OUTPUT_LOGS}" &
sleep 2 # Let's give the server a couple of seconds to start
2019-01-27 12:54:04 +03:00
vendor/bin/phpunit --order-by=random -c phpunit-api.xml --testdox --colors=always $*
TESTS_EXIT_CODE=$?
[ "$TEST_RUNTIME" = 'rr' ] && bin/rr stop -c=config/roadrunner/.rr.dev.yml -w . -o=http.address=0.0.0.0:9999
# Exit this script with the same code as the tests. If tests failed, this script has to fail
exit $TESTS_EXIT_CODE