Files
Charon/.github/skills/integration-test-all.SKILL.md
akanealw eec8c28fb3
Some checks are pending
Go Benchmark / Performance Regression Check (push) Waiting to run
Cerberus Integration / Cerberus Security Stack Integration (push) Waiting to run
Upload Coverage to Codecov / Backend Codecov Upload (push) Waiting to run
Upload Coverage to Codecov / Frontend Codecov Upload (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (go) (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Waiting to run
CrowdSec Integration / CrowdSec Bouncer Integration (push) Waiting to run
Docker Build, Publish & Test / build-and-push (push) Waiting to run
Docker Build, Publish & Test / Security Scan PR Image (push) Blocked by required conditions
Quality Checks / Auth Route Protection Contract (push) Waiting to run
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Waiting to run
Quality Checks / Backend (Go) (push) Waiting to run
Quality Checks / Frontend (React) (push) Waiting to run
Rate Limit integration / Rate Limiting Integration (push) Waiting to run
Security Scan (PR) / Trivy Binary Scan (push) Waiting to run
Supply Chain Verification (PR) / Verify Supply Chain (push) Waiting to run
WAF integration / Coraza WAF Integration (push) Waiting to run
changed perms
2026-04-22 18:19:14 +00:00

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
testing
docker
end-to-end
security
os shells
linux
darwin
bash
name version optional
docker >=24.0 false
name version optional
docker-compose >=2.0 false
name version optional
curl >=7.0 false
name description default required
DOCKER_BUILDKIT Enable Docker BuildKit for faster builds 1 false
name type description default required
verbose boolean Enable verbose output false false
name type description
test_results stdout Aggregated test results from all integration tests
category subcategory execution_time risk_level ci_cd_safe requires_network idempotent
integration-test all long medium true true true

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:

  1. Cerberus Tests: WAF + rate limit + handler order checks
  2. Coraza WAF Tests: SQL injection, XSS, path traversal detection
  3. CrowdSec Bouncer Tests: IP blocking, decision synchronization
  4. CrowdSec Decision Tests: Decision API lifecycle
  5. CrowdSec Startup Tests: LAPI and bouncer startup validation
  6. 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

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