test: add secret filtering

This commit is contained in:
Ryan 2025-01-08 13:52:27 -05:00
parent bb3c379755
commit 50651db89e
Signed by: ErrorNoInternet
GPG Key ID: 2486BFB7B1E6A4A3
3 changed files with 25 additions and 4 deletions

View File

@ -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"]

View File

@ -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})
)

View File

@ -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}>")