crawailer/test-server/docker-compose.yml
Crawailer Developer fd836c90cf Complete Phase 1 critical test coverage expansion and begin Phase 2
Phase 1 Achievements (47 new test scenarios):
• Modern Framework Integration Suite (20 scenarios)
  - React 18 with hooks, state management, component interactions
  - Vue 3 with Composition API, reactivity system, watchers
  - Angular 17 with services, RxJS observables, reactive forms
  - Cross-framework compatibility and performance comparison

• Mobile Browser Compatibility Suite (15 scenarios)
  - iPhone 13/SE, Android Pixel/Galaxy, iPad Air configurations
  - Touch events, gesture support, viewport adaptation
  - Mobile-specific APIs (orientation, battery, network)
  - Safari/Chrome mobile quirks and optimizations

• Advanced User Interaction Suite (12 scenarios)
  - Multi-step form workflows with validation
  - Drag-and-drop file handling and complex interactions
  - Keyboard navigation and ARIA accessibility
  - Multi-page e-commerce workflow simulation

Phase 2 Started - Production Network Resilience:
• Enterprise proxy/firewall scenarios with content filtering
• CDN failover strategies with geographic load balancing
• HTTP connection pooling optimization
• DNS failure recovery mechanisms

Infrastructure Enhancements:
• Local test server with React/Vue/Angular demo applications
• Production-like SPAs with complex state management
• Cross-platform mobile/tablet/desktop configurations
• Network resilience testing framework

Coverage Impact:
• Before: ~70% production coverage (280+ scenarios)
• After Phase 1: ~85% production coverage (327+ scenarios)
• Target Phase 2: ~92% production coverage (357+ scenarios)

Critical gaps closed for modern framework support (90% of websites)
and mobile browser compatibility (60% of traffic).
2025-09-18 09:35:31 -06:00

44 lines
855 B
YAML

services:
caddy:
image: caddy:2-alpine
container_name: crawailer-test-server
restart: unless-stopped
ports:
- "8083:80"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./sites:/srv
- caddy_data:/data
- caddy_config:/config
networks:
- caddy
labels:
- "caddy.route=/health"
- "caddy.route.respond=/health * 200"
environment:
- CADDY_INGRESS_NETWORKS=caddy
# Optional: Local DNS for easier testing
dnsmasq:
image: jpillora/dnsmasq
container_name: crawailer-dns
restart: unless-stopped
ports:
- "53:53/udp"
volumes:
- ./dnsmasq.conf:/etc/dnsmasq.conf
cap_add:
- NET_ADMIN
networks:
- caddy
profiles:
- dns
volumes:
caddy_data:
external: false
caddy_config:
networks:
caddy:
external: false