forked from cleveragents/cleveragents-core
e3d3c7926d
Co-authored-by: Brent Edwards <brent.edwards@cleverthis.com> Co-committed-by: Brent Edwards <brent.edwards@cleverthis.com>
90 lines
3.8 KiB
Plaintext
90 lines
3.8 KiB
Plaintext
*** Settings ***
|
|
Documentation Integration test for AuditService EventBus wiring
|
|
Resource ${CURDIR}/common.resource
|
|
Suite Setup Setup Test Environment With Database Isolation
|
|
Suite Teardown Cleanup Test Environment
|
|
|
|
*** Variables ***
|
|
${HELPER} ${CURDIR}/helper_audit_wiring.py
|
|
|
|
*** Test Cases ***
|
|
Audit Subscriber Records Events
|
|
[Documentation] Verify AuditEventSubscriber records events from EventBus
|
|
[Tags] observability audit
|
|
${result}= Run Process ${PYTHON} ${HELPER} record_events
|
|
... cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} AUDIT_OK
|
|
|
|
Audit Subscriber Redacts Sensitive Data
|
|
[Documentation] Verify sensitive data is redacted in audit entries
|
|
[Tags] observability audit security
|
|
${result}= Run Process ${PYTHON} ${HELPER} redact_secrets
|
|
... cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} REDACT_OK
|
|
|
|
Audit Subscriber Ignores Non-Security Events
|
|
[Documentation] Verify non-security events are not recorded
|
|
[Tags] observability audit
|
|
${result}= Run Process ${PYTHON} ${HELPER} ignore_non_security
|
|
... cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} FILTER_OK
|
|
|
|
Container Wires Audit Subscriber
|
|
[Documentation] Verify DI container registers AuditEventSubscriber
|
|
[Tags] observability audit di
|
|
${result}= Run Process ${PYTHON} ${HELPER} container_wiring
|
|
... cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} CONTAINER_OK
|
|
|
|
E2E Plan Lifecycle Through Audit Pipeline
|
|
[Documentation] End-to-end: PlanLifecycleService cancel_plan -> EventBus -> AuditEventSubscriber -> AuditService DB
|
|
[Tags] observability audit e2e
|
|
${result}= Run Process ${PYTHON} ${HELPER} e2e_plan_lifecycle
|
|
... cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} E2E_OK
|
|
|
|
User Identity Field Propagates Through Audit Pipeline
|
|
[Documentation] DomainEvent.user_identity propagates via AuditEventSubscriber to AuditService DB entry
|
|
[Tags] observability audit identity
|
|
${result}= Run Process ${PYTHON} ${HELPER} user_identity_field
|
|
... cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} IDENTITY_FIELD_OK
|
|
|
|
User Identity Fallback From Details
|
|
[Documentation] Backward compat: user_identity extracted from details when field is None
|
|
[Tags] observability audit identity
|
|
${result}= Run Process ${PYTHON} ${HELPER} user_identity_details_fallback
|
|
... cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} IDENTITY_FALLBACK_OK
|
|
|
|
User Identity Field Precedence Over Details
|
|
[Documentation] DomainEvent.user_identity field takes precedence over details dict
|
|
[Tags] observability audit identity
|
|
${result}= Run Process ${PYTHON} ${HELPER} user_identity_field_precedence
|
|
... cwd=${WORKSPACE}
|
|
Log ${result.stdout}
|
|
Log ${result.stderr}
|
|
Should Be Equal As Integers ${result.rc} 0
|
|
Should Contain ${result.stdout} IDENTITY_PRECEDENCE_OK
|