CapabilityService._emit_audit was already the single audit call site for both transports since T02, but nothing failed if a future change diverged one transport's shape. Add tests/test_audit_parity.py: same capability called through protocol="rest" and protocol="mcp" (allow path and deny path) must produce identical audit events except request_id/timestamp/ latency_ms (expected to vary) and protocol (expected to differ). Also pins down that no audit event ever contains a secret-shaped field name. Confirmed via grep: no State Hub coupling anywhere in src/qonto_assistant/ -- the only audit sink is AuditLogger, so there's no per-call hot-path write to accidentally wire up. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fixtures/qonto | ||
| test_api.py | ||
| test_audit.py | ||
| test_audit_parity.py | ||
| test_fixture_client.py | ||
| test_mcp_auth.py | ||
| test_mcp_server.py | ||
| test_policy.py | ||
| test_qonto_client.py | ||
| test_snapshot_semantics.py | ||