- P2: Remove dead heredoc from run.sh mixed scenario
- P2: Add setup() warmup to seed real tokens for standalone scenarios
- P3: Replace handleSummary file output with --summary-export in run.sh
- P3: Add .gitignore for k6 results and .env
- Fix stray closing brace in scripts/load-test/lib/common.js
Co-Authored-By: Paperclip <noreply@paperclip.ing>
- Rewrote spamshield.js to test real endpoints: POST /sms/classify,
POST /number/reputation, POST /call/analyze, POST /feedback,
GET /history, GET /statistics
- Added proper P99 latency thresholds per classification type:
SMS classify < 150ms, number reputation < 300ms, call analyze < 400ms
- Previous version tested non-existent endpoints (/classify, /health, /blocklist/check)
Co-Authored-By: Paperclip <noreply@paperclip.ing>
- Add load-test job to ci.yml that runs after docker-build on push to main
- Create combined load test runner (scripts/load-test/run-all.sh) for all services
- Create k6 load test scripts for api, darkwatch, spamshield, and voiceprint
- Add shared k6 utilities (lib/common.js)
- Update load-test.yml to support all services and report artifacts
- Configure k6 cloud output and P99 threshold validation
- Generate load test report as CI artifact
Co-Authored-By: Paperclip <noreply@paperclip.ing>