Teststrategie und Forgejo-Actions-CI aufsetzen #13

Closed
opened 2026-07-17 09:05:50 +02:00 by frank · 1 comment
Owner

Teil von #1.

Ziel

Die kritischen Protokoll-, Sicherheits- und Nebenläufigkeitseigenschaften werden automatisch geprüft.

Scope

  • Forgejo Actions Workflow für jeden Push und Pull Request.
  • CI-Schritte mindestens:
    • gofmt-Prüfung
    • go vet
    • go test ./...
    • go test -race ./...
    • govulncheck ./...
    • reproduzierbarer Build beider Betriebsmodi als ein Binary
  • Unit-Tests für Config, Policy, Framing, Auth und HTTP-Ausführung.
  • Integrationstests mit echten TCP-Verbindungen und httptest.
  • End-to-End-Test MCP-Client -> MCP-Port 9334 -> Tunnel-Port 9335 -> Private Proxy -> Zielserver.
  • Golden Tests für Wire-Protokoll.
  • Fuzz Targets für Frame-Decoder, Header-/URL-Normalisierung und Policy-Eingaben.
  • Fehlerfälle: falscher Key, Version-Mismatch, Disconnect, halboffene Verbindung, Timeout, Cancel, große Antwort, langsamer Leser und DNS-Rebinding.
  • Tests dürfen nicht vom öffentlichen Internet abhängen.
  • Abhängigkeiten und Toolchain-Versionen pinnen.

Akzeptanzkriterien

  • Workflow läuft auf Forgejo Actions grün.
  • Race Detector ist für die Tunnel- und Lifecycle-Tests aktiv.
  • govulncheck ist Teil der CI und dokumentiert reproduzierbar ausführbar.
  • E2E-Test beweist, dass der Zielrequest im Proxy-Prozess und nicht im MCP-Server ausgeführt wird.
  • Fuzz-Seed-Korpus enthält gültige sowie gezielt beschädigte Protokollframes.
  • README nennt die lokalen Prüfkommandos.

Referenzen

Teil von #1. ## Ziel Die kritischen Protokoll-, Sicherheits- und Nebenläufigkeitseigenschaften werden automatisch geprüft. ## Scope - Forgejo Actions Workflow für jeden Push und Pull Request. - CI-Schritte mindestens: - gofmt-Prüfung - go vet - go test ./... - go test -race ./... - govulncheck ./... - reproduzierbarer Build beider Betriebsmodi als ein Binary - Unit-Tests für Config, Policy, Framing, Auth und HTTP-Ausführung. - Integrationstests mit echten TCP-Verbindungen und httptest. - End-to-End-Test MCP-Client -> MCP-Port 9334 -> Tunnel-Port 9335 -> Private Proxy -> Zielserver. - Golden Tests für Wire-Protokoll. - Fuzz Targets für Frame-Decoder, Header-/URL-Normalisierung und Policy-Eingaben. - Fehlerfälle: falscher Key, Version-Mismatch, Disconnect, halboffene Verbindung, Timeout, Cancel, große Antwort, langsamer Leser und DNS-Rebinding. - Tests dürfen nicht vom öffentlichen Internet abhängen. - Abhängigkeiten und Toolchain-Versionen pinnen. ## Akzeptanzkriterien - Workflow läuft auf Forgejo Actions grün. - Race Detector ist für die Tunnel- und Lifecycle-Tests aktiv. - govulncheck ist Teil der CI und dokumentiert reproduzierbar ausführbar. - E2E-Test beweist, dass der Zielrequest im Proxy-Prozess und nicht im MCP-Server ausgeführt wird. - Fuzz-Seed-Korpus enthält gültige sowie gezielt beschädigte Protokollframes. - README nennt die lokalen Prüfkommandos. ## Referenzen - Go Security Best Practices: https://go.dev/doc/security/best-practices - Go Fuzzing: https://go.dev/doc/security/fuzz/ - govulncheck: https://go.dev/doc/security/vuln/
Author
Owner

🤖 forge agent started

  • Agent: codex
  • Model: gpt-5.6-sol
  • Mode: pr
  • Trigger: assignee=agent|+5 mapped

Teststrategie und Forgejo-Actions-CI aufsetzen — Teil von #1.

🤖 **forge agent started** - Agent: `codex` - Model: `gpt-5.6-sol` - Mode: `pr` - Trigger: `assignee=agent|+5 mapped` Teststrategie und Forgejo-Actions-CI aufsetzen — Teil von #1.
frank closed this issue 2026-07-17 16:17:45 +02:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
ai-tools/private-proxy-mcp#13
No description provided.