summaryrefslogtreecommitdiff
path: root/Mailman/testing/test_handlers.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/testing/test_handlers.py')
-rw-r--r--Mailman/testing/test_handlers.py348
1 files changed, 0 insertions, 348 deletions
diff --git a/Mailman/testing/test_handlers.py b/Mailman/testing/test_handlers.py
index e6a846412..b44a1c2cc 100644
--- a/Mailman/testing/test_handlers.py
+++ b/Mailman/testing/test_handlers.py
@@ -39,7 +39,6 @@ from Mailman.testing.base import TestBase
from Mailman.Handlers import Acknowledge
from Mailman.Handlers import AfterDelivery
from Mailman.Handlers import Approve
-from Mailman.Handlers import CookHeaders
from Mailman.Handlers import FileRecips
from Mailman.Handlers import Hold
from Mailman.Handlers import MimeDel
@@ -136,352 +135,6 @@ X-BeenThere: %s
-class TestCookHeaders(TestBase):
- def test_transform_noack_to_xack(self):
- eq = self.assertEqual
- msg = email.message_from_string("""\
-X-Ack: yes
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {'noack': 1})
- eq(len(msg.get_all('x-ack')), 1)
- eq(msg['x-ack'], 'no')
-
- def test_original_sender(self):
- msg = email.message_from_string("""\
-From: aperson@example.org
-
-""", Message.Message)
- msgdata = {}
- CookHeaders.process(self._mlist, msg, msgdata)
- self.assertEqual(msgdata.get('original_sender'), 'aperson@example.org')
-
- def test_no_original_sender(self):
- msg = email.message_from_string("""\
-Subject: about this message
-
-""", Message.Message)
- msgdata = {}
- CookHeaders.process(self._mlist, msg, msgdata)
- self.assertEqual(msgdata.get('original_sender'), '')
-
- def test_xbeenthere(self):
- msg = email.message_from_string("""\
-From: aperson@example.org
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {})
- self.assertEqual(msg['x-beenthere'], '_xtest@example.com')
-
- def test_multiple_xbeentheres(self):
- eq = self.assertEqual
- msg = email.message_from_string("""\
-From: aperson@example.org
-X-BeenThere: alist@another.example.com
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {})
- eq(len(msg.get_all('x-beenthere')), 2)
- beentheres = msg.get_all('x-beenthere')
- beentheres.sort()
- eq(beentheres, ['_xtest@example.com', 'alist@another.example.com'])
-
- def test_nonexisting_mmversion(self):
- eq = self.assertEqual
- msg = email.message_from_string("""\
-From: aperson@example.org
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {})
- eq(msg['x-mailman-version'], Version.VERSION)
-
- def test_existing_mmversion(self):
- eq = self.assertEqual
- msg = email.message_from_string("""\
-From: aperson@example.org
-X-Mailman-Version: 3000
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {})
- eq(len(msg.get_all('x-mailman-version')), 1)
- eq(msg['x-mailman-version'], '3000')
-
- def test_nonexisting_precedence(self):
- eq = self.assertEqual
- msg = email.message_from_string("""\
-From: aperson@example.org
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {})
- eq(msg['precedence'], 'list')
-
- def test_existing_precedence(self):
- eq = self.assertEqual
- msg = email.message_from_string("""\
-From: aperson@example.org
-Precedence: junk
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {})
- eq(len(msg.get_all('precedence')), 1)
- eq(msg['precedence'], 'junk')
-
- def test_subject_munging_no_subject(self):
- self._mlist.subject_prefix = '[XTEST] '
- msg = email.message_from_string("""\
-From: aperson@example.org
-
-""", Message.Message)
- msgdata = {}
- CookHeaders.process(self._mlist, msg, msgdata)
- self.assertEqual(msgdata.get('origsubj'), '')
- self.assertEqual(str(msg['subject']), '[XTEST] (no subject)')
-
- def test_subject_munging(self):
- self._mlist.subject_prefix = '[XTEST] '
- msg = email.message_from_string("""\
-From: aperson@example.org
-Subject: About Mailman...
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {})
- self.assertEqual(msg['subject'], '[XTEST] About Mailman...')
-
- def test_no_subject_munging_for_digests(self):
- self._mlist.subject_prefix = '[XTEST] '
- msg = email.message_from_string("""\
-From: aperson@example.org
-Subject: About Mailman...
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {'isdigest': 1})
- self.assertEqual(msg['subject'], 'About Mailman...')
-
- def test_no_subject_munging_for_fasttrack(self):
- self._mlist.subject_prefix = '[XTEST] '
- msg = email.message_from_string("""\
-From: aperson@example.org
-Subject: About Mailman...
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {'_fasttrack': 1})
- self.assertEqual(msg['subject'], 'About Mailman...')
-
- def test_no_subject_munging_has_prefix(self):
- self._mlist.subject_prefix = '[XTEST] '
- msg = email.message_from_string("""\
-From: aperson@example.org
-Subject: Re: [XTEST] About Mailman...
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {})
- self.assertEqual(msg['subject'], 'Re: [XTEST] About Mailman...')
-
- def test_subject_munging_i18n(self):
- self._mlist.subject_prefix = '[XTEST]'
- msg = Message.Message()
- msg['Subject'] = '=?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?='
- CookHeaders.process(self._mlist, msg, {})
- self.assertEqual(unicode(msg['subject']),
- u'[XTEST] \u30e1\u30fc\u30eb\u30de\u30f3')
- self.assertEqual(msg['subject'],
- '[XTEST] =?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?=')
- self._mlist.subject_prefix = '[XTEST %d]'
- self._mlist.post_id = 456
- msg = Message.Message()
- msg['Subject'] = '=?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?='
- CookHeaders.process(self._mlist, msg, {})
- self.assertEqual(unicode(msg['subject']),
- u'[XTEST 456] \u30e1\u30fc\u30eb\u30de\u30f3')
- self.assertEqual(msg['subject'],
- '[XTEST 456] =?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?=')
- msg = Message.Message()
- msg['Subject'
- ] = 'Re: [XTEST 123] =?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?='
- CookHeaders.process(self._mlist, msg, {})
- # next code suceeds if python email patch tracker #1681333 is applied.
- #self.assertEqual(unicode(msg['subject']),
- # u'[XTEST 456] Re: \u30e1\u30fc\u30eb\u30de\u30f3')
- self.assertEqual(msg['subject'],
- '[XTEST 456] Re: =?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?=')
-
- def test_subject_munging_prefix_number(self):
- self._mlist.subject_prefix = '[XTEST %d]'
- self._mlist.post_id = 456
- msg = Message.Message()
- msg['Subject'] = 'About Mailman...'
- CookHeaders.process(self._mlist, msg, {})
- self.assertEqual(msg['subject'], '[XTEST 456] About Mailman...')
- msg = Message.Message()
- msg['Subject'] = 'Re: [XTEST 123] About Mailman...'
- CookHeaders.process(self._mlist, msg, {})
- self.assertEqual(msg['subject'], '[XTEST 456] Re: About Mailman...')
-
- def test_subject_munging_prefix_newstyle(self):
- self._mlist.subject_prefix = '[XTEST]'
- config.OLD_STYLE_PREFIXING = False
- msg = Message.Message()
- msg['Subject'] = 'Re: [XTEST] About Mailman...'
- CookHeaders.process(self._mlist, msg, {})
- self.assertEqual(msg['subject'], '[XTEST] Re: About Mailman...')
-
- def test_subject_munging_prefix_crooked(self):
- # In this test case, we get an extra space between the prefix and
- # the original subject. It's because the original is crooked.
- # Note that isubject starting by '\n ' is generated by some version of
- # Eudora Japanese edition.
- self._mlist.subject_prefix = '[XTEST]'
- msg = Message.Message()
- msg['Subject'] = '\n About Mailman...'
- CookHeaders.process(self._mlist, msg, {})
- self.assertEqual(str(msg['subject']), '[XTEST] About Mailman...')
- del msg['subject']
- msg['Subject'] = '\n =?iso-2022-jp?b?GyRCJWEhPCVrJV4lcxsoQg==?='
- CookHeaders.process(self._mlist, msg, {})
- self.assertEqual(str(msg['subject']),
- '[XTEST] =?iso-2022-jp?b?IBskQiVhITwlayVeJXMbKEI=?=')
-
- def test_reply_to_list(self):
- eq = self.assertEqual
- mlist = self._mlist
- mlist.reply_goes_to_list = 1
- msg = email.message_from_string("""\
-From: aperson@example.org
-
-""", Message.Message)
- CookHeaders.process(mlist, msg, {})
- eq(msg['reply-to'], '_xtest@example.com')
- eq(msg.get_all('reply-to'), ['_xtest@example.com'])
-
- def test_reply_to_list_with_strip(self):
- eq = self.assertEqual
- mlist = self._mlist
- mlist.reply_goes_to_list = 1
- mlist.first_strip_reply_to = 1
- msg = email.message_from_string("""\
-From: aperson@example.org
-Reply-To: bperson@example.com
-
-""", Message.Message)
- CookHeaders.process(mlist, msg, {})
- eq(msg['reply-to'], '_xtest@example.com')
- eq(msg.get_all('reply-to'), ['_xtest@example.com'])
-
- def test_reply_to_explicit(self):
- eq = self.assertEqual
- mlist = self._mlist
- mlist.reply_goes_to_list = 2
- mlist.reply_to_address = 'mlist@example.com'
- msg = email.message_from_string("""\
-From: aperson@example.org
-
-""", Message.Message)
- CookHeaders.process(mlist, msg, {})
- eq(msg['reply-to'], 'mlist@example.com')
- eq(msg.get_all('reply-to'), ['mlist@example.com'])
-
- def test_reply_to_explicit_with_strip(self):
- eq = self.assertEqual
- mlist = self._mlist
- mlist.reply_goes_to_list = 2
- mlist.first_strip_reply_to = 1
- mlist.reply_to_address = 'mlist@example.com'
- msg = email.message_from_string("""\
-From: aperson@example.org
-Reply-To: bperson@example.com
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {})
- eq(msg['reply-to'], 'mlist@example.com')
- eq(msg.get_all('reply-to'), ['mlist@example.com'])
-
- def test_reply_to_extends_to_list(self):
- eq = self.assertEqual
- mlist = self._mlist
- mlist.reply_goes_to_list = 1
- mlist.first_strip_reply_to = 0
- msg = email.message_from_string("""\
-From: aperson@example.org
-Reply-To: bperson@example.com
-
-""", Message.Message)
- CookHeaders.process(mlist, msg, {})
- eq(msg['reply-to'], 'bperson@example.com, _xtest@example.com')
-
- def test_reply_to_extends_to_explicit(self):
- eq = self.assertEqual
- mlist = self._mlist
- mlist.reply_goes_to_list = 2
- mlist.first_strip_reply_to = 0
- mlist.reply_to_address = 'mlist@example.com'
- msg = email.message_from_string("""\
-From: aperson@example.org
-Reply-To: bperson@example.com
-
-""", Message.Message)
- CookHeaders.process(mlist, msg, {})
- eq(msg['reply-to'], 'mlist@example.com, bperson@example.com')
-
- def test_list_headers_nolist(self):
- eq = self.assertEqual
- msg = email.message_from_string("""\
-From: aperson@example.org
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {'_nolist': 1})
- eq(msg['list-id'], None)
- eq(msg['list-help'], None)
- eq(msg['list-unsubscribe'], None)
- eq(msg['list-subscribe'], None)
- eq(msg['list-post'], None)
- eq(msg['list-archive'], None)
-
- def test_list_headers(self):
- eq = self.assertEqual
- self._mlist.archive = 1
- msg = email.message_from_string("""\
-From: aperson@example.org
-
-""", Message.Message)
- oldval = config.DEFAULT_URL_HOST
- config.DEFAULT_URL_HOST = 'www.example.com'
- try:
- CookHeaders.process(self._mlist, msg, {})
- finally:
- config.DEFAULT_URL_HOST = oldval
- eq(msg['list-id'], '<_xtest.example.com>')
- eq(msg['list-help'], '<mailto:_xtest-request@example.com?subject=help>')
- eq(msg['list-unsubscribe'],
- '<http://www.example.com/mailman/listinfo/_xtest@example.com>,'
- '\n\t<mailto:_xtest-request@example.com?subject=unsubscribe>')
- eq(msg['list-subscribe'],
- '<http://www.example.com/mailman/listinfo/_xtest@example.com>,'
- '\n\t<mailto:_xtest-request@example.com?subject=subscribe>')
- eq(msg['list-post'], '<mailto:_xtest@example.com>')
- eq(msg['list-archive'],
- '<http://www.example.com/pipermail/_xtest@example.com>')
-
- def test_list_headers_with_description(self):
- eq = self.assertEqual
- self._mlist.archive = 1
- self._mlist.description = 'A Test List'
- msg = email.message_from_string("""\
-From: aperson@example.org
-
-""", Message.Message)
- CookHeaders.process(self._mlist, msg, {})
- eq(unicode(msg['list-id']), u'A Test List <_xtest.example.com>')
- eq(msg['list-help'], '<mailto:_xtest-request@example.com?subject=help>')
- eq(msg['list-unsubscribe'],
- '<http://www.example.com/mailman/listinfo/_xtest@example.com>,'
- '\n\t<mailto:_xtest-request@example.com?subject=unsubscribe>')
- eq(msg['list-subscribe'],
- '<http://www.example.com/mailman/listinfo/_xtest@example.com>,'
- '\n\t<mailto:_xtest-request@example.com?subject=subscribe>')
- eq(msg['list-post'], '<mailto:_xtest@example.com>')
-
-
-
class TestFileRecips(TestBase):
def test_short_circuit(self):
msgdata = {'recips': 1}
@@ -1399,7 +1052,6 @@ Mailman rocks!
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestApprove))
- suite.addTest(unittest.makeSuite(TestCookHeaders))
suite.addTest(unittest.makeSuite(TestFileRecips))
suite.addTest(unittest.makeSuite(TestHold))
suite.addTest(unittest.makeSuite(TestMimeDel))