# Simplified E2E Testing Configuration # This uses the existing infrastructure with test-specific additions # Run from the alga-psa root directory services: # Test-specific PostgreSQL instance postgres-test: image: ankane/pgvector:latest container_name: ${APP_NAME:-sebastian}_postgres_test environment: POSTGRES_DB: server_test POSTGRES_USER: postgres POSTGRES_PASSWORD_FILE: /run/secrets/postgres_password secrets: - postgres_password ports: - "5433:5432" networks: - app-network healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres -d server_test"] interval: 10s timeout: 5s retries: 5 # Test-specific Redis instance redis-test: build: context: . dockerfile: redis/Dockerfile container_name: ${APP_NAME:-sebastian}_redis_test environment: REDIS_PASSWORD_FILE: /run/secrets/redis_password secrets: - redis_password ports: - "6380:6379" networks: - app-network healthcheck: test: ["CMD", "redis-cli", "--raw", "incr", "ping"] interval: 10s timeout: 3s retries: 5 # MailHog for email testing mailhog: image: mailhog/mailhog:latest container_name: ${APP_NAME:-sebastian}_mailhog_test ports: - "1025:1025" # SMTP - "8025:8025" # Web UI networks: - app-network healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8025"] interval: 30s timeout: 10s retries: 3 # WireMock for webhook mocking webhook-mock: image: wiremock/wiremock:latest container_name: ${APP_NAME:-sebastian}_webhook_mock_test ports: - "8080:8080" volumes: - ./test-config/wiremock:/home/wiremock networks: - app-network command: ["--global-response-templating", "--verbose"] healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8080/__admin/health"] interval: 30s timeout: 10s retries: 3 secrets: postgres_password: file: ./secrets/postgres_password redis_password: file: ./secrets/redis_password networks: app-network: name: ${APP_NAME:-sebastian}_app-network-test driver: bridge