Claude Code Plugins

Community-maintained marketplace

Feedback

integration-test-all

@Wikid82/Charon
0
0

Run all integration tests including WAF, CrowdSec, Cerberus, and rate limiting

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

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:

  1. Coraza WAF Tests: SQL injection, XSS, path traversal detection
  2. CrowdSec Bouncer Tests: IP blocking, decision synchronization
  3. CrowdSec Decision Tests: Decision creation, removal, persistence
  4. Cerberus Tests: Authentication, authorization, token management
  5. 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

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