Some checks failed
Go Benchmark / Performance Regression Check (push) Has been cancelled
Cerberus Integration / Cerberus Security Stack Integration (push) Has been cancelled
Upload Coverage to Codecov / Backend Codecov Upload (push) Has been cancelled
Upload Coverage to Codecov / Frontend Codecov Upload (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (go) (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Has been cancelled
CrowdSec Integration / CrowdSec Bouncer Integration (push) Has been cancelled
Docker Build, Publish & Test / build-and-push (push) Has been cancelled
Quality Checks / Auth Route Protection Contract (push) Has been cancelled
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Has been cancelled
Quality Checks / Backend (Go) (push) Has been cancelled
Quality Checks / Frontend (React) (push) Has been cancelled
Rate Limit integration / Rate Limiting Integration (push) Has been cancelled
Security Scan (PR) / Trivy Binary Scan (push) Has been cancelled
Supply Chain Verification (PR) / Verify Supply Chain (push) Has been cancelled
WAF integration / Coraza WAF Integration (push) Has been cancelled
Docker Build, Publish & Test / Security Scan PR Image (push) Has been cancelled
Repo Health Check / Repo health (push) Has been cancelled
History Rewrite Dry-Run / Dry-run preview for history rewrite (push) Has been cancelled
Prune Renovate Branches / prune (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
Nightly Build & Package / sync-development-to-nightly (push) Has been cancelled
Nightly Build & Package / Trigger Nightly Validation Workflows (push) Has been cancelled
Nightly Build & Package / build-and-push-nightly (push) Has been cancelled
Nightly Build & Package / test-nightly-image (push) Has been cancelled
Nightly Build & Package / verify-nightly-supply-chain (push) Has been cancelled
54 lines
1.4 KiB
Markdown
Executable File
54 lines
1.4 KiB
Markdown
Executable File
# Scripts Directory
|
|
|
|
## Running Tests Locally Before Pushing to CI
|
|
|
|
### WAF Integration Test
|
|
|
|
**Always run this locally before pushing WAF-related changes to avoid CI failures:**
|
|
|
|
```bash
|
|
# From project root
|
|
bash ./scripts/coraza_integration.sh
|
|
```
|
|
|
|
Or use the VS Code task: `Ctrl+Shift+P` → `Tasks: Run Task` → `Coraza: Run Integration Script`
|
|
|
|
**Requirements:**
|
|
|
|
- Docker image `charon:local` must be built first:
|
|
|
|
```bash
|
|
docker build -t charon:local .
|
|
```
|
|
|
|
- The script will:
|
|
1. Start a test container with WAF enabled
|
|
2. Create a backend container (httpbin)
|
|
3. Test WAF in block mode (expect HTTP 403)
|
|
4. Test WAF in monitor mode (expect HTTP 200)
|
|
5. Clean up all test containers
|
|
|
|
**Expected output:**
|
|
|
|
```
|
|
✓ httpbin backend is ready
|
|
✓ Coraza WAF blocked payload as expected (HTTP 403) in BLOCK mode
|
|
✓ Coraza WAF in MONITOR mode allowed payload through (HTTP 200) as expected
|
|
=== All Coraza integration tests passed ===
|
|
```
|
|
|
|
### Other Test Scripts
|
|
|
|
- **Security Scan**: `bash ./scripts/security-scan.sh`
|
|
- **Go Test Coverage**: `bash ./scripts/go-test-coverage.sh`
|
|
- **Frontend Test Coverage**: `bash ./scripts/frontend-test-coverage.sh`
|
|
|
|
## CI/CD Workflows
|
|
|
|
Changes to these scripts may trigger CI workflows:
|
|
|
|
- `coraza_integration.sh` → WAF Integration Tests workflow
|
|
- Files in `.github/workflows/` directory control CI behavior
|
|
|
|
**Tip**: Run tests locally to save CI minutes and catch issues faster!
|