all repos — listfix @ 8caaea6e73106c67ae1b2e73ce32efb17147ffa9

Postfix Mailing List Software; Maintained on behalf the of Agency Economy Incorporated NFP.

Some additional tests

	modified:   listfix/test.py
Brian Barto bartobrian@gmail.com
Sat, 09 Apr 2022 15:16:47 -0400
commit

8caaea6e73106c67ae1b2e73ce32efb17147ffa9

parent

156df726086b5dc8f34d79babdc41bbbe40ea743

1 files changed, 51 insertions(+), 2 deletions(-)

jump to
M listfix/test.pylistfix/test.py

@@ -3,7 +3,7 @@ import os

import listfix from os.path import exists -from listfix import DB, Log +from listfix import DB, Log, Email class Test(unittest.TestCase):

@@ -123,4 +123,53 @@ f = open(self.log_name, "r")

last_line = f.readlines()[-1] self.assertEqual(last_line[0:7], "[DEBUG]") self.assertEqual(last_line[-15:-1], test_text) - f.close()+ f.close() + + def test_email(self): + + sender_email = "bartobrian@gmail.com" + sender_name = "Brian Barto" + + headers_keep = [] + headers_strip = [] + headers_strip.append(f"From: \"{sender_name}\" <{sender_email}>\n") + headers_keep.append("To: <test@cityviewgr.com>\n") + headers_keep.append("Subject: This is a test\n") + headers_keep.append("Content-Type: multipart/alternative;\n") + headers_keep.append(" boundary=\"----=_NextPart_000_068F_01D83485.A98F86C0\"\n") + headers_strip.append("Auto-Submitted: auto-replied\n") + headers_strip.append("Gar: gar\n") + + content = [] + content.extend(headers_keep) + content.extend(headers_strip) + content.append("\n") + content.append("Body content line 1, This is a test email\n") + content.append("Body content line 2, This is a test email\n") + email = Email(content) + + ## get_content() + for i, line in enumerate(email.get_content()): + self.assertEqual(content[i], line) + + ## get_headers() + self.assertEqual(len(email.get_headers()), len(headers_keep) + len(headers_strip)) + + ## get_header() + self.assertEqual(email.get_header("From"), headers_strip[0].rstrip()) + self.assertEqual(email.get_header("To"), headers_keep[0].rstrip()) + self.assertEqual(email.get_header("Subject"), headers_keep[1].rstrip()) + self.assertEqual(email.get_header("Content-Type"), headers_keep[2] + headers_keep[3].rstrip()) + + ## get_sender_email() + self.assertEqual(email.get_sender_email(), sender_email) + + ## get_sender_name() + self.assertEqual(email.get_sender_name(), sender_name) + + ## check_auto_reply() + self.assertTrue(email.check_auto_reply()) + + ## strip_headers() + email.strip_headers(exclude = ["To", "Subject", "Content-[^:]+"]) + self.assertEqual(len(email.get_headers()), len(headers_keep))