trace-field-notes / tests /test_redaction.py
JacobLinCool's picture
Update hackathon submission docs and app files
0fc4ec3 verified
Raw
History Blame Contribute Delete
1 kB
from __future__ import annotations
import unittest
from redaction import redact_text
class RedactionTests(unittest.TestCase):
def test_redacts_common_secret_shapes(self) -> None:
fake_github_token = "gh" + "p_" + "abcdefghijklmnopqrstuvwxyz123456"
text = (
"Authorization: Bearer abcdefghijklmnopqrstuvwxyz123456\n"
"email test@example.com\n"
f"token {fake_github_token}\n"
"path /Users/alice/project/private/file.py\n"
"url https://example.com/callback?code=secret&state=abc"
)
result = redact_text(text)
self.assertNotIn(fake_github_token, result.text)
self.assertNotIn("test@example.com", result.text)
self.assertNotIn("/Users/alice/project", result.text)
self.assertIn("[REDACTED_GITHUB_TOKEN]", result.text)
self.assertIn("[REDACTED_EMAIL]", result.text)
self.assertGreaterEqual(result.count, 4)
if __name__ == "__main__":
unittest.main()