- Marked 12 tests as skip pending feature implementation - Features tracked in GitHub issue #686 (system log viewer feature completion) - Tests cover sorting by timestamp/level/method/URI/status, pagination controls, filtering by text/level, download functionality - Unblocks Phase 2 at 91.7% pass rate to proceed to Phase 3 security enforcement validation - TODO comments in code reference GitHub #686 for feature completion tracking - Tests skipped: Pagination (3), Search/Filter (2), Download (2), Sorting (1), Log Display (4)
54 lines
1.4 KiB
Markdown
54 lines
1.4 KiB
Markdown
# 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!
|