- Created `qa-test-output-after-fix.txt` and `qa-test-output.txt` to log results of certificate page authentication tests. - Added `build.sh` for deterministic backend builds in CI, utilizing `go list` for efficiency. - Introduced `codeql_scan.sh` for CodeQL database creation and analysis for Go and JavaScript/TypeScript. - Implemented `dockerfile_check.sh` to validate Dockerfiles for base image and package manager mismatches. - Added `sourcery_precommit_wrapper.sh` to facilitate Sourcery CLI usage in pre-commit hooks.
49 lines
1.4 KiB
Markdown
49 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!
|