Adding e2e testing
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
services:
|
||||
db:
|
||||
container_name: ppr_e2e_db
|
||||
build:
|
||||
context: .
|
||||
dockerfile: tests/e2e/mysql.Dockerfile
|
||||
image: pprdev-e2e-db
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: e2e_root_password
|
||||
MYSQL_DATABASE: ppr_e2e
|
||||
MYSQL_USER: ppr_e2e
|
||||
MYSQL_PASSWORD: ppr_e2e_password
|
||||
volumes:
|
||||
- ppr_e2e_mysql_data:/var/lib/mysql
|
||||
|
||||
api:
|
||||
container_name: ppr_e2e_api
|
||||
ports:
|
||||
- "${E2E_API_PORT_EXTERNAL:-18002}:8000"
|
||||
environment:
|
||||
DB_HOST: db
|
||||
DB_PORT: 3306
|
||||
DB_NAME: ppr_e2e
|
||||
DB_USER: ppr_e2e
|
||||
DB_PASSWORD: ppr_e2e_password
|
||||
BASE_URL: http://web
|
||||
MAIL_HOST: 127.0.0.1
|
||||
MAIL_PORT: 1
|
||||
MAIL_USERNAME: e2e
|
||||
MAIL_PASSWORD: e2e
|
||||
MAIL_FROM: e2e@example.com
|
||||
MAIL_FROM_NAME: PPR E2E
|
||||
|
||||
web:
|
||||
container_name: ppr_e2e_web
|
||||
ports:
|
||||
- "${E2E_WEB_PORT_EXTERNAL:-18055}:80"
|
||||
environment:
|
||||
BASE_URL: ""
|
||||
command: >
|
||||
sh -c "if [ -z \"$${BASE_URL}\" ]; then API_BASE='/api/v1'; else API_BASE=\"$${BASE_URL}/api/v1\"; fi;
|
||||
printf 'window.PPR_CONFIG = { apiBase: \"%s\" };' \"$${API_BASE}\" > /usr/share/nginx/html/config.js;
|
||||
nginx -g 'daemon off;'"
|
||||
|
||||
e2e:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: tests/e2e/Dockerfile
|
||||
working_dir: /workspace
|
||||
volumes:
|
||||
- .:/workspace
|
||||
environment:
|
||||
E2E_BASE_URL: http://web
|
||||
E2E_ADMIN_USERNAME: ${E2E_ADMIN_USERNAME:-}
|
||||
E2E_ADMIN_PASSWORD: ${E2E_ADMIN_PASSWORD:-}
|
||||
E2E_HEALTH_URL: http://api:8000/health
|
||||
E2E_ARTIFACT_UID: ${E2E_ARTIFACT_UID:-1000}
|
||||
E2E_ARTIFACT_GID: ${E2E_ARTIFACT_GID:-1000}
|
||||
PYTHONDONTWRITEBYTECODE: "1"
|
||||
depends_on:
|
||||
- web
|
||||
networks:
|
||||
- public_network
|
||||
command: >
|
||||
bash -lc "mkdir -p test-results &&
|
||||
python tests/e2e/wait_for_web.py &&
|
||||
pytest tests/e2e
|
||||
--browser chromium
|
||||
--tracing=retain-on-failure
|
||||
--screenshot=only-on-failure
|
||||
--junitxml=test-results/e2e-junit.xml
|
||||
--html=test-results/e2e-report.html
|
||||
--self-contained-html;
|
||||
status=$$?;
|
||||
chown -R \"$${E2E_ARTIFACT_UID}:$${E2E_ARTIFACT_GID}\" test-results || true;
|
||||
exit $$status"
|
||||
|
||||
volumes:
|
||||
ppr_e2e_mysql_data:
|
||||
Reference in New Issue
Block a user