Exemplo n.º 1
0
 def test_spam(self):
     count_messages = len(self.req.messages)
     name, domain = self.req.secret_address.split('@')
     recipient = self.secret_address
     with open(p("test_mail_01.txt"), 'rb') as f:
         mail = f.read().decode('ascii').replace('*****@*****.**', '*****@*****.**')
     process_mail.delay(mail.encode('ascii'))
     self.assertEqual(count_messages,
         FoiMessage.objects.filter(request=self.req).count())
     dms = DeferredMessage.objects.filter(recipient=recipient, spam=True)
     self.assertEqual(len(dms), 1)
Exemplo n.º 2
0
 def test_spam(self):
     count_messages = len(self.req.messages)
     name, domain = self.req.secret_address.split('@')
     recipient = '*****@*****.**'
     with open(p("test_mail_01.txt"), 'rb') as f:
         mail = f.read().decode('ascii').replace('*****@*****.**', '*****@*****.**')
     process_mail.delay(mail.encode('ascii'))
     self.assertEqual(count_messages,
         FoiMessage.objects.filter(request=self.req).count())
     dms = DeferredMessage.objects.filter(recipient=recipient, spam=True)
     self.assertEqual(len(dms), 1)
Exemplo n.º 3
0
    def test_double_deferred(self):
        count_messages = len(self.req.messages)
        name, domain = self.req.secret_address.split('@')
        bad_mail = '@'.join((name + 'x', domain))
        with open(p("test_mail_01.txt"), 'rb') as f:
            mail = f.read().decode('ascii')
        mail = mail.replace(self.secret_address, bad_mail)
        self.assertEqual(DeferredMessage.objects.count(), 0)

        # there is one deferredmessage matching, so deliver to associated request
        DeferredMessage.objects.create(recipient=bad_mail, request=self.req)
        process_mail.delay(mail.encode('ascii'))
        self.assertEqual(count_messages + 1,
            FoiMessage.objects.filter(request=self.req).count())
        self.assertEqual(DeferredMessage.objects.count(), 1)

        # there is more than one deferredmessage matching
        # So delivery is ambiguous, create deferred message instead
        DeferredMessage.objects.create(recipient=bad_mail, request=self.other_req)
        process_mail.delay(mail.encode('ascii'))
        self.assertEqual(count_messages + 1,
            FoiMessage.objects.filter(request=self.req).count())
        self.assertEqual(DeferredMessage.objects.count(), 3)
Exemplo n.º 4
0
    def test_double_deferred(self):
        count_messages = len(self.req.get_messages())
        name, domain = self.req.secret_address.split('@')
        bad_mail = '@'.join((name + 'x', domain))
        with open(p("test_mail_01.txt"), 'rb') as f:
            mail = f.read().decode('ascii')
        mail = mail.replace(self.secret_address, bad_mail)
        self.assertEqual(DeferredMessage.objects.count(), 0)

        # there is one deferredmessage matching, so deliver to associated request
        DeferredMessage.objects.create(recipient=bad_mail, request=self.req)
        process_mail.delay(mail.encode('ascii'))
        self.assertEqual(count_messages + 1,
            FoiMessage.objects.filter(request=self.req).count())
        self.assertEqual(DeferredMessage.objects.count(), 1)

        # there is more than one deferredmessage matching
        # So delivery is ambiguous, create deferred message instead
        DeferredMessage.objects.create(recipient=bad_mail, request=self.other_req)
        process_mail.delay(mail.encode('ascii'))
        self.assertEqual(count_messages + 1,
            FoiMessage.objects.filter(request=self.req).count())
        self.assertEqual(DeferredMessage.objects.count(), 3)
Exemplo n.º 5
0
 def test_deferred(self):
     count_messages = len(self.req.messages)
     name, domain = self.req.secret_address.split('@')
     bad_mail = '@'.join((name + 'x', domain))
     with open(p("test_mail_01.txt"), 'rb') as f:
         mail = f.read().decode('ascii')
     mail = mail.replace(self.secret_address, bad_mail)
     process_mail.delay(mail.encode('ascii'))
     self.assertEqual(count_messages,
                      FoiMessage.objects.filter(request=self.req).count())
     dms = DeferredMessage.objects.filter(recipient=bad_mail)
     self.assertEqual(len(dms), 1)
     dm = dms[0]
     dm.redeliver(self.req)
     req = FoiRequest.objects.get(id=self.req.id)
     self.assertEqual(len(req.messages), count_messages + 1)
     dm = DeferredMessage.objects.get(id=dm.id)
     self.assertEqual(dm.request, req)
Exemplo n.º 6
0
 def test_deferred(self):
     count_messages = len(self.req.messages)
     name, domain = self.req.secret_address.split('@')
     bad_mail = '@'.join((name + 'x', domain))
     with open(p("test_mail_01.txt"), 'rb') as f:
         mail = f.read().decode('ascii')
     mail = mail.replace(u'*****@*****.**', bad_mail)
     process_mail.delay(mail.encode('ascii'))
     self.assertEqual(count_messages,
         FoiMessage.objects.filter(request=self.req).count())
     dms = DeferredMessage.objects.filter(recipient=bad_mail)
     self.assertEqual(len(dms), 1)
     dm = dms[0]
     dm.redeliver(self.req)
     req = FoiRequest.objects.get(id=self.req.id)
     self.assertEqual(len(req.messages), count_messages + 1)
     dm = DeferredMessage.objects.get(id=dm.id)
     self.assertEqual(dm.request, req)