Mercurial > p > roundup > code
diff test/test_mailgw.py @ 4503:9f488541802f
Yet another fix to the mail gateway...
...messages got *all* files of an issue, not just the new ones. Thanks
to Rafal Bisingier for reporting and proposing a fix. The regression
test was updated. Fix version numbers in upgrade documentation, the
file-unlink defect was in 1.4.17 not 1.4.16. Thanks to Rafal
Bisingier.
| author | Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net> |
|---|---|
| date | Wed, 01 Jun 2011 12:49:47 +0000 |
| parents | 8df9492c2746 |
| children | a00e0e73bb26 |
line wrap: on
line diff
--- a/test/test_mailgw.py Mon May 30 09:09:40 2011 +0000 +++ b/test/test_mailgw.py Wed Jun 01 12:49:47 2011 +0000 @@ -625,15 +625,47 @@ self.assertEqual(f.content, content [n]) self.assertEqual(msg.content, 'test attachment second text/plain') + def testMultipartSeveralAttachmentMessages(self): + self.doNewIssue() + self._handle_mail(self.multipart_msg) + messages = self.db.issue.get('1', 'messages') + messages.sort() + self.assertEqual(messages[-1], '2') + msg = self.db.msg.getnode (messages[-1]) + self.assertEqual(len(msg.files), 5) + issue = self.db.issue.getnode ('1') + self.assertEqual(len(issue.files), 5) + names = {0 : 'first.dvi', 4 : 'second.dvi'} + content = {3 : 'test attachment third text/plain\n', + 4 : 'Just a test\n'} + for n, id in enumerate (msg.files): + f = self.db.file.getnode (id) + self.assertEqual(f.name, names.get (n, 'unnamed')) + if n in content : + self.assertEqual(f.content, content [n]) + self.assertEqual(msg.content, 'test attachment second text/plain') + self.assertEqual(msg.files, ['1', '2', '3', '4', '5']) + self.assertEqual(issue.files, ['1', '2', '3', '4', '5']) + + self._handle_mail(self.multipart_msg) + issue = self.db.issue.getnode ('1') + self.assertEqual(len(issue.files), 10) + messages = self.db.issue.get('1', 'messages') + messages.sort() + self.assertEqual(messages[-1], '3') + msg = self.db.msg.getnode (messages[-1]) + self.assertEqual(issue.files, [str(i+1) for i in range(10)]) + self.assertEqual(msg.files, ['6', '7', '8', '9', '10']) + def testMultipartKeepFiles(self): self.doNewIssue() self._handle_mail(self.multipart_msg) messages = self.db.issue.get('1', 'messages') messages.sort() msg = self.db.msg.getnode (messages[-1]) - assert(len(msg.files) == 5) + self.assertEqual(len(msg.files), 5) issue = self.db.issue.getnode ('1') - assert(len(issue.files) == 5) + self.assertEqual(len(issue.files), 5) names = {0 : 'first.dvi', 4 : 'second.dvi'} content = {3 : 'test attachment third text/plain\n', 4 : 'Just a test\n'} @@ -652,7 +684,7 @@ This ist a message without attachment ''') issue = self.db.issue.getnode ('1') - assert(len(issue.files) == 5) + self.assertEqual(len(issue.files), 5) self.assertEqual(issue.files, ['1', '2', '3', '4', '5']) def testMultipartDropAlternatives(self): @@ -662,7 +694,7 @@ messages = self.db.issue.get('1', 'messages') messages.sort() msg = self.db.msg.getnode (messages[-1]) - assert(len(msg.files) == 2) + self.assertEqual(len(msg.files), 2) names = {1 : 'second.dvi'} content = {0 : 'test attachment third text/plain\n', 1 : 'Just a test\n'} @@ -681,7 +713,7 @@ messages = self.db.issue.get('1', 'messages') messages.sort() msg = self.db.msg.getnode (messages[-1]) - assert(len(msg.files) == 1) + self.assertEqual(len(msg.files), 1) name = 'unnamed' content = '<html>' + c + '</html>\n' for n, id in enumerate (msg.files): @@ -732,7 +764,7 @@ messages = self.db.issue.get('1', 'messages') messages.sort() msg = self.db.msg.getnode (messages[-1]) - assert(len(msg.files) == 1) + self.assertEqual(len(msg.files), 1) name = 'unnamed' content = '<html>' + c + '</html>\n' for n, id in enumerate (msg.files): @@ -781,7 +813,7 @@ messages = self.db.issue.get('1', 'messages') messages.sort() msg = self.db.msg.getnode (messages[-1]) - assert(len(msg.files) == 1) + self.assertEqual(len(msg.files), 1) name = 'unnamed' content = '<html>' + c + '</html>\n' for n, id in enumerate (msg.files): @@ -845,7 +877,7 @@ messages = self.db.issue.get('1', 'messages') messages.sort() msg = self.db.msg.getnode (messages[-1]) - assert(len(msg.files) == 1) + self.assertEqual(len(msg.files), 1) name = 'unnamed' content = '<html>' + c + '</html>\n' for n, id in enumerate (msg.files): @@ -907,7 +939,7 @@ messages = self.db.issue.get('1', 'messages') messages.sort() msg = self.db.msg.getnode (messages[-1]) - assert(len(msg.files) == 1) + self.assertEqual(len(msg.files), 1) name = "Fwd: Original email subject.eml" for n, id in enumerate (msg.files): f = self.db.file.getnode (id)
