forked from cleveragents/cleveragents-core
3e3e9b4b5d
Implements AuditEventSubscriber that subscribes to all 9 security-relevant EventType members and persists redacted audit entries via AuditService.record(). Key components: - AuditEventSubscriber: bridges EventBus and AuditService (SEC7) - SECURITY_EVENT_MAP: maps EventType enum to audit type strings - Redaction via redact_dict() on event details before persistence - Graceful error handling: failures logged, never propagated Post-review fixes applied: - BUG-1: Remove dead correlation_id null-check guard (DomainEvent.correlation_id is always non-None via ULID default_factory) - SEC-2: Redact exception messages in warning logs via redact_value() to prevent potential leakage of sensitive internal state (e.g. DB connection strings) - PERF-3: Pre-generate unique DomainEvent instances in ASV benchmark setup to avoid skew from reusing a single frozen object - Wire event_bus from the DI container into CorrectionService (plan.py), ConfigService (config.py, skill.py x2, server.py), and PersistentSessionService (session.py) at their CLI construction sites. Closes #581
23 lines
750 B
Python
23 lines
750 B
Python
"""Mock implementations for testing.
|
|
|
|
This package contains mock implementations used only during testing.
|
|
Following the mock placement rule, all mocks must exist only in the
|
|
features/ directory and never in production code (implementation_plan.md).
|
|
"""
|
|
|
|
from .fake_provider import FakeProviderInfo, FakeProviderRegistry
|
|
from .lsp_transport_mock import MockLspTransport, parse_lsp_responses
|
|
from .mock_ai_provider import MockAIProvider
|
|
from .mock_mcp_transport import MockMCPTransport
|
|
from .transient_fail_audit_service import TransientFailAuditService
|
|
|
|
__all__ = [
|
|
"FakeProviderInfo",
|
|
"FakeProviderRegistry",
|
|
"MockAIProvider",
|
|
"MockLspTransport",
|
|
"MockMCPTransport",
|
|
"TransientFailAuditService",
|
|
"parse_lsp_responses",
|
|
]
|