From 1577f629211138a4be13079f0900f7635bc9f98f Mon Sep 17 00:00:00 2001 From: gjcthinkst <135841050+gjcthinkst@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:22:57 +0200 Subject: [PATCH] Add unit tests for exposed key email rendering (#632) --- tests/units/test_channel_output_email.py | 28 ++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/units/test_channel_output_email.py b/tests/units/test_channel_output_email.py index a4d2e7c22..25533a6a9 100644 --- a/tests/units/test_channel_output_email.py +++ b/tests/units/test_channel_output_email.py @@ -22,6 +22,7 @@ DNSTokenHit, Memo, TokenAlertDetails, + TokenExposedDetails, TokenTypes, ) from canarytokens.settings import FrontendSettings, SwitchboardSettings @@ -134,6 +135,33 @@ def test_aws_keys_safetynet_rendered_html(settings: SwitchboardSettings): assert "https://some.link/history/here" in email_template +def test_aws_key_exposed_rendered_html(settings: SwitchboardSettings): + memo = "This is a test Memo" + manage_url = "https://some.link/manage/here" + public_location = "http://example.com/exposed/key" + key_id = "ABCDEFG" + + details = TokenExposedDetails( + token_type=TokenTypes.AWS_KEYS, + token=Canarytoken().value(), + memo=memo, + manage_url=manage_url, + key_id=key_id, + public_location=public_location, + exposed_time=datetime.datetime(2030, 12, 21, 12, 0, 0), + ) + email_template = EmailOutputChannel.format_token_exposed_html( + details, + Path(settings.TEMPLATES_PATH, f"{EmailTemplates.NOTIFICATION_TOKEN_EXPOSED}"), + ) + assert memo in email_template + assert manage_url in email_template + assert public_location in email_template + assert key_id in email_template + assert "2030/12/21" in email_template + assert "12:00" in email_template + + def _get_send_token_details() -> TokenAlertDetails: return TokenAlertDetails( channel="DNS",