]> git.sommitrealweird.co.uk Git - eoc.git/blobdiff - eocTests.py
add feature: configurable subject prefixing for mailing lists
[eoc.git] / eocTests.py
index acf99b326b00fe2b2c32df608606e852201fbb12..ca607972105674dc0e6e9d9dec2d332daca05afd 100644 (file)
@@ -244,6 +244,30 @@ class DotDirTestCases(unittest.TestCase):
         mlm = eoc.MailingListManager(DOTDIR)
         self.dotdir_is_ok()
 
+
+class RemoveSomeHeadersTest(unittest.TestCase):
+
+    def testRemoveSomeHeaders(self):
+        mlm = eoc.MailingListManager(DOTDIR)
+        ml = eoc.MailingList(mlm, "list@example.com")
+        mail = """\
+Header-1: this is a simple header
+Header-2: this
+    is
+    a
+    complex header with a colon: yes it is
+Header-3: odd numbered headers are simple
+
+Body.
+"""
+        mail2 = ml.remove_some_headers(mail, ["Header-2"])
+        self.failUnlessEqual(mail2, """\
+Header-1: this is a simple header
+Header-3: odd numbered headers are simple
+
+Body.
+""")
+
 class ListBase(unittest.TestCase):
 
     def setUp(self):
@@ -332,6 +356,7 @@ class ListOptionTestCases(ListBase):
                       "ignore-bounce": "no",
                       "language": "",
                       "pristine-headers": "",
+                      "subject-prefix": "",
                    })
 
     def testChangeOptions(self):
@@ -358,6 +383,7 @@ class ListOptionTestCases(ListBase):
                       "ignore-bounce": "no",
                       "language": "",
                       "pristine-headers": "",
+                      "subject-prefix": "",
                    })
 
 class SubscriberDatabaseTestCases(ListBase):
@@ -416,6 +442,33 @@ class SubscriberDatabaseTestCases(ListBase):
         subs.sort()
         self.failUnlessEqual(subs, addrs)
 
+    def testSubjectPrefix(self):
+        ml = self.mlm.create_list("prefix@example.com")
+        ml.cp.set("list", "subject-prefix", "[test]")
+        ml.save_config()
+
+        self.failUnlessEqual(ml.cp.get("list", "subject-prefix"), "[test]")
+
+        mail = """\
+To: test@example.com
+From: test2@example.com
+Subject: testing whether the subject prefix works
+Precedence: bulk
+
+Body.
+"""
+        prefixed_mail = ml.add_subject_prefix(mail)
+
+        self.failUnlessEqual(prefixed_mail, """\
+To: test@example.com
+From: test2@example.com
+Subject: [test] testing whether the subject prefix works
+Precedence: bulk
+
+Body.
+""")
+
+
 class ModerationBoxTestCases(ListBase):
 
     def testModerationBox(self):