diff options
Diffstat (limited to 'Mailman/testing/test_handlers.py')
| -rw-r--r-- | Mailman/testing/test_handlers.py | 348 |
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)) |
