diff --git a/.travis.yml b/.travis.yml index c020c1c..c0daac5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,6 +46,7 @@ script: - docker-compose -f docker-compose.test.yml run --workdir="/app/client/controller" --rm test gradle build - docker-compose -f docker-compose.test.yml run --workdir="/app/server" --rm $ci_env test bash -c "coverage run --omit=\"*/tests/*\" -m unittest discover -s analysis/tests -v && (codecov -F analysis || (sleep 5 && codecov -F analysis) || (sleep 5 && codecov -F analysis))" - docker-compose -f docker-compose.test.yml run --workdir="/app/server/website" --rm $ci_env test bash -c "./wait-for-it.sh && python3 manage.py makemigrations website && coverage run --source=website manage.py test --noinput -v 2 && (codecov -F website || (sleep 5 && codecov -F website) || (sleep 5 && codecov -F website))" + - docker-compose -f docker-compose.test.yml run --workdir="/app/server/website" -rm test bash -c "./start-test.sh" # Only run the linter once on ubuntu 18.04 - if [ $DOCKER_OS == ubuntu-18.04 ]; then docker-compose -f docker-compose.test.yml run --workdir="/app" --rm -e TRAVIS_COMMIT_RANGE=$TRAVIS_COMMIT_RANGE test bash -c "git reset --soft ${TRAVIS_COMMIT_RANGE%...*} && git status && git log | head -n 1 && git lint"; diff --git a/docker/start-test.sh b/docker/start-test.sh new file mode 100755 index 0000000..917177d --- /dev/null +++ b/docker/start-test.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Wait for MySQL connection +/bin/bash wait-for-it.sh + +## Needs a connection to a DB so migrations go here +python3 manage.py makemigrations website +python3 manage.py migrate + +python3 manage.py startcelery +python3 manage.py runserver 0.0.0.0:8000 & + +# Wait for server +sleep 10 + +# Integration tests +cd /app/client/driver +fab integration_tests