Пример #1
0
    def test_quarantine_notice_w_date(self):
        import base64
        from repoze.postoffice.message import Message
        class DummySend(object):
            def __init__(self):
                self.sent = []
            def __call__(self, fromaddr, toaddrs, message):
                self.sent.append((fromaddr, toaddrs, message))

        message = Message()
        message['To'] = 'Submissions <*****@*****.**>'
        message['From'] = 'Chris Rossi <*****@*****.**>'
        message['Date'] = 'Last Tuesday'
        queue = self._make_one()
        send = DummySend()
        queue.quarantine(message, (None, None, None), send,
                         'Oopsy Daisy <*****@*****.**>')
        self.assertEqual(len(send.sent), 1)
        fromaddr, toaddrs, notice = send.sent[0]
        self.assertEqual(fromaddr, 'Oopsy Daisy <*****@*****.**>')
        self.assertEqual(notice['From'], 'Oopsy Daisy <*****@*****.**>')
        self.assertEqual(toaddrs, ['Chris Rossi <*****@*****.**>'])
        self.assertEqual(notice['To'], 'Chris Rossi <*****@*****.**>')
        self.failUnless(notice['Subject'].startswith('An error has occurred'))
        self.assertEqual(notice['X-Postoffice'], 'Bounced')
        body = base64.b64decode(notice.get_payload())
        self.failUnless('System administrators have been informed' in body)
        self.failUnless('Last Tuesday' in body)
Пример #2
0
    def test_quarantine_notice_w_date(self):
        import base64
        from repoze.postoffice.message import Message

        class DummySend(object):
            def __init__(self):
                self.sent = []

            def __call__(self, fromaddr, toaddrs, message):
                self.sent.append((fromaddr, toaddrs, message))

        message = Message()
        message['To'] = 'Submissions <*****@*****.**>'
        message['From'] = 'Chris Rossi <*****@*****.**>'
        message['Date'] = 'Last Tuesday'
        queue = self._make_one()
        send = DummySend()
        queue.quarantine(message, (None, None, None), send,
                         'Oopsy Daisy <*****@*****.**>')
        self.assertEqual(len(send.sent), 1)
        fromaddr, toaddrs, notice = send.sent[0]
        self.assertEqual(fromaddr, 'Oopsy Daisy <*****@*****.**>')
        self.assertEqual(notice['From'], 'Oopsy Daisy <*****@*****.**>')
        self.assertEqual(toaddrs, ['Chris Rossi <*****@*****.**>'])
        self.assertEqual(notice['To'], 'Chris Rossi <*****@*****.**>')
        self.failUnless(notice['Subject'].startswith('An error has occurred'))
        self.assertEqual(notice['X-Postoffice'], 'Bounced')
        body = base64.b64decode(notice.get_payload())
        self.failUnless('System administrators have been informed' in body)
        self.failUnless('Last Tuesday' in body)
Пример #3
0
 def test_remove_from_quarantine_not_in_quarantine(self):
     msg = DummyMessage('Oops, my bad')
     queue = self._make_one()
     queue.quarantine(msg, (None, None, None))
     self.assertEqual(queue.count_quarantined_messages(), 1)
     queue.remove_from_quarantine(msg)
     self.assertEqual(queue.count_quarantined_messages(), 0)
     self.assertRaises(ValueError, queue.remove_from_quarantine, msg)
Пример #4
0
 def test_remove_from_quarantine_not_in_quarantine(self):
     msg = DummyMessage('Oops, my bad')
     queue = self._make_one()
     queue.quarantine(msg, (None, None, None))
     self.assertEqual(queue.count_quarantined_messages(), 1)
     queue.remove_from_quarantine(msg)
     self.assertEqual(queue.count_quarantined_messages(), 0)
     self.assertRaises(ValueError, queue.remove_from_quarantine, msg)
Пример #5
0
 def test_remove_from_quarantine_bad_id(self):
     msg = DummyMessage('Oops, my bad')
     queue = self._make_one()
     queue.quarantine(msg, (None, None, None))
     self.assertEqual(queue.count_quarantined_messages(), 1)
     id = msg['X-Postoffice-Id']
     queue.remove_from_quarantine(msg)
     msg['X-Postoffice-Id'] = id
     self.assertEqual(queue.count_quarantined_messages(), 0)
     self.assertRaises(ValueError, queue.remove_from_quarantine, msg)
Пример #6
0
 def test_remove_from_quarantine_bad_id(self):
     msg = DummyMessage('Oops, my bad')
     queue = self._make_one()
     queue.quarantine(msg, (None, None, None))
     self.assertEqual(queue.count_quarantined_messages(), 1)
     id = msg['X-Postoffice-Id']
     queue.remove_from_quarantine(msg)
     msg['X-Postoffice-Id'] = id
     self.assertEqual(queue.count_quarantined_messages(), 0)
     self.assertRaises(ValueError, queue.remove_from_quarantine, msg)
Пример #7
0
 def test_quarantine(self):
     queue = self._make_one()
     queue.quarantine(DummyMessage('Oh nos!'), ('OMG', 'WTH', '???'))
     queue.quarantine(DummyMessage('Woopsy!'), ('IRCC', 'FWIW', 'ROTFLMAO'))
     msgs = list(queue.get_quarantined_messages())
     self.assertEqual(len(msgs), 2)
     msg, error = msgs.pop(0)
     self.assertEqual(msg, 'Oh nos!')
     self.assertEqual(error, ('OMG', 'WTH', '???'))
     msg, error = msgs.pop(0)
     self.assertEqual(msg, 'Woopsy!')
     self.assertEqual(error, ('IRCC', 'FWIW', 'ROTFLMAO'))
     self.assertEqual(queue.get_quarantined_message(msg['X-Postoffice-Id']),
                      msg)
Пример #8
0
 def test_quarantine(self):
     queue = self._make_one()
     queue.quarantine(DummyMessage('Oh nos!'), ('OMG', 'WTH', '???'))
     queue.quarantine(DummyMessage('Woopsy!'), ('IRCC', 'FWIW', 'ROTFLMAO'))
     msgs = list(queue.get_quarantined_messages())
     self.assertEqual(len(msgs), 2)
     msg, error = msgs.pop(0)
     self.assertEqual(msg, 'Oh nos!')
     self.assertEqual(error, ('OMG', 'WTH', '???'))
     msg, error = msgs.pop(0)
     self.assertEqual(msg, 'Woopsy!')
     self.assertEqual(error, ('IRCC', 'FWIW', 'ROTFLMAO'))
     self.assertEqual(
         queue.get_quarantined_message(msg['X-Postoffice-Id']), msg
     )
Пример #9
0
 def test_requeue_quarantined_messages(self):
     msg = DummyMessage('Oops, my bad.')
     queue = self._make_one()
     queue.quarantine(DummyMessage('Oh nos!'), ('OMG', 'WTH', '???'))
     queue.quarantine(msg, (None, None, None))
     queue.quarantine(DummyMessage('Woopsy!'), ('IRCC', 'FWIW', 'ROTFLMAO'))
     self.assertEqual(len(queue), 0)
     self.assertEqual(len(list(queue.get_quarantined_messages())), 3)
     queue.requeue_quarantined_messages()
     self.assertEqual(len(queue), 3)
     self.assertEqual(len(list(queue.get_quarantined_messages())), 0)
Пример #10
0
 def test_requeue_quarantined_messages(self):
     msg = DummyMessage('Oops, my bad.')
     queue = self._make_one()
     queue.quarantine(DummyMessage('Oh nos!'), ('OMG', 'WTH', '???'))
     queue.quarantine(msg, (None, None, None))
     queue.quarantine(DummyMessage('Woopsy!'), ('IRCC', 'FWIW', 'ROTFLMAO'))
     self.assertEqual(len(queue), 0)
     self.assertEqual(len(list(queue.get_quarantined_messages())), 3)
     queue.requeue_quarantined_messages()
     self.assertEqual(len(queue), 3)
     self.assertEqual(len(list(queue.get_quarantined_messages())), 0)
Пример #11
0
 def test_remove_from_quarantine(self):
     msg = DummyMessage('Oops, my bad.')
     queue = self._make_one()
     queue.quarantine(DummyMessage('Oh nos!'), ('OMG', 'WTH', '???'))
     queue.quarantine(msg, (None, None, None))
     queue.quarantine(DummyMessage('Woopsy!'), ('IRCC', 'FWIW', 'ROTFLMAO'))
     msgs = list(queue.get_quarantined_messages())
     self.assertEqual(len(msgs), 3)
     queue.remove_from_quarantine(msg)
     msgs = list(queue.get_quarantined_messages())
     self.assertEqual(len(msgs), 2)
     msg, error = msgs.pop(0)
     self.assertEqual(msg, 'Oh nos!')
     self.assertEqual(error, ('OMG', 'WTH', '???'))
     msg, error = msgs.pop(0)
     self.assertEqual(msg, 'Woopsy!')
     self.assertEqual(error, ('IRCC', 'FWIW', 'ROTFLMAO'))
Пример #12
0
 def test_remove_from_quarantine(self):
     msg = DummyMessage('Oops, my bad.')
     queue = self._make_one()
     queue.quarantine(DummyMessage('Oh nos!'), ('OMG', 'WTH', '???'))
     queue.quarantine(msg, (None, None, None))
     queue.quarantine(DummyMessage('Woopsy!'), ('IRCC', 'FWIW', 'ROTFLMAO'))
     msgs = list(queue.get_quarantined_messages())
     self.assertEqual(len(msgs), 3)
     queue.remove_from_quarantine(msg)
     msgs = list(queue.get_quarantined_messages())
     self.assertEqual(len(msgs), 2)
     msg, error = msgs.pop(0)
     self.assertEqual(msg, 'Oh nos!')
     self.assertEqual(error, ('OMG', 'WTH', '???'))
     msg, error = msgs.pop(0)
     self.assertEqual(msg, 'Woopsy!')
     self.assertEqual(error, ('IRCC', 'FWIW', 'ROTFLMAO'))