Mercurial > p > roundup > code
diff test/test_mailgw.py @ 602:c242455d9b46 config-0-4-0-branch
Brought the config branch up to date with HEAD
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Wed, 06 Feb 2002 04:05:55 +0000 |
| parents | a1a44636bace |
| children |
line wrap: on
line diff
--- a/test/test_mailgw.py Wed Feb 06 03:47:17 2002 +0000 +++ b/test/test_mailgw.py Wed Feb 06 04:05:55 2002 +0000 @@ -8,7 +8,7 @@ # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # -# $Id: test_mailgw.py,v 1.1 2002-01-02 02:31:38 richard Exp $ +# $Id: test_mailgw.py,v 1.1.2.1 2002-02-06 04:05:55 richard Exp $ import unittest, cStringIO, tempfile, os, shutil, errno, imp, sys @@ -33,6 +33,8 @@ self.db = self.instance.open('sekrit') self.db.user.create(username='Chef', address='chef@bork.bork.bork') self.db.user.create(username='richard', address='richard@test') + self.db.user.create(username='mary', address='mary@test') + self.db.user.create(username='john', address='john@test') def tearDown(self): if os.path.exists(os.environ['SENDMAILDEBUG']): @@ -65,21 +67,21 @@ From: Chef <chef@bork.bork.bork To: issue_tracker@fill.me.in. Message-Id: <dummy_test_message_id> -Subject: [issue] Testing... +Subject: [issue] Testing... [nosy=mary; assignedto=richard] This is a test submission of a new issue. ''') handler = self.instance.MailGW(self.instance, self.db) # TODO: fix the damn config - this is apalling - self.instance.IssueClass.MESSAGES_TO_AUTHOR = 'yes' + self.db.config.MESSAGES_TO_AUTHOR = 'yes' handler.main(message) self.assertEqual(open(os.environ['SENDMAILDEBUG']).read(), '''FROM: roundup-admin@fill.me.in. -TO: chef@bork.bork.bork +TO: chef@bork.bork.bork, mary@test, richard@test Content-Type: text/plain Subject: [issue1] Testing... -To: chef@bork.bork.bork +To: chef@bork.bork.bork, mary@test, richard@test From: Chef <issue_tracker@fill.me.in.> Reply-To: Roundup issue tracker <issue_tracker@fill.me.in.> MIME-Version: 1.0 @@ -90,11 +92,18 @@ This is a test submission of a new issue. + +---------- +assignedto: richard +messages: 1 +nosy: mary, Chef, richard +status: unread +title: Testing... ___________________________________________________ "Roundup issue tracker" <issue_tracker@fill.me.in.> http://some.useful.url/issue1 ___________________________________________________ -''', 'Generated message not correct') +''') def testFollowup(self): self.testNewIssue() @@ -104,20 +113,19 @@ To: issue_tracker@fill.me.in. Message-Id: <followup_dummy_id> In-Reply-To: <dummy_test_message_id> -Subject: [issue1] Testing... +Subject: [issue1] Testing... [assignedto=mary; nosy=john] This is a followup ''') handler = self.instance.MailGW(self.instance, self.db) - # TODO: fix the damn config - this is apalling handler.main(message) self.assertEqual(open(os.environ['SENDMAILDEBUG']).read(), '''FROM: roundup-admin@fill.me.in. -TO: chef@bork.bork.bork +TO: chef@bork.bork.bork, mary@test, john@test Content-Type: text/plain Subject: [issue1] Testing... -To: chef@bork.bork.bork +To: chef@bork.bork.bork, mary@test, john@test From: richard <issue_tracker@fill.me.in.> Reply-To: Roundup issue tracker <issue_tracker@fill.me.in.> MIME-Version: 1.0 @@ -129,6 +137,147 @@ This is a followup + +---------- +assignedto: -> mary +nosy: +mary, john +status: unread -> chatting +___________________________________________________ +"Roundup issue tracker" <issue_tracker@fill.me.in.> +http://some.useful.url/issue1 +___________________________________________________ +''', 'Generated message not correct') + + def testFollowup2(self): + self.testNewIssue() + message = cStringIO.StringIO('''Content-Type: text/plain; + charset="iso-8859-1" +From: mary <mary@test> +To: issue_tracker@fill.me.in. +Message-Id: <followup_dummy_id> +In-Reply-To: <dummy_test_message_id> +Subject: [issue1] Testing... + +This is a second followup +''') + handler = self.instance.MailGW(self.instance, self.db) + handler.main(message) + self.assertEqual(open(os.environ['SENDMAILDEBUG']).read(), +'''FROM: roundup-admin@fill.me.in. +TO: chef@bork.bork.bork, richard@test +Content-Type: text/plain +Subject: [issue1] Testing... +To: chef@bork.bork.bork, richard@test +From: mary <issue_tracker@fill.me.in.> +Reply-To: Roundup issue tracker <issue_tracker@fill.me.in.> +MIME-Version: 1.0 +Message-Id: <followup_dummy_id> +In-Reply-To: <dummy_test_message_id> + + +mary <mary@test> added the comment: + +This is a second followup + + +---------- +status: unread -> chatting +___________________________________________________ +"Roundup issue tracker" <issue_tracker@fill.me.in.> +http://some.useful.url/issue1 +___________________________________________________ +''', 'Generated message not correct') + + def testEnc01(self): + self.testNewIssue() + message = cStringIO.StringIO('''Content-Type: text/plain; + charset="iso-8859-1" +From: mary <mary@test> +To: issue_tracker@fill.me.in. +Message-Id: <followup_dummy_id> +In-Reply-To: <dummy_test_message_id> +Subject: [issue1] Testing... +Content-Type: text/plain; + charset="iso-8859-1" +Content-Transfer-Encoding: quoted-printable + +A message with encoding (encoded oe =F6) + +''') + handler = self.instance.MailGW(self.instance, self.db) + handler.main(message) + message_data = open(os.environ['SENDMAILDEBUG']).read() + self.assertEqual(message_data, +'''FROM: roundup-admin@fill.me.in. +TO: chef@bork.bork.bork, richard@test +Content-Type: text/plain +Subject: [issue1] Testing... +To: chef@bork.bork.bork, richard@test +From: mary <issue_tracker@fill.me.in.> +Reply-To: Roundup issue tracker <issue_tracker@fill.me.in.> +MIME-Version: 1.0 +Message-Id: <followup_dummy_id> +In-Reply-To: <dummy_test_message_id> + + +mary <mary@test> added the comment: + +A message with encoding (encoded oe ö) + +---------- +status: unread -> chatting +___________________________________________________ +"Roundup issue tracker" <issue_tracker@fill.me.in.> +http://some.useful.url/issue1 +___________________________________________________ +''', 'Generated message not correct') + + + def testMultipartEnc01(self): + self.testNewIssue() + message = cStringIO.StringIO('''Content-Type: text/plain; + charset="iso-8859-1" +From: mary <mary@test> +To: issue_tracker@fill.me.in. +Message-Id: <followup_dummy_id> +In-Reply-To: <dummy_test_message_id> +Subject: [issue1] Testing... +Content-Type: multipart/mixed; + boundary="----_=_NextPart_000_01" + +This message is in MIME format. Since your mail reader does not understand +this format, some or all of this message may not be legible. + +------_=_NextPart_000_01 +Content-Type: text/plain; + charset="iso-8859-1" +Content-Transfer-Encoding: quoted-printable + +A message with first part encoded (encoded oe =F6) + +''') + handler = self.instance.MailGW(self.instance, self.db) + handler.main(message) + message_data = open(os.environ['SENDMAILDEBUG']).read() + self.assertEqual(message_data, +'''FROM: roundup-admin@fill.me.in. +TO: chef@bork.bork.bork, richard@test +Content-Type: text/plain +Subject: [issue1] Testing... +To: chef@bork.bork.bork, richard@test +From: mary <issue_tracker@fill.me.in.> +Reply-To: Roundup issue tracker <issue_tracker@fill.me.in.> +MIME-Version: 1.0 +Message-Id: <followup_dummy_id> +In-Reply-To: <dummy_test_message_id> + + +mary <mary@test> added the comment: + +A message with first part encoded (encoded oe ö) + +---------- +status: unread -> chatting ___________________________________________________ "Roundup issue tracker" <issue_tracker@fill.me.in.> http://some.useful.url/issue1 @@ -140,12 +289,70 @@ def suite(): l = [unittest.makeSuite(MailgwTestCase, 'test'), - unittest.makeSuite(ExtMailgwTestCase, 'test')] + unittest.makeSuite(ExtMailgwTestCase, 'test') + ] return unittest.TestSuite(l) # # $Log: not supported by cvs2svn $ +# Revision 1.9 2002/02/05 14:15:29 grubert +# . respect encodings in non multipart messages. +# +# Revision 1.8 2002/02/04 09:40:21 grubert +# . add test for multipart messages with first part being encoded. +# +# Revision 1.7 2002/01/22 11:54:45 rochecompaan +# Fixed status change in mail gateway. +# +# Revision 1.6 2002/01/21 10:05:48 rochecompaan +# Feature: +# . the mail gateway now responds with an error message when invalid +# values for arguments are specified for link or multilink properties +# . modified unit test to check nosy and assignedto when specified as +# arguments +# +# Fixed: +# . fixed setting nosy as argument in subject line +# +# Revision 1.5 2002/01/15 00:12:40 richard +# #503340 ] creating issue with [asignedto=p.ohly] +# +# Revision 1.4 2002/01/14 07:12:15 richard +# removed file writing from tests... +# +# Revision 1.3 2002/01/14 02:20:15 richard +# . changed all config accesses so they access either the instance or the +# config attriubute on the db. This means that all config is obtained from +# instance_config instead of the mish-mash of classes. This will make +# switching to a ConfigParser setup easier too, I hope. +# +# At a minimum, this makes migration a _little_ easier (a lot easier in the +# 0.5.0 switch, I hope!) +# +# Revision 1.2 2002/01/11 23:22:29 richard +# . #502437 ] rogue reactor and unittest +# in short, the nosy reactor was modifying the nosy list. That code had +# been there for a long time, and I suspsect it was there because we +# weren't generating the nosy list correctly in other places of the code. +# We're now doing that, so the nosy-modifying code can go away from the +# nosy reactor. +# +# Revision 1.1 2002/01/02 02:31:38 richard +# Sorry for the huge checkin message - I was only intending to implement #496356 +# but I found a number of places where things had been broken by transactions: +# . modified ROUNDUPDBSENDMAILDEBUG to be SENDMAILDEBUG and hold a filename +# for _all_ roundup-generated smtp messages to be sent to. +# . the transaction cache had broken the roundupdb.Class set() reactors +# . newly-created author users in the mailgw weren't being committed to the db +# +# Stuff that made it into CHANGES.txt (ie. the stuff I was actually working +# on when I found that stuff :): +# . #496356 ] Use threading in messages +# . detectors were being registered multiple times +# . added tests for mailgw +# . much better attaching of erroneous messages in the mail gateway +# # # #
