add integration test in travis

This commit is contained in:
bohanjason 2019-10-26 22:25:28 -04:00 committed by Dana Van Aken
parent 576bbb69bf
commit 0f60e95da4
2 changed files with 19 additions and 0 deletions

View File

@ -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/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" --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 $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 # Only run the linter once on ubuntu 18.04
- if [ $DOCKER_OS == ubuntu-18.04 ]; then - 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"; 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";

18
docker/start-test.sh Executable file
View File

@ -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