From 50651db89e9f5c322e3b68586e8cc5f8ee7e569c Mon Sep 17 00:00:00 2001 From: ErrorNoInternet Date: Wed, 8 Jan 2025 13:52:27 -0500 Subject: [PATCH] test: add secret filtering --- tests/__init__.py | 4 ++-- tests/test_filter_secrets.py | 21 +++++++++++++++++++++ utils.py | 4 ++-- 3 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 tests/test_filter_secrets.py diff --git a/tests/__init__.py b/tests/__init__.py index 49a4bf8..4abee9e 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,3 +1,3 @@ -from . import test_format_duration +from . import test_filter_secrets, test_format_duration -__all__ = ["test_format_duration"] +__all__ = ["test_format_duration", "test_filter_secrets"] diff --git a/tests/test_filter_secrets.py b/tests/test_filter_secrets.py new file mode 100644 index 0000000..8cda5e1 --- /dev/null +++ b/tests/test_filter_secrets.py @@ -0,0 +1,21 @@ +import unittest + +import utils + + +class TestFilterSecrets(unittest.TestCase): + def test_filter_secrets(self): + secret = "PLACEHOLDER_TOKEN" + self.assertFalse( + secret in utils.filter_secrets(f"HELLO{secret}WORLD", {"TOKEN": secret}) + ) + self.assertFalse(secret in utils.filter_secrets(secret, {"TOKEN": secret})) + self.assertFalse( + secret in utils.filter_secrets(f"123{secret}", {"TOKEN": secret}) + ) + self.assertFalse( + secret in utils.filter_secrets(f"{secret}{secret}", {"TOKEN": secret}) + ) + self.assertFalse( + secret in utils.filter_secrets(f"{secret}@#(*&*$)", {"TOKEN": secret}) + ) diff --git a/utils.py b/utils.py index c52055f..b19b38b 100644 --- a/utils.py +++ b/utils.py @@ -112,8 +112,8 @@ async def invalid_user_handler(interaction): ) -def filter_secrets(text: str) -> str: - for secret_name, secret in constants.SECRETS.items(): +def filter_secrets(text: str, secrets=constants.SECRETS) -> str: + for secret_name, secret in secrets.items(): if not secret: continue text = text.replace(secret, f"<{secret_name}>")