def add_mail_man(request): mail = request.POST['email'] lead_id = request.POST['id'] name_zone = RawLeads.objects.get(id=lead_id).name_zone # RawLeads.objects.filter(name_zone=name_zone).update(mail=mail) rls = RawLeads.objects.filter(name_zone=name_zone) for rl in rls: mail = mail.replace('RegistrantEmail:', '') rl.mail = mail rl.save() if Emails.objects.filter(name_zone=name_zone).exists(): # Emails.objects.filter(name_zone=name_zone).update(email=mail) ems = Emails.objects.filter(name_zone=name_zone) for em in ems: em.email = mail em.save() else: new = Emails(name_zone=name_zone, email=mail) new.save() ids = map(attrgetter('id'), RawLeads.objects.filter(name_zone=name_zone)) response = { 'ids': ids, } return HttpResponse(json.dumps(response), content_type="application/json")
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)
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)
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)
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)
def testAccountNotification(self): """ Test account notification command. """ invoice = Invoice.objects.all().order_by('?')[0] mail = 'Received: from pokus.cz (unknown [192.168.1.201]) \ by ubuntu (Postfix) with ESMTP id 38FB344053 \ for <*****@*****.**>; Sat, 2 Feb 2013 17:57:07 +0100 (CET) \ P=F8=EDjem na kont=EC: 2400260986 =C8=E1stka: %i,00 VS: %i\ Zpr=E1va p=F8=EDjemci: =20 Aktu=E1ln=ED z=F9statek: 20 144,82\ Proti=FA=E8et: 321-2500109888/2010 SS:=12345 KS: 0%i' baseArgs = ('*****@*****.**', '*****@*****.**') i = Invoice.objects.get(id=invoice.id) # test wrong direction outmail = mail.replace('P=F8=EDjem na kont=EC', 'vydaj') args = baseArgs + ( outmail % (invoice.totalPrice(), invoice.id, 117), ) call_command('accountNotification', *args, v=117) assert i.paid == False try: BadIncommingTransfer.objects.get(typee='l', invoice=i) raise AssertionError('BadIncommingTransfer generated on OUT dir') except BadIncommingTransfer.DoesNotExist: pass args = baseArgs + ( mail % (invoice.totalPrice() - 4, invoice.id, 117), ) call_command('accountNotification', *args, v=3) assert i.paid == False try: BadIncommingTransfer.objects.get(typee='l', invoice=i) except BadIncommingTransfer.DoesNotExist: raise AssertionError('BadIncommingTransfer not exists') args = baseArgs + ( mail % (invoice.totalPrice() + 4, invoice.id, 117), ) call_command('accountNotification', *args) i = Invoice.objects.get(id=invoice.id) assert i.paid == False try: BadIncommingTransfer.objects.get(typee='m', invoice=i) except BadIncommingTransfer.DoesNotExist: raise AssertionError('BadIncommingTransfer not exists') args = baseArgs + ( mail % (invoice.totalPrice(), invoice.id, 117), ) call_command('accountNotification', *args) i = Invoice.objects.get(id=invoice.id) assert i.paid == True # bad const symbol args = baseArgs + ( mail % (invoice.totalPrice(), invoice.id, 1117), ) call_command('accountNotification', *args) try: BadIncommingTransfer.objects.get(typee='u') except BadIncommingTransfer.DoesNotExist: errmess = 'BadIncommingTransfer (bad const symbol) not exists' raise AssertionError(errmess)