♻️ Simplify tests, run in same backend service (#152)
remove backend-tests
This commit is contained in:

committed by
GitHub

parent
8f9c2bac42
commit
283bc7c95b
@@ -1,5 +1,5 @@
|
|||||||
COMPOSE_PATH_SEPARATOR=:
|
COMPOSE_PATH_SEPARATOR=:
|
||||||
COMPOSE_FILE=docker-compose.test.yml:docker-compose.shared.admin.yml:docker-compose.shared.base-images.yml:docker-compose.shared.depends.yml:docker-compose.shared.env.yml:docker-compose.dev.build.yml:docker-compose.dev.command.yml:docker-compose.dev.env.yml:docker-compose.dev.labels.yml:docker-compose.dev.networks.yml:docker-compose.dev.ports.yml:docker-compose.dev.volumes.yml
|
COMPOSE_FILE=docker-compose.shared.admin.yml:docker-compose.shared.base-images.yml:docker-compose.shared.depends.yml:docker-compose.shared.env.yml:docker-compose.dev.build.yml:docker-compose.dev.command.yml:docker-compose.dev.env.yml:docker-compose.dev.labels.yml:docker-compose.dev.networks.yml:docker-compose.dev.ports.yml:docker-compose.dev.volumes.yml
|
||||||
|
|
||||||
DOMAIN=localhost
|
DOMAIN=localhost
|
||||||
# DOMAIN=local.dockertoolbox.tiangolo.com
|
# DOMAIN=local.dockertoolbox.tiangolo.com
|
||||||
|
@@ -3,4 +3,4 @@ set -e
|
|||||||
|
|
||||||
python /app/app/tests_pre_start.py
|
python /app/app/tests_pre_start.py
|
||||||
|
|
||||||
pytest $* /app/app/tests/
|
pytest "$@" /app/app/tests/
|
||||||
|
@@ -1,34 +0,0 @@
|
|||||||
FROM python:3.7
|
|
||||||
|
|
||||||
WORKDIR /app/
|
|
||||||
|
|
||||||
# Install Poetry
|
|
||||||
RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | POETRY_HOME=/opt/poetry python && \
|
|
||||||
cd /usr/local/bin && \
|
|
||||||
ln -s /opt/poetry/bin/poetry && \
|
|
||||||
poetry config virtualenvs.create false
|
|
||||||
|
|
||||||
# Copy poetry.lock* in case it doesn't exist in the repo
|
|
||||||
COPY ./app/pyproject.toml ./app/poetry.lock* /app/
|
|
||||||
RUN poetry install --no-dev --no-root
|
|
||||||
|
|
||||||
# For development, Jupyter remote kernel, Hydrogen
|
|
||||||
# Using inside the container:
|
|
||||||
# jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.custom_display_url=http://127.0.0.1:8888
|
|
||||||
ARG env=prod
|
|
||||||
RUN bash -c "if [ $env == 'dev' ] ; then pip install jupyterlab ; fi"
|
|
||||||
EXPOSE 8888
|
|
||||||
|
|
||||||
COPY ./app /app
|
|
||||||
|
|
||||||
ENV PYTHONPATH=/app
|
|
||||||
|
|
||||||
COPY ./app/tests-start.sh /tests-start.sh
|
|
||||||
|
|
||||||
RUN chmod +x /tests-start.sh
|
|
||||||
|
|
||||||
# This will make the container wait, doing nothing, but alive
|
|
||||||
CMD ["bash", "-c", "while true; do sleep 1; done"]
|
|
||||||
|
|
||||||
# Afterwards you can exec a command /tests-start.sh in the live container, like:
|
|
||||||
# docker exec -it backend-tests /tests-start.sh
|
|
@@ -12,12 +12,6 @@ services:
|
|||||||
dockerfile: celeryworker.dockerfile
|
dockerfile: celeryworker.dockerfile
|
||||||
args:
|
args:
|
||||||
env: dev
|
env: dev
|
||||||
backend-tests:
|
|
||||||
build:
|
|
||||||
context: ./backend
|
|
||||||
dockerfile: tests.dockerfile
|
|
||||||
args:
|
|
||||||
env: dev
|
|
||||||
frontend:
|
frontend:
|
||||||
build:
|
build:
|
||||||
context: ./frontend
|
context: ./frontend
|
||||||
|
@@ -9,7 +9,3 @@ services:
|
|||||||
- RUN=celery worker -A app.worker -l info -Q main-queue -c 1
|
- RUN=celery worker -A app.worker -l info -Q main-queue -c 1
|
||||||
- JUPYTER=jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.custom_display_url=http://127.0.0.1:8888
|
- JUPYTER=jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.custom_display_url=http://127.0.0.1:8888
|
||||||
- SERVER_HOST=http://${DOMAIN}
|
- SERVER_HOST=http://${DOMAIN}
|
||||||
backend-tests:
|
|
||||||
environment:
|
|
||||||
- JUPYTER=jupyter lab --ip=0.0.0.0 --allow-root --NotebookApp.custom_display_url=http://127.0.0.1:8888
|
|
||||||
- SERVER_HOST=http://${DOMAIN}
|
|
||||||
|
@@ -6,6 +6,3 @@ services:
|
|||||||
celeryworker:
|
celeryworker:
|
||||||
volumes:
|
volumes:
|
||||||
- ./backend/app:/app
|
- ./backend/app:/app
|
||||||
backend-tests:
|
|
||||||
volumes:
|
|
||||||
- ./backend/app:/app
|
|
||||||
|
@@ -11,9 +11,13 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- SERVER_NAME=${DOMAIN}
|
- SERVER_NAME=${DOMAIN}
|
||||||
- SERVER_HOST=https://${DOMAIN}
|
- SERVER_HOST=https://${DOMAIN}
|
||||||
|
# Allow explicit env var override for tests
|
||||||
|
- SMTP_HOST=${SMTP_HOST}
|
||||||
celeryworker:
|
celeryworker:
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
- SERVER_NAME=${DOMAIN}
|
- SERVER_NAME=${DOMAIN}
|
||||||
- SERVER_HOST=https://${DOMAIN}
|
- SERVER_HOST=https://${DOMAIN}
|
||||||
|
# Allow explicit env var override for tests
|
||||||
|
- SMTP_HOST=${SMTP_HOST}
|
||||||
|
@@ -1,16 +0,0 @@
|
|||||||
version: '3.3'
|
|
||||||
services:
|
|
||||||
backend-tests:
|
|
||||||
build:
|
|
||||||
context: ./backend
|
|
||||||
dockerfile: tests.dockerfile
|
|
||||||
command: bash -c "while true; do sleep 1; done"
|
|
||||||
env_file:
|
|
||||||
- .env
|
|
||||||
environment:
|
|
||||||
- SERVER_NAME=backend
|
|
||||||
- SERVER_HOST=http://${DOMAIN}
|
|
||||||
backend:
|
|
||||||
environment:
|
|
||||||
# Don't send emails during testing
|
|
||||||
- SMTP_HOST=
|
|
@@ -9,7 +9,6 @@ if [ $(uname -s) = "Linux" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
docker-compose \
|
docker-compose \
|
||||||
-f docker-compose.test.yml \
|
|
||||||
-f docker-compose.shared.admin.yml \
|
-f docker-compose.shared.admin.yml \
|
||||||
-f docker-compose.shared.base-images.yml \
|
-f docker-compose.shared.base-images.yml \
|
||||||
-f docker-compose.shared.depends.yml \
|
-f docker-compose.shared.depends.yml \
|
||||||
|
@@ -3,17 +3,16 @@
|
|||||||
# Exit in case of error
|
# Exit in case of error
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
DOMAIN=backend \
|
DOMAIN=backend SMTP_HOST="" \
|
||||||
docker-compose \
|
docker-compose \
|
||||||
-f docker-compose.shared.base-images.yml \
|
-f docker-compose.shared.base-images.yml \
|
||||||
-f docker-compose.shared.env.yml \
|
-f docker-compose.shared.env.yml \
|
||||||
-f docker-compose.shared.depends.yml \
|
-f docker-compose.shared.depends.yml \
|
||||||
-f docker-compose.deploy.build.yml \
|
-f docker-compose.deploy.build.yml \
|
||||||
-f docker-compose.test.yml \
|
|
||||||
config > docker-stack.yml
|
config > docker-stack.yml
|
||||||
|
|
||||||
docker-compose -f docker-stack.yml build
|
docker-compose -f docker-stack.yml build
|
||||||
docker-compose -f docker-stack.yml down -v --remove-orphans # Remove possibly previous broken stacks left hanging after an error
|
docker-compose -f docker-stack.yml down -v --remove-orphans # Remove possibly previous broken stacks left hanging after an error
|
||||||
docker-compose -f docker-stack.yml up -d
|
docker-compose -f docker-stack.yml up -d
|
||||||
docker-compose -f docker-stack.yml exec -T backend-tests /tests-start.sh "$@"
|
docker-compose -f docker-stack.yml exec -T backend bash /app/tests-start.sh "$@"
|
||||||
docker-compose -f docker-stack.yml down -v --remove-orphans
|
docker-compose -f docker-stack.yml down -v --remove-orphans
|
||||||
|
Reference in New Issue
Block a user