Files
hive/docker-compose.test.yml
anthonyrawlins 268214d971 Major WHOOSH system refactoring and feature enhancements
- Migrated from HIVE branding to WHOOSH across all components
- Enhanced backend API with new services: AI models, BZZZ integration, templates, members
- Added comprehensive testing suite with security, performance, and integration tests
- Improved frontend with new components for project setup, AI models, and team management
- Updated MCP server implementation with WHOOSH-specific tools and resources
- Enhanced deployment configurations with production-ready Docker setups
- Added comprehensive documentation and setup guides
- Implemented age encryption service and UCXL integration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-27 08:34:48 +10:00

134 lines
3.5 KiB
YAML

# Docker Compose for WHOOSH Testing Environment
version: '3.8'
services:
# PostgreSQL Database for Testing
whoosh_postgres_test:
image: postgres:15
container_name: whoosh_postgres_test
environment:
POSTGRES_DB: whoosh_test
POSTGRES_USER: whoosh
POSTGRES_PASSWORD: test_password_123
POSTGRES_HOST_AUTH_METHOD: trust
ports:
- "5433:5432"
volumes:
- postgres_test_data:/var/lib/postgresql/data
- ./database/init_test.sql:/docker-entrypoint-initdb.d/init.sql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U whoosh -d whoosh_test"]
interval: 10s
timeout: 5s
retries: 5
networks:
- whoosh_test_network
# Redis Cache for Testing
whoosh_redis_test:
image: redis:7-alpine
container_name: whoosh_redis_test
ports:
- "6380:6379"
volumes:
- redis_test_data:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
networks:
- whoosh_test_network
# WHOOSH Backend (Test Mode)
whoosh_backend_test:
build:
context: ./backend
dockerfile: Dockerfile.test
container_name: whoosh_backend_test
ports:
- "8087:8087"
environment:
- DATABASE_URL=postgresql://whoosh:test_password_123@whoosh_postgres_test:5432/whoosh_test
- REDIS_URL=redis://whoosh_redis_test:6379/0
- ENVIRONMENT=testing
- CORS_ORIGINS=http://localhost:3000,http://localhost:3001
- GITEA_BASE_URL=http://gitea.home.deepblack.cloud
- GITEA_TOKEN=${GITEA_TOKEN:-test_token}
depends_on:
whoosh_postgres_test:
condition: service_healthy
whoosh_redis_test:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8087/health"]
interval: 30s
timeout: 10s
retries: 3
volumes:
- ./backend:/app
- template_storage:/app/templates
networks:
- whoosh_test_network
# WHOOSH Frontend (Test Mode)
whoosh_frontend_test:
build:
context: ./frontend
dockerfile: Dockerfile.test
container_name: whoosh_frontend_test
ports:
- "3001:3000"
environment:
- REACT_APP_API_URL=http://localhost:8087
- REACT_APP_ENVIRONMENT=testing
- NODE_ENV=development
depends_on:
- whoosh_backend_test
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000"]
interval: 30s
timeout: 10s
retries: 3
volumes:
- ./frontend/src:/app/src
- ./frontend/public:/app/public
networks:
- whoosh_test_network
# Test Runner Container
whoosh_test_runner:
build:
context: ./backend
dockerfile: Dockerfile.test-runner
container_name: whoosh_test_runner
environment:
- WHOOSH_API_URL=http://whoosh_backend_test:8087
- WHOOSH_FRONTEND_URL=http://whoosh_frontend_test:3000
- POSTGRES_URL=postgresql://whoosh:test_password_123@whoosh_postgres_test:5432/whoosh_test
depends_on:
whoosh_backend_test:
condition: service_healthy
whoosh_frontend_test:
condition: service_healthy
volumes:
- ./backend/tests:/app/tests
- ./test_results:/app/results
networks:
- whoosh_test_network
command: ["python", "-m", "pytest", "/app/tests", "-v", "--junitxml=/app/results/test_results.xml"]
volumes:
postgres_test_data:
driver: local
redis_test_data:
driver: local
template_storage:
driver: local
networks:
whoosh_test_network:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/16