From 432fe3c5e7580ad0b43657a1fdcf89f93aa4c8b4 Mon Sep 17 00:00:00 2001 From: Christopher Broderick Date: Sat, 29 Mar 2025 11:58:32 +0000 Subject: [PATCH] Fix linting errors --- helpdesk/email.py | 4 +++- helpdesk/tests/test_get_email.py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/helpdesk/email.py b/helpdesk/email.py index 58f6bd72..893859a7 100644 --- a/helpdesk/email.py +++ b/helpdesk/email.py @@ -617,7 +617,9 @@ def create_object_from_email_message(message, ticket_id, payload, files, logger) new = True else: # Possibly an email with no body but has an attachment - logger.debug("The QUEUE_EMAIL_BOX_UPDATE_ONLY setting is True so new ticket not created.") + logger.debug( + "The QUEUE_EMAIL_BOX_UPDATE_ONLY setting is True so new ticket not created." + ) return None # Old issue being re-opened elif ticket.status == Ticket.CLOSED_STATUS: diff --git a/helpdesk/tests/test_get_email.py b/helpdesk/tests/test_get_email.py index cb7f33a1..835c7406 100644 --- a/helpdesk/tests/test_get_email.py +++ b/helpdesk/tests/test_get_email.py @@ -47,6 +47,14 @@ fake_time = time.time() class GetEmailCommonTests(TestCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + + @classmethod + def tearDownClass(cls): + super().tearDownClass() + def setUp(self): self.queue_public = Queue.objects.create(title="Test", slug="test") self.logger = logging.getLogger("helpdesk") @@ -484,6 +492,30 @@ class GetEmailCommonTests(TestCase): % (email_att_filename), ) + @override_settings(QUEUE_EMAIL_BOX_UPDATE_ONLY=False) + def test_email_for_new_ticket_when_setting_allows_create(self): + """ + A new ticket is created by email if the QUEUE_EMAIL_BOX_UPDATE_ONLY setting is False + """ + message, _, _ = utils.generate_text_email(locale="en_GB") + ticket = helpdesk.email.extract_email_metadata( + message.as_string(), self.queue_public, self.logger + ) + self.assertTrue(ticket is not None, "Ticket not created when it should be.") + + @override_settings(QUEUE_EMAIL_BOX_UPDATE_ONLY=True) + def test_email_for_no_new_ticket_when_setting_only_allows_update(self): + """ + A new ticket cannot be created by email if the QUEUE_EMAIL_BOX_UPDATE_ONLY setting is True + """ + message, _, _ = utils.generate_text_email(locale="es_ES") + ticket = helpdesk.email.extract_email_metadata( + message.as_string(), self.queue_public, self.logger + ) + self.assertTrue( + ticket is None, f"Ticket was created when it should not be: {ticket}" + ) + class EmailTaskTests(TestCase): def setUp(self):