2016-01-18 13:56:48 +03:00
#!/bin/sh
# this is a very simple script that tests the docker configuration for cookiecutter-django
# it is meant to be run from the root directory of the repository, eg:
# sh tests/test_docker.sh
2019-03-18 20:49:43 +03:00
set -o errexit
2016-01-18 13:56:48 +03:00
# install test requirements
pip install -r requirements.txt
# create a cache directory
mkdir -p .cache/docker
cd .cache/docker
# create the project using the default settings in cookiecutter.json
2019-03-18 20:49:43 +03:00
cookiecutter ../../ --no-input --overwrite-if-exists use_docker = y $@
2018-03-04 15:18:27 +03:00
cd my_awesome_project
2016-01-18 13:56:48 +03:00
2018-08-19 14:08:29 +03:00
# run the project's type checks
docker-compose -f local.yml run django mypy my_awesome_project
2019-03-18 20:49:43 +03:00
# Run black with --check option
docker-compose -f local.yml run django black --check --diff --exclude 'migrations' ./
2016-01-18 13:56:48 +03:00
# run the project's tests
2018-08-19 14:22:33 +03:00
docker-compose -f local.yml run django pytest
2016-10-09 03:43:12 +03:00
# return non-zero status code if there are migrations that have not been created
2017-07-14 17:09:41 +03:00
docker-compose -f local.yml run django python manage.py makemigrations --dry-run --check || { echo "ERROR: there were changes in the models, but migration listed above have not been created and are not saved in version control" ; exit 1; }
2018-02-22 18:01:05 +03:00
# Test support for translations
2018-03-05 14:26:12 +03:00
docker-compose -f local.yml run django python manage.py makemessages