Files
han-app/codebase/backend/sms-service/tests/unit/test_logging_security.py
T

32 lines
958 B
Python

from app.logging_security import REDACTED, redact_event, sanitize_text
def test_redacts_sensitive_fields_recursively() -> None:
event = {
"api_key": "provider-key",
"nested": {
"callback_url": "https://user:password@example.test/callback",
"status": "accepted",
},
}
redacted = redact_event(None, "info", event)
assert redacted["api_key"] == REDACTED
assert redacted["nested"]["callback_url"] == REDACTED
assert redacted["nested"]["status"] == "accepted"
def test_redacts_credentials_embedded_in_text() -> None:
value = (
"POST https://callback-user:callback-password@example.test/cb"
"?api_key=query-secret Authorization=Basic header-secret"
)
redacted = sanitize_text(value)
assert "callback-password" not in redacted
assert "query-secret" not in redacted
assert "header-secret" not in redacted
assert redacted.count(REDACTED) == 3