Exemple #1
0
 def test_prototype_no_url(self):
     # The prototype archiver is not web-based, it must not return URLs
     config.push('archiver', """
     [archiver.prototype]
     enable: yes
     """)
     self.addCleanup(config.pop, 'archiver')
     rfc_2369.process(self._mlist, self._msg, {})
     self.assertNotIn('Archived-At', self._msg)
     self.assertNotIn('List-Archive', self._msg)
 def test_prototype_no_url(self):
     # The prototype archiver is not web-based, it must not return URLs
     config.push('archiver', """
     [archiver.prototype]
     enable: yes
     """)
     self.addCleanup(config.pop, 'archiver')
     rfc_2369.process(self._mlist, self._msg, {})
     self.assertNotIn('Archived-At', self._msg)
     self.assertNotIn('List-Archive', self._msg)
Exemple #3
0
 def test_not_archived(self):
     # Messages sent to non-archived lists must not get the added headers.
     self._mlist.archive_policy = ArchivePolicy.never
     config.push('archiver', """
     [archiver.dummy]
     class: {}.DummyArchiver
     enable: yes
     """.format(DummyArchiver.__module__))
     self.addCleanup(config.pop, 'archiver')
     rfc_2369.process(self._mlist, self._msg, {})
     self.assertNotIn('List-Archive', self._msg)
     self.assertNotIn('Archived-At', self._msg)
 def test_not_archived(self):
     # Messages sent to non-archived lists must not get the added headers.
     self._mlist.archive_policy = ArchivePolicy.never
     config.push('archiver', """
     [archiver.dummy]
     class: {}.DummyArchiver
     enable: yes
     """.format(DummyArchiver.__module__))
     self.addCleanup(config.pop, 'archiver')
     rfc_2369.process(self._mlist, self._msg, {})
     self.assertNotIn('List-Archive', self._msg)
     self.assertNotIn('Archived-At', self._msg)
Exemple #5
0
 def test_add_headers(self):
     # Test the addition of the Archived-At and List-Archive headers.
     config.push('archiver', """
     [archiver.dummy]
     class: {}.DummyArchiver
     enable: yes
     """.format(DummyArchiver.__module__))
     self.addCleanup(config.pop, 'archiver')
     rfc_2369.process(self._mlist, self._msg, {})
     self.assertEqual(
         self._msg.get_all('List-Archive'), ['<http://example.com>'])
     self.assertEqual(
         self._msg.get_all('Archived-At'),
         ['<http://example.com/4CMWUN6BHVCMHMDAOSJZ2Q72G5M32MWB>'])
 def test_add_headers(self):
     # Test the addition of the Archived-At and List-Archive headers.
     config.push('archiver', """
     [archiver.dummy]
     class: {}.DummyArchiver
     enable: yes
     """.format(DummyArchiver.__module__))
     self.addCleanup(config.pop, 'archiver')
     rfc_2369.process(self._mlist, self._msg, {})
     self.assertEqual(
         self._msg.get_all('List-Archive'),
         ['<http://lists.example.com>'])
     self.assertEqual(
         self._msg.get_all('Archived-At'),
         ['<http://lists.example.com/4CMWUN6BHVCMHMDAOSJZ2Q72G5M32MWB>'])
Exemple #7
0
 def test_broken_archiver(self):
     # GL issue #208 - IArchive messages raise exceptions, breaking the
     # rfc-2369 handler and shunting messages.
     config.push('archiver', """
     [archiver.broken]
     class: {}.BrokenArchiver
     enable: yes
     """.format(BrokenArchiver.__module__))
     self.addCleanup(config.pop, 'archiver')
     mark = LogFileMark('mailman.archiver')
     rfc_2369.process(self._mlist, self._msg, {})
     log_messages = mark.read()
     # Because .list_url() was broken, there will be no List-Archive header.
     self.assertIsNone(self._msg.get('list-archive'))
     self.assertIn('Exception in "broken" archiver', log_messages)
     self.assertIn('RuntimeError: Cannot get list URL', log_messages)
     # Because .permalink() was broken, there will be no Archived-At header.
     self.assertIsNone(self._msg.get('archived-at'))
     self.assertIn('Exception in "broken" archiver', log_messages)
     self.assertIn('RuntimeError: Cannot get permalink', log_messages)
Exemple #8
0
 def test_broken_archiver(self):
     # GL issue #208 - IArchive messages raise exceptions, breaking the
     # rfc-2369 handler and shunting messages.
     config.push('archiver', """
     [archiver.broken]
     class: {}.BrokenArchiver
     enable: yes
     """.format(BrokenArchiver.__module__))
     self.addCleanup(config.pop, 'archiver')
     mark = LogFileMark('mailman.archiver')
     rfc_2369.process(self._mlist, self._msg, {})
     log_messages = mark.read()
     # Because .list_url() was broken, there will be no List-Archive header.
     self.assertIsNone(self._msg.get('list-archive'))
     self.assertIn('Exception in "broken" archiver', log_messages)
     self.assertIn('RuntimeError: Cannot get list URL', log_messages)
     # Because .permalink() was broken, there will be no Archived-At header.
     self.assertIsNone(self._msg.get('archived-at'))
     self.assertIn('Exception in "broken" archiver', log_messages)
     self.assertIn('RuntimeError: Cannot get permalink', log_messages)