6.2 KiB
Executable File
name, version, description, author, license, tags, compatibility, requirements, environment_variables, parameters, outputs, metadata
| name | version | description | author | license | tags | compatibility | requirements | environment_variables | parameters | outputs | metadata | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| integration-test-all | 1.0.0 | Run the canonical integration tests aligned with CI workflows, covering Cerberus, Coraza WAF, CrowdSec bouncer/decisions/startup, and rate limiting. Use when you need local parity with CI integration runs. | Charon Project | MIT |
|
|
|
|
|
|
|
Integration Test All
Overview
Executes the integration test suite for the Charon project aligned with CI workflows. This skill runs Cerberus full-stack, Coraza WAF, CrowdSec bouncer/decisions/startup, and rate limiting integration tests. It validates the core 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 ===
✓ Cerberus Integration Tests
✓ Coraza WAF Integration Tests
✓ CrowdSec Bouncer Integration Tests
✓ CrowdSec Decision Tests
✓ CrowdSec Startup 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:
- Cerberus Tests: WAF + rate limit + handler order checks
- Coraza WAF Tests: SQL injection, XSS, path traversal detection
- CrowdSec Bouncer Tests: IP blocking, decision synchronization
- CrowdSec Decision Tests: Decision API lifecycle
- CrowdSec Startup Tests: LAPI and bouncer startup validation
- 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-cerberus - Cerberus full stack tests
- 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
- integration-test-rate-limit - Rate limit tests
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: 2026-02-07
Maintained by: Charon Project Team
Source: scripts/integration-test-all.sh