tests: add local Docker end-to-end suite (Traefik + Crowdsec)

A per-scenario end-to-end suite that boots real Traefik + Crowdsec containers
and exercises the plugin loaded from a local path. Scenarios: stream / live /
none modes, trusted IPs, custom ban page, captcha, and appsec.

This suite is local-only (run with `make e2e`): it boots a real Crowdsec and,
for appsec, downloads the OWASP CRS collections — heavier and less
deterministic than CI needs. CI runs a separate, lighter binary + mock-LAPI
suite instead (see the companion PR).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
mhx
2026-06-06 12:04:08 +02:00
co-authored by Claude Opus 4.8
parent 71d845faae
commit 66b57496f8
20 changed files with 880 additions and 1 deletions
+8 -1
View File
@@ -1,7 +1,9 @@
.PHONY: lint test vendor clean
.PHONY: lint test vendor clean e2e
export GO111MODULE=on
E2E_SCENARIOS := stream-mode live-mode none-mode trusted-ips custom-ban-page captcha appsec
default: lint test
lint:
@@ -13,6 +15,11 @@ test:
yaegi_test:
yaegi test -v .
e2e: $(addprefix e2e_,$(E2E_SCENARIOS))
e2e_%:
./tests/e2e/scenarios/$*/run.sh
vendor:
go mod vendor