| name | integration-test-all |
| version | 1.0.0 |
| description | Run all integration tests including WAF, CrowdSec, Cerberus, and rate limiting |
| author | Charon Project |
| license | MIT |
| tags | integration, testing, docker, end-to-end, security |
| compatibility | [object Object] |
| requirements | [object Object], [object Object], [object Object] |
| environment_variables | [object Object] |
| parameters | [object Object] |
| outputs | [object Object] |
| metadata | [object Object] |
Integration Test All
Overview
Executes the complete integration test suite for the Charon project. This skill runs all integration tests including WAF functionality (Coraza), CrowdSec bouncer integration, Cerberus backend protection, and rate limiting. It validates the entire security stack in a containerized environment.
This is the comprehensive test suite that ensures all components work together correctly before deployment.
Prerequisites
- Docker 24.0 or higher installed and running
- Docker Compose 2.0 or higher
- curl 7.0 or higher for API testing
- At least 4GB of available RAM for containers
- Network access for pulling container images
- Docker daemon running with sufficient disk space
Usage
Basic Usage
Run all integration tests:
cd /path/to/charon
.github/skills/scripts/skill-runner.sh integration-test-all
Verbose Mode
Run with detailed output:
VERBOSE=1 .github/skills/scripts/skill-runner.sh integration-test-all
CI/CD Integration
For use in GitHub Actions workflows:
- name: Run All Integration Tests
run: .github/skills/scripts/skill-runner.sh integration-test-all
timeout-minutes: 20
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| verbose | boolean | No | false | Enable verbose output |
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
| DOCKER_BUILDKIT | No | 1 | Enable BuildKit for faster builds |
| SKIP_CLEANUP | No | false | Skip container cleanup after tests |
| TEST_TIMEOUT | No | 300 | Timeout in seconds for each test |
Outputs
Success Exit Code
- 0: All integration tests passed
Error Exit Codes
- 1: One or more tests failed
- 2: Docker environment setup failed
- 3: Container startup timeout
- 4: Network connectivity issues
Console Output
Example output:
=== Running Integration Test Suite ===
✓ Coraza WAF Integration Tests
✓ CrowdSec Bouncer Integration Tests
✓ CrowdSec Decision API Tests
✓ Cerberus Authentication Tests
✓ Rate Limiting Tests
All integration tests passed!
Examples
Example 1: Basic Execution
.github/skills/scripts/skill-runner.sh integration-test-all
Example 2: Verbose with Custom Timeout
VERBOSE=1 TEST_TIMEOUT=600 .github/skills/scripts/skill-runner.sh integration-test-all
Example 3: Skip Cleanup for Debugging
SKIP_CLEANUP=true .github/skills/scripts/skill-runner.sh integration-test-all
Example 4: CI/CD Pipeline
# Run with specific Docker configuration
DOCKER_BUILDKIT=1 .github/skills/scripts/skill-runner.sh integration-test-all
Test Coverage
This skill executes the following test suites:
- Coraza WAF Tests: SQL injection, XSS, path traversal detection
- CrowdSec Bouncer Tests: IP blocking, decision synchronization
- CrowdSec Decision Tests: Decision creation, removal, persistence
- Cerberus Tests: Authentication, authorization, token management
- Rate Limit Tests: Request throttling, burst handling
Error Handling
Common Errors
Error: Cannot connect to Docker daemon
Solution: Ensure Docker is running: sudo systemctl start docker
Error: Port already in use
Solution: Stop conflicting services or run cleanup: docker compose down
Error: Container startup timeout
Solution: Check Docker logs: docker compose logs
Error: Network connectivity issues
Solution: Verify network configuration: docker network ls
Troubleshooting
- Slow execution: Check available system resources
- Random failures: Increase TEST_TIMEOUT
- Cleanup issues: Manually run
docker compose down -v
Related Skills
- integration-test-coraza - Coraza WAF tests only
- integration-test-crowdsec - CrowdSec tests only
- integration-test-crowdsec-decisions - Decision API tests
- integration-test-crowdsec-startup - Startup tests
- docker-verify-crowdsec-config - Config validation
Notes
- Execution Time: Long execution (10-15 minutes typical)
- Resource Intensive: Requires significant CPU and memory
- Network Required: Pulls Docker images and tests network functionality
- Idempotency: Safe to run multiple times (cleanup between runs)
- Cleanup: Automatically cleans up containers unless SKIP_CLEANUP=true
- CI/CD: Designed for automated pipelines with proper timeout configuration
- Isolation: Tests run in isolated Docker networks
Last Updated: 2025-12-20
Maintained by: Charon Project Team
Source: scripts/integration-test.sh