23 lines
683 B
Python
23 lines
683 B
Python
import json
|
|
import logging
|
|
import unittest
|
|
|
|
from archive_clients.logging_config import RedactingJsonFormatter
|
|
|
|
|
|
class LoggingTests(unittest.TestCase):
|
|
def test_secret_is_redacted_from_message_and_fields(self):
|
|
formatter = RedactingJsonFormatter(["shared-secret"])
|
|
record = logging.LogRecord(
|
|
"test", logging.INFO, __file__, 1,
|
|
"token=%s", ("shared-secret",), None,
|
|
)
|
|
record.error_type = "shared-secret"
|
|
rendered = formatter.format(record)
|
|
self.assertNotIn("shared-secret", rendered)
|
|
self.assertEqual(json.loads(rendered)["error_type"], "[REDACTED]")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|