main
py 16 lines 629 Bytes
Raw
1 import json
2 import logging
3
4 from app.observability import StructuredFormatter
5
6
7 def test_structured_logs_redact_headers_and_provider_query_tokens() -> None:
8 record = logging.LogRecord(
9 "app.gateway", logging.ERROR, __file__, 1,
10 "failure Authorization: Bearer header-secret url=https://provider.invalid/data?api_token=query-secret&fmt=json",
11 (), None,
12 )
13 output = json.loads(StructuredFormatter("ibkr-connector", "AZURE").format(record))
14 assert "header-secret" not in output["message"]
15 assert "query-secret" not in output["message"]
16 assert output["message"].count("<redacted>") == 2