annotate test/test_mailgw.py @ 3882:46ef2a6fd79d

config option to limit nosy attachments based on size reworking of patch [SF#772323] from Philipp Gortan It tries to avoid reading the file contents just to get the file size but that was too hard for metakit backends. They don't inherit from blobfiles.FileStorage which makes it more challenging. Really that backend should be reworked to inherit from FileStorage. I'm not sure I like the default being sys.maxint. Maybe have 0 == unlimited? But what if someone really wanted to set it to 0 to mean "don't attach anything"?
author Justus Pendleton <jpend@users.sourceforge.net>
date Mon, 03 Sep 2007 17:14:09 +0000
parents 83748b2de465
children f762fa13cd8d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1 #
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 # Copyright (c) 2001 Richard Jones, richard@bofh.asn.au.
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 # This module is free software, and you may redistribute it and/or modify
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4 # under the same terms as Python, so long as this copyright message and
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 # disclaimer are retained in their original form.
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6 #
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 # This module is distributed in the hope that it will be useful,
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8 # but WITHOUT ANY WARRANTY; without even the implied warranty of
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10 #
3877
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
11 # $Id: test_mailgw.py,v 1.87 2007-09-01 16:30:11 forsberg Exp $
2219
2623b1afc2b6 pre-b3 stuff
Richard Jones <richard@users.sourceforge.net>
parents: 2202
diff changeset
12
2623b1afc2b6 pre-b3 stuff
Richard Jones <richard@users.sourceforge.net>
parents: 2202
diff changeset
13 # TODO: test bcc
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
14
3417
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
15 import unittest, tempfile, os, shutil, errno, imp, sys, difflib, rfc822, time
1795
08b013acfec8 Message comparison is no longer a straight text comparison...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1793
diff changeset
16
08b013acfec8 Message comparison is no longer a straight text comparison...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1793
diff changeset
17 from cStringIO import StringIO
777
bcd284bba81f Updated message strings...
Derrick Hudson <dman13@users.sourceforge.net>
parents: 753
diff changeset
18
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
19 if not os.environ.has_key('SENDMAILDEBUG'):
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
20 os.environ['SENDMAILDEBUG'] = 'mail-test.log'
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
21 SENDMAILDEBUG = os.environ['SENDMAILDEBUG']
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
22
1945
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
23 from roundup.mailgw import MailGW, Unauthorized, uidFromAddress, \
3812
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
24 parseContent, IgnoreLoop, IgnoreBulk, MailUsageError, MailUsageHelp
2705
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
25 from roundup import init, instance, password, rfc2822, __version__
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
26
2822
f0b887a5e47b use tracker setup function from db_test_base
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2710
diff changeset
27 import db_test_base
1797
c1eec970d5c0 Optimize mailgw and cgi tests...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1796
diff changeset
28
1795
08b013acfec8 Message comparison is no longer a straight text comparison...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1793
diff changeset
29 class Message(rfc822.Message):
08b013acfec8 Message comparison is no longer a straight text comparison...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1793
diff changeset
30 """String-based Message class with equivalence test."""
08b013acfec8 Message comparison is no longer a straight text comparison...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1793
diff changeset
31 def __init__(self, s):
08b013acfec8 Message comparison is no longer a straight text comparison...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1793
diff changeset
32 rfc822.Message.__init__(self, StringIO(s.strip()))
2705
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
33
1795
08b013acfec8 Message comparison is no longer a straight text comparison...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1793
diff changeset
34 def __eq__(self, other):
1796
4de2e611b6f3 Simplify Message comparison.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1795
diff changeset
35 return (self.dict == other.dict and
2705
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
36 self.fp.read() == other.fp.read())
1795
08b013acfec8 Message comparison is no longer a straight text comparison...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1793
diff changeset
37
666
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
38 class DiffHelper:
1890
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
39 def compareMessages(self, new, old):
1795
08b013acfec8 Message comparison is no longer a straight text comparison...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1793
diff changeset
40 """Compare messages for semantic equivalence."""
1890
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
41 new, old = Message(new), Message(old)
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
42 del new['date'], old['date']
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
43
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
44 if not new == old:
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
45 res = []
1890
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
46
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
47 for key in new.keys():
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
48 if key.lower() == 'x-roundup-version':
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
49 # version changes constantly, so handle it specially
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
50 if new[key] != __version__:
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
51 res.append(' %s: %s != %s' % (key, __version__,
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
52 new[key]))
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
53 elif new[key] != old[key]:
1890
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
54 res.append(' %s: %s != %s' % (key, old[key], new[key]))
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
55
1890
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
56 body_diff = self.compareStrings(new.fp.read(), old.fp.read())
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
57 if body_diff:
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
58 res.append('')
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
59 res.extend(body_diff)
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
60
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
61 if res:
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
62 res.insert(0, 'Generated message not correct (diff follows):')
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
63 raise AssertionError, '\n'.join(res)
2705
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
64
666
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
65 def compareStrings(self, s2, s1):
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
66 '''Note the reversal of s2 and s1 - difflib.SequenceMatcher wants
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
67 the first to be the "original" but in the calls in this file,
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
68 the second arg is the original. Ho hum.
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
69 '''
1890
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
70 l1 = s1.strip().split('\n')
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
71 l2 = s2.strip().split('\n')
1330
d008233b22aa fixes to mailgw tests
Richard Jones <richard@users.sourceforge.net>
parents: 1322
diff changeset
72 if l1 == l2:
666
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
73 return
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
74 s = difflib.SequenceMatcher(None, l1, l2)
1890
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
75 res = []
666
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
76 for value, s1s, s1e, s2s, s2e in s.get_opcodes():
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
77 if value == 'equal':
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
78 for i in range(s1s, s1e):
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
79 res.append(' %s'%l1[i])
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
80 elif value == 'delete':
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
81 for i in range(s1s, s1e):
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
82 res.append('- %s'%l1[i])
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
83 elif value == 'insert':
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
84 for i in range(s2s, s2e):
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
85 res.append('+ %s'%l2[i])
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
86 elif value == 'replace':
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
87 for i, j in zip(range(s1s, s1e), range(s2s, s2e)):
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
88 res.append('- %s'%l1[i])
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
89 res.append('+ %s'%l2[j])
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
90
1890
e1b3ca0c0f9a Do a semantic comparison of messages when the test fails.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1888
diff changeset
91 return res
666
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
92
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
93 class MailgwTestCase(unittest.TestCase, DiffHelper):
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
94 count = 0
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
95 schema = 'classic'
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
96 def setUp(self):
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
97 MailgwTestCase.count = MailgwTestCase.count + 1
718
e10c37f53efd fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope
Richard Jones <richard@users.sourceforge.net>
parents: 699
diff changeset
98 self.dirname = '_test_mailgw_%s'%self.count
2822
f0b887a5e47b use tracker setup function from db_test_base
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2710
diff changeset
99 # set up and open a tracker
f0b887a5e47b use tracker setup function from db_test_base
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2710
diff changeset
100 self.instance = db_test_base.setupTracker(self.dirname)
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
101
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
102 # and open the database
1176
bd3b57859c37 On second thought, that last checkin was dumb.
Richard Jones <richard@users.sourceforge.net>
parents: 1126
diff changeset
103 self.db = self.instance.open('admin')
1915
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
104 self.chef_id = self.db.user.create(username='Chef',
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
105 address='chef@bork.bork.bork', realname='Bork, Chef', roles='User')
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
106 self.richard_id = self.db.user.create(username='richard',
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
107 address='richard@test', roles='User')
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
108 self.mary_id = self.db.user.create(username='mary', address='mary@test',
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
109 roles='User', realname='Contrary, Mary')
1915
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
110 self.john_id = self.db.user.create(username='john', address='john@test',
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
111 alternate_addresses='jondoe@test\njohn.doe@test', roles='User',
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
112 realname='John Doe')
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
113
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
114 def tearDown(self):
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
115 if os.path.exists(SENDMAILDEBUG):
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
116 os.remove(SENDMAILDEBUG)
1126
d77b86cc541b close the databases before test cleanup
Richard Jones <richard@users.sourceforge.net>
parents: 1095
diff changeset
117 self.db.close()
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
118 try:
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
119 shutil.rmtree(self.dirname)
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
120 except OSError, error:
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
121 if error.errno not in (errno.ENOENT, errno.ESRCH): raise
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
122
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
123 def _handle_mail(self, message):
1888
465dc7dbe67a Extract _send_mail method, it was duplicated all around the test code.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1887
diff changeset
124 handler = self.instance.MailGW(self.instance, self.db)
465dc7dbe67a Extract _send_mail method, it was duplicated all around the test code.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1887
diff changeset
125 handler.trapExceptions = 0
2202
aed7a7c54a50 fix mailgw test harness
Richard Jones <richard@users.sourceforge.net>
parents: 2098
diff changeset
126 ret = handler.main(StringIO(message))
aed7a7c54a50 fix mailgw test harness
Richard Jones <richard@users.sourceforge.net>
parents: 2098
diff changeset
127 # handler can close the db on us and open a new one
aed7a7c54a50 fix mailgw test harness
Richard Jones <richard@users.sourceforge.net>
parents: 2098
diff changeset
128 self.db = handler.db
aed7a7c54a50 fix mailgw test harness
Richard Jones <richard@users.sourceforge.net>
parents: 2098
diff changeset
129 return ret
2705
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
130
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
131 def _get_mail(self):
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
132 f = open(SENDMAILDEBUG)
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
133 try:
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
134 return f.read()
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
135 finally:
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
136 f.close()
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
137
1620
fc9dafcb62e0 set title on issues even when the email body is empty [SF#727430]
Richard Jones <richard@users.sourceforge.net>
parents: 1592
diff changeset
138 def testEmptyMessage(self):
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
139 nodeid = self._handle_mail('''Content-Type: text/plain;
1620
fc9dafcb62e0 set title on issues even when the email body is empty [SF#727430]
Richard Jones <richard@users.sourceforge.net>
parents: 1592
diff changeset
140 charset="iso-8859-1"
fc9dafcb62e0 set title on issues even when the email body is empty [SF#727430]
Richard Jones <richard@users.sourceforge.net>
parents: 1592
diff changeset
141 From: Chef <chef@bork.bork.bork>
fc9dafcb62e0 set title on issues even when the email body is empty [SF#727430]
Richard Jones <richard@users.sourceforge.net>
parents: 1592
diff changeset
142 To: issue_tracker@your.tracker.email.domain.example
fc9dafcb62e0 set title on issues even when the email body is empty [SF#727430]
Richard Jones <richard@users.sourceforge.net>
parents: 1592
diff changeset
143 Cc: richard@test
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
144 Reply-To: chef@bork.bork.bork
1620
fc9dafcb62e0 set title on issues even when the email body is empty [SF#727430]
Richard Jones <richard@users.sourceforge.net>
parents: 1592
diff changeset
145 Message-Id: <dummy_test_message_id>
fc9dafcb62e0 set title on issues even when the email body is empty [SF#727430]
Richard Jones <richard@users.sourceforge.net>
parents: 1592
diff changeset
146 Subject: [issue] Testing...
fc9dafcb62e0 set title on issues even when the email body is empty [SF#727430]
Richard Jones <richard@users.sourceforge.net>
parents: 1592
diff changeset
147
fc9dafcb62e0 set title on issues even when the email body is empty [SF#727430]
Richard Jones <richard@users.sourceforge.net>
parents: 1592
diff changeset
148 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
149 assert not os.path.exists(SENDMAILDEBUG)
1620
fc9dafcb62e0 set title on issues even when the email body is empty [SF#727430]
Richard Jones <richard@users.sourceforge.net>
parents: 1592
diff changeset
150 self.assertEqual(self.db.issue.get(nodeid, 'title'), 'Testing...')
fc9dafcb62e0 set title on issues even when the email body is empty [SF#727430]
Richard Jones <richard@users.sourceforge.net>
parents: 1592
diff changeset
151
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
152 def doNewIssue(self):
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
153 nodeid = self._handle_mail('''Content-Type: text/plain;
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
154 charset="iso-8859-1"
777
bcd284bba81f Updated message strings...
Derrick Hudson <dman13@users.sourceforge.net>
parents: 753
diff changeset
155 From: Chef <chef@bork.bork.bork>
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
156 To: issue_tracker@your.tracker.email.domain.example
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
157 Cc: richard@test
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
158 Message-Id: <dummy_test_message_id>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
159 Subject: [issue] Testing...
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
160
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
161 This is a test submission of a new issue.
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
162 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
163 assert not os.path.exists(SENDMAILDEBUG)
718
e10c37f53efd fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope
Richard Jones <richard@users.sourceforge.net>
parents: 699
diff changeset
164 l = self.db.issue.get(nodeid, 'nosy')
e10c37f53efd fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope
Richard Jones <richard@users.sourceforge.net>
parents: 699
diff changeset
165 l.sort()
1915
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
166 self.assertEqual(l, [self.chef_id, self.richard_id])
1320
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
167 return nodeid
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
168
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
169 def testNewIssue(self):
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
170 self.doNewIssue()
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
171
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
172 def testNewIssueNosy(self):
1085
04a6b3bfbf23 instance_config -> config, and other related cleanups
Richard Jones <richard@users.sourceforge.net>
parents: 908
diff changeset
173 self.instance.config.ADD_AUTHOR_TO_NOSY = 'yes'
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
174 nodeid = self._handle_mail('''Content-Type: text/plain;
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
175 charset="iso-8859-1"
777
bcd284bba81f Updated message strings...
Derrick Hudson <dman13@users.sourceforge.net>
parents: 753
diff changeset
176 From: Chef <chef@bork.bork.bork>
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
177 To: issue_tracker@your.tracker.email.domain.example
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
178 Cc: richard@test
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
179 Message-Id: <dummy_test_message_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
180 Subject: [issue] Testing...
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
181
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
182 This is a test submission of a new issue.
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
183 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
184 assert not os.path.exists(SENDMAILDEBUG)
718
e10c37f53efd fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope
Richard Jones <richard@users.sourceforge.net>
parents: 699
diff changeset
185 l = self.db.issue.get(nodeid, 'nosy')
e10c37f53efd fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope
Richard Jones <richard@users.sourceforge.net>
parents: 699
diff changeset
186 l.sort()
1915
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
187 self.assertEqual(l, [self.chef_id, self.richard_id])
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
188
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 616
diff changeset
189 def testAlternateAddress(self):
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
190 self._handle_mail('''Content-Type: text/plain;
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 616
diff changeset
191 charset="iso-8859-1"
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 616
diff changeset
192 From: John Doe <john.doe@test>
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
193 To: issue_tracker@your.tracker.email.domain.example
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 616
diff changeset
194 Message-Id: <dummy_test_message_id>
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 616
diff changeset
195 Subject: [issue] Testing...
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 616
diff changeset
196
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 616
diff changeset
197 This is a test submission of a new issue.
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 616
diff changeset
198 ''')
2705
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
199 userlist = self.db.user.list()
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
200 assert not os.path.exists(SENDMAILDEBUG)
617
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 616
diff changeset
201 self.assertEqual(userlist, self.db.user.list(),
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 616
diff changeset
202 "user created when it shouldn't have been")
edd210915e64 Alternate email addresses are now available for users.
Richard Jones <richard@users.sourceforge.net>
parents: 616
diff changeset
203
665
9382ad731c1c All messages sent to the nosy list are now encoded as quoted-printable.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 617
diff changeset
204 def testNewIssueNoClass(self):
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
205 self._handle_mail('''Content-Type: text/plain;
616
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
206 charset="iso-8859-1"
777
bcd284bba81f Updated message strings...
Derrick Hudson <dman13@users.sourceforge.net>
parents: 753
diff changeset
207 From: Chef <chef@bork.bork.bork>
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
208 To: issue_tracker@your.tracker.email.domain.example
616
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
209 Cc: richard@test
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
210 Message-Id: <dummy_test_message_id>
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
211 Subject: Testing...
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
212
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
213 This is a test submission of a new issue.
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
214 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
215 assert not os.path.exists(SENDMAILDEBUG)
616
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
216
665
9382ad731c1c All messages sent to the nosy list are now encoded as quoted-printable.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 617
diff changeset
217 def testNewIssueAuthMsg(self):
1888
465dc7dbe67a Extract _send_mail method, it was duplicated all around the test code.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1887
diff changeset
218 # TODO: fix the damn config - this is apalling
465dc7dbe67a Extract _send_mail method, it was duplicated all around the test code.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1887
diff changeset
219 self.db.config.MESSAGES_TO_AUTHOR = 'yes'
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
220 self._handle_mail('''Content-Type: text/plain;
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
221 charset="iso-8859-1"
777
bcd284bba81f Updated message strings...
Derrick Hudson <dman13@users.sourceforge.net>
parents: 753
diff changeset
222 From: Chef <chef@bork.bork.bork>
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
223 To: issue_tracker@your.tracker.email.domain.example
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
224 Message-Id: <dummy_test_message_id>
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
225 Subject: [issue] Testing... [nosy=mary; assignedto=richard]
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
226
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
227 This is a test submission of a new issue.
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
228 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
229 self.compareMessages(self._get_mail(),
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
230 '''FROM: roundup-admin@your.tracker.email.domain.example
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
231 TO: chef@bork.bork.bork, mary@test, richard@test
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
232 Content-Type: text/plain; charset=utf-8
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
233 Subject: [issue1] Testing...
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
234 To: chef@bork.bork.bork, mary@test, richard@test
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
235 From: "Bork, Chef" <issue_tracker@your.tracker.email.domain.example>
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
236 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
237 MIME-Version: 1.0
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
238 Message-Id: <dummy_test_message_id>
613
d77b82588bf0 Fixed the unit tests for the mailgw re: the x-roundup-name header.
Richard Jones <richard@users.sourceforge.net>
parents: 609
diff changeset
239 X-Roundup-Name: Roundup issue tracker
1322
c0546b95aad1 finished off handling of retired flag in filter() [SF#635260]
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
240 X-Roundup-Loop: hello
665
9382ad731c1c All messages sent to the nosy list are now encoded as quoted-printable.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 617
diff changeset
241 Content-Transfer-Encoding: quoted-printable
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
242
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
243
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
244 New submission from Bork, Chef <chef@bork.bork.bork>:
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
245
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
246 This is a test submission of a new issue.
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
247
537
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
248 ----------
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
249 assignedto: richard
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
250 messages: 1
718
e10c37f53efd fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope
Richard Jones <richard@users.sourceforge.net>
parents: 699
diff changeset
251 nosy: Chef, mary, richard
537
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
252 status: unread
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
253 title: Testing...
2098
18addf2a8596 Implemented proper datatypes in mysql and postgresql backends...
Richard Jones <richard@users.sourceforge.net>
parents: 2089
diff changeset
254
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
255 _______________________________________________________________________
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
256 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
1582
54f7717ece32 fixes for new signature url quoting
Richard Jones <richard@users.sourceforge.net>
parents: 1549
diff changeset
257 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
258 _______________________________________________________________________
666
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
259 ''')
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
260
3877
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
261 def testNewIssueNoAuthorInfo(self):
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
262 self.db.config.MAIL_ADD_AUTHORINFO = 'no'
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
263 self._handle_mail('''Content-Type: text/plain;
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
264 charset="iso-8859-1"
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
265 From: Chef <chef@bork.bork.bork>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
266 To: issue_tracker@your.tracker.email.domain.example
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
267 Message-Id: <dummy_test_message_id>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
268 Subject: [issue] Testing... [nosy=mary; assignedto=richard]
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
269
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
270 This is a test submission of a new issue.
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
271 ''')
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
272 self.compareMessages(self._get_mail(),
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
273 '''FROM: roundup-admin@your.tracker.email.domain.example
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
274 TO: chef@bork.bork.bork, mary@test, richard@test
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
275 Content-Type: text/plain; charset=utf-8
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
276 Subject: [issue1] Testing...
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
277 To: mary@test, richard@test
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
278 From: "Bork, Chef" <issue_tracker@your.tracker.email.domain.example>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
279 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
280 MIME-Version: 1.0
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
281 Message-Id: <dummy_test_message_id>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
282 X-Roundup-Name: Roundup issue tracker
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
283 X-Roundup-Loop: hello
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
284 Content-Transfer-Encoding: quoted-printable
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
285
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
286 This is a test submission of a new issue.
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
287
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
288 ----------
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
289 assignedto: richard
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
290 messages: 1
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
291 nosy: Chef, mary, richard
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
292 status: unread
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
293 title: Testing...
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
294
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
295 _______________________________________________________________________
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
296 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
297 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
298 _______________________________________________________________________
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
299 ''')
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
300
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
301 def testNewIssueNoAuthorEmail(self):
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
302 self.db.config.MAIL_ADD_AUTHOREMAIL = 'no'
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
303 self._handle_mail('''Content-Type: text/plain;
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
304 charset="iso-8859-1"
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
305 From: Chef <chef@bork.bork.bork>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
306 To: issue_tracker@your.tracker.email.domain.example
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
307 Message-Id: <dummy_test_message_id>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
308 Subject: [issue] Testing... [nosy=mary; assignedto=richard]
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
309
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
310 This is a test submission of a new issue.
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
311 ''')
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
312 self.compareMessages(self._get_mail(),
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
313 '''FROM: roundup-admin@your.tracker.email.domain.example
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
314 TO: chef@bork.bork.bork, mary@test, richard@test
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
315 Content-Type: text/plain; charset=utf-8
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
316 Subject: [issue1] Testing...
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
317 To: mary@test, richard@test
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
318 From: "Bork, Chef" <issue_tracker@your.tracker.email.domain.example>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
319 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
320 MIME-Version: 1.0
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
321 Message-Id: <dummy_test_message_id>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
322 X-Roundup-Name: Roundup issue tracker
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
323 X-Roundup-Loop: hello
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
324 Content-Transfer-Encoding: quoted-printable
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
325
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
326 New submission from Bork, Chef:
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
327
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
328 This is a test submission of a new issue.
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
329
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
330 ----------
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
331 assignedto: richard
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
332 messages: 1
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
333 nosy: Chef, mary, richard
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
334 status: unread
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
335 title: Testing...
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
336
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
337 _______________________________________________________________________
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
338 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
339 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
340 _______________________________________________________________________
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
341 ''')
83748b2de465 Make addition of line about new submission/comment at top of each message...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3876
diff changeset
342
609
633f2b542146 Clean up mail handling, multipart handling.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 599
diff changeset
343 # BUG
633f2b542146 Clean up mail handling, multipart handling.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 599
diff changeset
344 # def testMultipart(self):
616
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
345 # '''With more than one part'''
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
346 # see MultipartEnc tests: but if there is more than one part
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
347 # we return a multipart/mixed and the boundary contains
2705
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
348 # the ip address of the test machine.
609
633f2b542146 Clean up mail handling, multipart handling.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 599
diff changeset
349
633f2b542146 Clean up mail handling, multipart handling.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 599
diff changeset
350 # BUG should test some binary attamchent too.
613
d77b82588bf0 Fixed the unit tests for the mailgw re: the x-roundup-name header.
Richard Jones <richard@users.sourceforge.net>
parents: 609
diff changeset
351
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
352 def testSimpleFollowup(self):
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
353 self.doNewIssue()
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
354 self._handle_mail('''Content-Type: text/plain;
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
355 charset="iso-8859-1"
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
356 From: mary <mary@test>
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
357 To: issue_tracker@your.tracker.email.domain.example
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
358 Message-Id: <followup_dummy_id>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
359 In-Reply-To: <dummy_test_message_id>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
360 Subject: [issue1] Testing...
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
361
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
362 This is a second followup
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
363 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
364 self.compareMessages(self._get_mail(),
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
365 '''FROM: roundup-admin@your.tracker.email.domain.example
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
366 TO: chef@bork.bork.bork, richard@test
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
367 Content-Type: text/plain; charset=utf-8
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
368 Subject: [issue1] Testing...
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
369 To: chef@bork.bork.bork, richard@test
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
370 From: "Contrary, Mary" <issue_tracker@your.tracker.email.domain.example>
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
371 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
372 MIME-Version: 1.0
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
373 Message-Id: <followup_dummy_id>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
374 In-Reply-To: <dummy_test_message_id>
613
d77b82588bf0 Fixed the unit tests for the mailgw re: the x-roundup-name header.
Richard Jones <richard@users.sourceforge.net>
parents: 609
diff changeset
375 X-Roundup-Name: Roundup issue tracker
1322
c0546b95aad1 finished off handling of retired flag in filter() [SF#635260]
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
376 X-Roundup-Loop: hello
665
9382ad731c1c All messages sent to the nosy list are now encoded as quoted-printable.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 617
diff changeset
377 Content-Transfer-Encoding: quoted-printable
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
378
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
379
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
380 Contrary, Mary <mary@test> added the comment:
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
381
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
382 This is a second followup
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
383
571
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
384 ----------
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
385 status: unread -> chatting
2098
18addf2a8596 Implemented proper datatypes in mysql and postgresql backends...
Richard Jones <richard@users.sourceforge.net>
parents: 2089
diff changeset
386
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
387 _______________________________________________________________________
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
388 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
1582
54f7717ece32 fixes for new signature url quoting
Richard Jones <richard@users.sourceforge.net>
parents: 1549
diff changeset
389 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
390 _______________________________________________________________________
666
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
391 ''')
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
392
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
393 def testFollowup(self):
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
394 self.doNewIssue()
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
395
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
396 self._handle_mail('''Content-Type: text/plain;
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
397 charset="iso-8859-1"
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
398 From: richard <richard@test>
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
399 To: issue_tracker@your.tracker.email.domain.example
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
400 Message-Id: <followup_dummy_id>
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
401 In-Reply-To: <dummy_test_message_id>
857
6dd691e37aa8 Fixed the unit tests for the new multilist controls in the mailgw
Richard Jones <richard@users.sourceforge.net>
parents: 824
diff changeset
402 Subject: [issue1] Testing... [assignedto=mary; nosy=+john]
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
403
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
404 This is a followup
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
405 ''')
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
406 l = self.db.issue.get('1', 'nosy')
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
407 l.sort()
1915
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
408 self.assertEqual(l, [self.chef_id, self.richard_id, self.mary_id,
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
409 self.john_id])
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
410
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
411 self.compareMessages(self._get_mail(),
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
412 '''FROM: roundup-admin@your.tracker.email.domain.example
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
413 TO: chef@bork.bork.bork, john@test, mary@test
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
414 Content-Type: text/plain; charset=utf-8
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
415 Subject: [issue1] Testing...
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
416 To: chef@bork.bork.bork, john@test, mary@test
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
417 From: richard <issue_tracker@your.tracker.email.domain.example>
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
418 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
419 MIME-Version: 1.0
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
420 Message-Id: <followup_dummy_id>
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
421 In-Reply-To: <dummy_test_message_id>
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
422 X-Roundup-Name: Roundup issue tracker
1322
c0546b95aad1 finished off handling of retired flag in filter() [SF#635260]
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
423 X-Roundup-Loop: hello
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
424 Content-Transfer-Encoding: quoted-printable
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
425
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
426
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
427 richard <richard@test> added the comment:
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
428
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
429 This is a followup
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
430
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
431 ----------
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
432 assignedto: -> mary
1095
711f2ecee20f unit tests pass again
Richard Jones <richard@users.sourceforge.net>
parents: 1094
diff changeset
433 nosy: +john, mary
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
434 status: unread -> chatting
2098
18addf2a8596 Implemented proper datatypes in mysql and postgresql backends...
Richard Jones <richard@users.sourceforge.net>
parents: 2089
diff changeset
435
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
436 _______________________________________________________________________
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
437 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
1582
54f7717ece32 fixes for new signature url quoting
Richard Jones <richard@users.sourceforge.net>
parents: 1549
diff changeset
438 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
439 _______________________________________________________________________
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
440 ''')
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
441
3417
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
442
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
443 #
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
444 # FOLLOWUP TITLE MATCH
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
445 #
665
9382ad731c1c All messages sent to the nosy list are now encoded as quoted-printable.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 617
diff changeset
446 def testFollowupTitleMatch(self):
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
447 self.doNewIssue()
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
448 self._handle_mail('''Content-Type: text/plain;
616
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
449 charset="iso-8859-1"
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
450 From: richard <richard@test>
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
451 To: issue_tracker@your.tracker.email.domain.example
616
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
452 Message-Id: <followup_dummy_id>
857
6dd691e37aa8 Fixed the unit tests for the new multilist controls in the mailgw
Richard Jones <richard@users.sourceforge.net>
parents: 824
diff changeset
453 Subject: Re: Testing... [assignedto=mary; nosy=+john]
616
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
454
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
455 This is a followup
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
456 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
457 self.compareMessages(self._get_mail(),
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
458 '''FROM: roundup-admin@your.tracker.email.domain.example
718
e10c37f53efd fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope
Richard Jones <richard@users.sourceforge.net>
parents: 699
diff changeset
459 TO: chef@bork.bork.bork, john@test, mary@test
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
460 Content-Type: text/plain; charset=utf-8
616
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
461 Subject: [issue1] Testing...
718
e10c37f53efd fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope
Richard Jones <richard@users.sourceforge.net>
parents: 699
diff changeset
462 To: chef@bork.bork.bork, john@test, mary@test
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
463 From: richard <issue_tracker@your.tracker.email.domain.example>
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
464 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
616
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
465 MIME-Version: 1.0
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
466 Message-Id: <followup_dummy_id>
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
467 In-Reply-To: <dummy_test_message_id>
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
468 X-Roundup-Name: Roundup issue tracker
1322
c0546b95aad1 finished off handling of retired flag in filter() [SF#635260]
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
469 X-Roundup-Loop: hello
665
9382ad731c1c All messages sent to the nosy list are now encoded as quoted-printable.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 617
diff changeset
470 Content-Transfer-Encoding: quoted-printable
616
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
471
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
472
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
473 richard <richard@test> added the comment:
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
474
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
475 This is a followup
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
476
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
477 ----------
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
478 assignedto: -> mary
1095
711f2ecee20f unit tests pass again
Richard Jones <richard@users.sourceforge.net>
parents: 1094
diff changeset
479 nosy: +john, mary
616
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
480 status: unread -> chatting
2098
18addf2a8596 Implemented proper datatypes in mysql and postgresql backends...
Richard Jones <richard@users.sourceforge.net>
parents: 2089
diff changeset
481
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
482 _______________________________________________________________________
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
483 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
1582
54f7717ece32 fixes for new signature url quoting
Richard Jones <richard@users.sourceforge.net>
parents: 1549
diff changeset
484 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
485 _______________________________________________________________________
666
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
486 ''')
616
08abec25b2c6 [SF#503204] mailgw needs a default class
Richard Jones <richard@users.sourceforge.net>
parents: 613
diff changeset
487
3813
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
488 def testFollowupTitleMatchMultiRe(self):
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
489 nodeid1 = self.doNewIssue()
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
490 nodeid2 = self._handle_mail('''Content-Type: text/plain;
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
491 charset="iso-8859-1"
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
492 From: richard <richard@test>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
493 To: issue_tracker@your.tracker.email.domain.example
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
494 Message-Id: <followup_dummy_id>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
495 Subject: Re: Testing... [assignedto=mary; nosy=+john]
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
496
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
497 This is a followup
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
498 ''')
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
499
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
500 nodeid3 = self._handle_mail('''Content-Type: text/plain;
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
501 charset="iso-8859-1"
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
502 From: richard <richard@test>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
503 To: issue_tracker@your.tracker.email.domain.example
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
504 Message-Id: <followup2_dummy_id>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
505 Subject: Ang: Re: Testing...
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
506
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
507 This is a followup
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
508 ''')
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
509 self.assertEqual(nodeid1, nodeid2)
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
510 self.assertEqual(nodeid1, nodeid3)
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
511
3417
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
512 def testFollowupTitleMatchNever(self):
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
513 nodeid = self.doNewIssue()
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
514 self.db.config.MAILGW_SUBJECT_CONTENT_MATCH = 'never'
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
515 self.assertNotEqual(self._handle_mail('''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
516 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
517 From: richard <richard@test>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
518 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
519 Message-Id: <followup_dummy_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
520 Subject: Re: Testing...
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
521
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
522 This is a followup
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
523 '''), nodeid)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
524
3678
9365dcf5d587 don't supply an In-Reply-To when testing Subject matching
Richard Jones <richard@users.sourceforge.net>
parents: 3579
diff changeset
525 def testFollowupTitleMatchNeverInterval(self):
3417
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
526 nodeid = self.doNewIssue()
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
527 # force failure of the interval
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
528 time.sleep(2)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
529 self.db.config.MAILGW_SUBJECT_CONTENT_MATCH = 'creation 00:00:01'
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
530 self.assertNotEqual(self._handle_mail('''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
531 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
532 From: richard <richard@test>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
533 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
534 Message-Id: <followup_dummy_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
535 Subject: Re: Testing...
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
536
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
537 This is a followup
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
538 '''), nodeid)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
539 # now try a longer interval
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
540 self.db.config.MAILGW_SUBJECT_CONTENT_MATCH = 'creation +1d'
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
541 self.assertEqual(self._handle_mail('''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
542 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
543 From: richard <richard@test>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
544 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
545 Message-Id: <followup_dummy_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
546 Subject: Re: Testing...
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
547
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
548 This is a followup
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
549 '''), nodeid)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
550
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
551
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
552 def testFollowupNosyAuthor(self):
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
553 self.doNewIssue()
1085
04a6b3bfbf23 instance_config -> config, and other related cleanups
Richard Jones <richard@users.sourceforge.net>
parents: 908
diff changeset
554 self.db.config.ADD_AUTHOR_TO_NOSY = 'yes'
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
555 self._handle_mail('''Content-Type: text/plain;
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
556 charset="iso-8859-1"
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
557 From: john@test
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
558 To: issue_tracker@your.tracker.email.domain.example
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
559 Message-Id: <followup_dummy_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
560 In-Reply-To: <dummy_test_message_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
561 Subject: [issue1] Testing...
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
562
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
563 This is a followup
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
564 ''')
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
565
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
566 self.compareMessages(self._get_mail(),
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
567 '''FROM: roundup-admin@your.tracker.email.domain.example
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
568 TO: chef@bork.bork.bork, richard@test
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
569 Content-Type: text/plain; charset=utf-8
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
570 Subject: [issue1] Testing...
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
571 To: chef@bork.bork.bork, richard@test
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
572 From: John Doe <issue_tracker@your.tracker.email.domain.example>
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
573 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
574 MIME-Version: 1.0
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
575 Message-Id: <followup_dummy_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
576 In-Reply-To: <dummy_test_message_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
577 X-Roundup-Name: Roundup issue tracker
1322
c0546b95aad1 finished off handling of retired flag in filter() [SF#635260]
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
578 X-Roundup-Loop: hello
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
579 Content-Transfer-Encoding: quoted-printable
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
580
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
581
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
582 John Doe <john@test> added the comment:
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
583
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
584 This is a followup
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
585
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
586 ----------
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
587 nosy: +john
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
588 status: unread -> chatting
2098
18addf2a8596 Implemented proper datatypes in mysql and postgresql backends...
Richard Jones <richard@users.sourceforge.net>
parents: 2089
diff changeset
589
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
590 _______________________________________________________________________
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
591 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
1582
54f7717ece32 fixes for new signature url quoting
Richard Jones <richard@users.sourceforge.net>
parents: 1549
diff changeset
592 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
593 _______________________________________________________________________
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
594
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
595 ''')
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
596
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
597 def testFollowupNosyRecipients(self):
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
598 self.doNewIssue()
1085
04a6b3bfbf23 instance_config -> config, and other related cleanups
Richard Jones <richard@users.sourceforge.net>
parents: 908
diff changeset
599 self.db.config.ADD_RECIPIENTS_TO_NOSY = 'yes'
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
600 self._handle_mail('''Content-Type: text/plain;
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
601 charset="iso-8859-1"
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
602 From: richard@test
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
603 To: issue_tracker@your.tracker.email.domain.example
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
604 Cc: john@test
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
605 Message-Id: <followup_dummy_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
606 In-Reply-To: <dummy_test_message_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
607 Subject: [issue1] Testing...
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
608
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
609 This is a followup
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
610 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
611 self.compareMessages(self._get_mail(),
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
612 '''FROM: roundup-admin@your.tracker.email.domain.example
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
613 TO: chef@bork.bork.bork
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
614 Content-Type: text/plain; charset=utf-8
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
615 Subject: [issue1] Testing...
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
616 To: chef@bork.bork.bork
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
617 From: richard <issue_tracker@your.tracker.email.domain.example>
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
618 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
619 MIME-Version: 1.0
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
620 Message-Id: <followup_dummy_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
621 In-Reply-To: <dummy_test_message_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
622 X-Roundup-Name: Roundup issue tracker
1322
c0546b95aad1 finished off handling of retired flag in filter() [SF#635260]
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
623 X-Roundup-Loop: hello
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
624 Content-Transfer-Encoding: quoted-printable
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
625
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
626
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
627 richard <richard@test> added the comment:
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
628
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
629 This is a followup
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
630
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
631 ----------
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
632 nosy: +john
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
633 status: unread -> chatting
2098
18addf2a8596 Implemented proper datatypes in mysql and postgresql backends...
Richard Jones <richard@users.sourceforge.net>
parents: 2089
diff changeset
634
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
635 _______________________________________________________________________
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
636 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
1582
54f7717ece32 fixes for new signature url quoting
Richard Jones <richard@users.sourceforge.net>
parents: 1549
diff changeset
637 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
638 _______________________________________________________________________
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
639
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
640 ''')
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
641
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
642 def testFollowupNosyAuthorAndCopy(self):
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
643 self.doNewIssue()
1085
04a6b3bfbf23 instance_config -> config, and other related cleanups
Richard Jones <richard@users.sourceforge.net>
parents: 908
diff changeset
644 self.db.config.ADD_AUTHOR_TO_NOSY = 'yes'
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
645 self.db.config.MESSAGES_TO_AUTHOR = 'yes'
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
646 self._handle_mail('''Content-Type: text/plain;
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
647 charset="iso-8859-1"
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
648 From: john@test
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
649 To: issue_tracker@your.tracker.email.domain.example
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
650 Message-Id: <followup_dummy_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
651 In-Reply-To: <dummy_test_message_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
652 Subject: [issue1] Testing...
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
653
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
654 This is a followup
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
655 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
656 self.compareMessages(self._get_mail(),
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
657 '''FROM: roundup-admin@your.tracker.email.domain.example
718
e10c37f53efd fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope
Richard Jones <richard@users.sourceforge.net>
parents: 699
diff changeset
658 TO: chef@bork.bork.bork, john@test, richard@test
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
659 Content-Type: text/plain; charset=utf-8
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
660 Subject: [issue1] Testing...
718
e10c37f53efd fixed SCRIPT_NAME in ZRoundup for instances not at top level of Zope
Richard Jones <richard@users.sourceforge.net>
parents: 699
diff changeset
661 To: chef@bork.bork.bork, john@test, richard@test
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
662 From: John Doe <issue_tracker@your.tracker.email.domain.example>
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
663 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
664 MIME-Version: 1.0
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
665 Message-Id: <followup_dummy_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
666 In-Reply-To: <dummy_test_message_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
667 X-Roundup-Name: Roundup issue tracker
1322
c0546b95aad1 finished off handling of retired flag in filter() [SF#635260]
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
668 X-Roundup-Loop: hello
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
669 Content-Transfer-Encoding: quoted-printable
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
670
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
671
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
672 John Doe <john@test> added the comment:
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
673
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
674 This is a followup
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
675
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
676 ----------
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
677 nosy: +john
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
678 status: unread -> chatting
2098
18addf2a8596 Implemented proper datatypes in mysql and postgresql backends...
Richard Jones <richard@users.sourceforge.net>
parents: 2089
diff changeset
679
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
680 _______________________________________________________________________
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
681 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
1582
54f7717ece32 fixes for new signature url quoting
Richard Jones <richard@users.sourceforge.net>
parents: 1549
diff changeset
682 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
683 _______________________________________________________________________
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
684
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
685 ''')
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
686
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
687 def testFollowupNoNosyAuthor(self):
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
688 self.doNewIssue()
1085
04a6b3bfbf23 instance_config -> config, and other related cleanups
Richard Jones <richard@users.sourceforge.net>
parents: 908
diff changeset
689 self.instance.config.ADD_AUTHOR_TO_NOSY = 'no'
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
690 self._handle_mail('''Content-Type: text/plain;
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
691 charset="iso-8859-1"
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
692 From: john@test
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
693 To: issue_tracker@your.tracker.email.domain.example
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
694 Message-Id: <followup_dummy_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
695 In-Reply-To: <dummy_test_message_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
696 Subject: [issue1] Testing...
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
697
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
698 This is a followup
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
699 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
700 self.compareMessages(self._get_mail(),
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
701 '''FROM: roundup-admin@your.tracker.email.domain.example
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
702 TO: chef@bork.bork.bork, richard@test
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
703 Content-Type: text/plain; charset=utf-8
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
704 Subject: [issue1] Testing...
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
705 To: chef@bork.bork.bork, richard@test
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
706 From: John Doe <issue_tracker@your.tracker.email.domain.example>
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
707 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
708 MIME-Version: 1.0
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
709 Message-Id: <followup_dummy_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
710 In-Reply-To: <dummy_test_message_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
711 X-Roundup-Name: Roundup issue tracker
1322
c0546b95aad1 finished off handling of retired flag in filter() [SF#635260]
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
712 X-Roundup-Loop: hello
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
713 Content-Transfer-Encoding: quoted-printable
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
714
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
715
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
716 John Doe <john@test> added the comment:
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
717
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
718 This is a followup
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
719
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
720 ----------
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
721 status: unread -> chatting
2098
18addf2a8596 Implemented proper datatypes in mysql and postgresql backends...
Richard Jones <richard@users.sourceforge.net>
parents: 2089
diff changeset
722
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
723 _______________________________________________________________________
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
724 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
1582
54f7717ece32 fixes for new signature url quoting
Richard Jones <richard@users.sourceforge.net>
parents: 1549
diff changeset
725 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
726 _______________________________________________________________________
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
727
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
728 ''')
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
729
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
730 def testFollowupNoNosyRecipients(self):
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
731 self.doNewIssue()
1085
04a6b3bfbf23 instance_config -> config, and other related cleanups
Richard Jones <richard@users.sourceforge.net>
parents: 908
diff changeset
732 self.instance.config.ADD_RECIPIENTS_TO_NOSY = 'no'
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
733 self._handle_mail('''Content-Type: text/plain;
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
734 charset="iso-8859-1"
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
735 From: richard@test
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
736 To: issue_tracker@your.tracker.email.domain.example
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
737 Cc: john@test
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
738 Message-Id: <followup_dummy_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
739 In-Reply-To: <dummy_test_message_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
740 Subject: [issue1] Testing...
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
741
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
742 This is a followup
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
743 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
744 self.compareMessages(self._get_mail(),
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
745 '''FROM: roundup-admin@your.tracker.email.domain.example
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
746 TO: chef@bork.bork.bork
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
747 Content-Type: text/plain; charset=utf-8
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
748 Subject: [issue1] Testing...
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
749 To: chef@bork.bork.bork
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
750 From: richard <issue_tracker@your.tracker.email.domain.example>
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
751 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
752 MIME-Version: 1.0
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
753 Message-Id: <followup_dummy_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
754 In-Reply-To: <dummy_test_message_id>
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
755 X-Roundup-Name: Roundup issue tracker
1322
c0546b95aad1 finished off handling of retired flag in filter() [SF#635260]
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
756 X-Roundup-Loop: hello
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
757 Content-Transfer-Encoding: quoted-printable
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
758
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
759
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
760 richard <richard@test> added the comment:
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
761
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
762 This is a followup
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
763
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
764 ----------
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
765 status: unread -> chatting
2098
18addf2a8596 Implemented proper datatypes in mysql and postgresql backends...
Richard Jones <richard@users.sourceforge.net>
parents: 2089
diff changeset
766
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
767 _______________________________________________________________________
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
768 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
1582
54f7717ece32 fixes for new signature url quoting
Richard Jones <richard@users.sourceforge.net>
parents: 1549
diff changeset
769 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
770 _______________________________________________________________________
699
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
771
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
772 ''')
676d4cfde9a5 Nosy list improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 668
diff changeset
773
1592
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
774 def testFollowupEmptyMessage(self):
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
775 self.doNewIssue()
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
776
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
777 self._handle_mail('''Content-Type: text/plain;
1592
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
778 charset="iso-8859-1"
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
779 From: richard <richard@test>
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
780 To: issue_tracker@your.tracker.email.domain.example
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
781 Message-Id: <followup_dummy_id>
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
782 In-Reply-To: <dummy_test_message_id>
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
783 Subject: [issue1] Testing... [assignedto=mary; nosy=+john]
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
784
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
785 ''')
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
786 l = self.db.issue.get('1', 'nosy')
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
787 l.sort()
1915
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
788 self.assertEqual(l, [self.chef_id, self.richard_id, self.mary_id,
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
789 self.john_id])
1592
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
790
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
791 # should be no file created (ie. no message)
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
792 assert not os.path.exists(SENDMAILDEBUG)
1592
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
793
3579
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
794 def testFollowupEmptyMessageNoSubject(self):
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
795 self.doNewIssue()
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
796
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
797 self._handle_mail('''Content-Type: text/plain;
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
798 charset="iso-8859-1"
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
799 From: richard <richard@test>
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
800 To: issue_tracker@your.tracker.email.domain.example
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
801 Message-Id: <followup_dummy_id>
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
802 In-Reply-To: <dummy_test_message_id>
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
803 Subject: [issue1] [assignedto=mary; nosy=+john]
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
804
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
805 ''')
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
806 l = self.db.issue.get('1', 'nosy')
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
807 l.sort()
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
808 self.assertEqual(l, [self.chef_id, self.richard_id, self.mary_id,
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
809 self.john_id])
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
810
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
811 # should be no file created (ie. no message)
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
812 assert not os.path.exists(SENDMAILDEBUG)
7f1e2d650486 fix blank-title subject line handling [SF#1442121]
Richard Jones <richard@users.sourceforge.net>
parents: 3417
diff changeset
813
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
814 def testNosyRemove(self):
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
815 self.doNewIssue()
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
816
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
817 self._handle_mail('''Content-Type: text/plain;
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
818 charset="iso-8859-1"
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
819 From: richard <richard@test>
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
820 To: issue_tracker@your.tracker.email.domain.example
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
821 Message-Id: <followup_dummy_id>
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
822 In-Reply-To: <dummy_test_message_id>
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
823 Subject: [issue1] Testing... [nosy=-richard]
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
824
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
825 ''')
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
826 l = self.db.issue.get('1', 'nosy')
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
827 l.sort()
1915
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
828 self.assertEqual(l, [self.chef_id])
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
829
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
830 # NO NOSY MESSAGE SHOULD BE SENT!
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
831 assert not os.path.exists(SENDMAILDEBUG)
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
832
905
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
833 def testNewUserAuthor(self):
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
834 # first without the permission
908
a8d80ffe37cc Removed the unnecessary volatiledb and the related complications.
Richard Jones <richard@users.sourceforge.net>
parents: 905
diff changeset
835 # heh... just ignore the API for a second ;)
1512
9b93d140b8e6 role names made case insensitive
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1483
diff changeset
836 self.db.security.role['anonymous'].permissions=[]
905
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
837 anonid = self.db.user.lookup('anonymous')
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
838 self.db.user.set(anonid, roles='Anonymous')
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
839
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
840 l = self.db.user.list()
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
841 l.sort()
1888
465dc7dbe67a Extract _send_mail method, it was duplicated all around the test code.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1887
diff changeset
842 message = '''Content-Type: text/plain;
905
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
843 charset="iso-8859-1"
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
844 From: fubar <fubar@bork.bork.bork>
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
845 To: issue_tracker@your.tracker.email.domain.example
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
846 Message-Id: <dummy_test_message_id>
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
847 Subject: [issue] Testing...
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
848
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
849 This is a test submission of a new issue.
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
850 '''
3876
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
851 try:
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
852 self._handle_mail(message)
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
853 except Unauthorized, value:
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
854 body_diff = self.compareMessages(str(value), """
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
855 You are not a registered user.
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
856
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
857 Unknown address: fubar@bork.bork.bork
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
858 """)
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
859
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
860 assert not body_diff, body_diff
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
861
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
862 else:
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
863 raise AssertionError, "Unathorized not raised when handling mail"
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
864
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
865 # Add Web Access role to anonymous, and try again to make sure
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
866 # we get a "please register at:" message this time.
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
867 p = [
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
868 self.db.security.getPermission('Create', 'user'),
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
869 self.db.security.getPermission('Web Access', None),
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
870 ]
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
871
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
872 self.db.security.role['anonymous'].permissions=p
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
873
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
874 try:
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
875 self._handle_mail(message)
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
876 except Unauthorized, value:
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
877 body_diff = self.compareMessages(str(value), """
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
878 You are not a registered user. Please register at:
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
879
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
880 http://tracker.example/cgi-bin/roundup.cgi/bugs/user?template=register
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
881
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
882 ...before sending mail to the tracker.
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
883
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
884 Unknown address: fubar@bork.bork.bork
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
885 """)
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
886
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
887 assert not body_diff, body_diff
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
888
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
889 else:
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
890 raise AssertionError, "Unathorized not raised when handling mail"
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
891
29759dfcfbcf Tell user where to register in mail about user being unknown...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3815
diff changeset
892 # Make sure list of users is the same as before.
905
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
893 m = self.db.user.list()
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
894 m.sort()
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
895 self.assertEqual(l, m)
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
896
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
897 # now with the permission
3417
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
898 p = [
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
899 self.db.security.getPermission('Create', 'user'),
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
900 self.db.security.getPermission('Email Access', None),
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
901 ]
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
902 self.db.security.role['anonymous'].permissions=p
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
903 self._handle_mail(message)
905
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
904 m = self.db.user.list()
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
905 m.sort()
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
906 self.assertNotEqual(l, m)
502a5ae11cc5 Very close now. The cgi and mailgw now use the new security API.
Richard Jones <richard@users.sourceforge.net>
parents: 857
diff changeset
907
665
9382ad731c1c All messages sent to the nosy list are now encoded as quoted-printable.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 617
diff changeset
908 def testEnc01(self):
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
909 self.doNewIssue()
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
910 self._handle_mail('''Content-Type: text/plain;
599
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
911 charset="iso-8859-1"
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
912 From: mary <mary@test>
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
913 To: issue_tracker@your.tracker.email.domain.example
599
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
914 Message-Id: <followup_dummy_id>
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
915 In-Reply-To: <dummy_test_message_id>
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
916 Subject: [issue1] Testing...
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
917 Content-Type: text/plain;
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
918 charset="iso-8859-1"
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
919 Content-Transfer-Encoding: quoted-printable
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
920
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
921 A message with encoding (encoded oe =F6)
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
922
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
923 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
924 self.compareMessages(self._get_mail(),
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
925 '''FROM: roundup-admin@your.tracker.email.domain.example
599
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
926 TO: chef@bork.bork.bork, richard@test
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
927 Content-Type: text/plain; charset=utf-8
599
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
928 Subject: [issue1] Testing...
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
929 To: chef@bork.bork.bork, richard@test
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
930 From: "Contrary, Mary" <issue_tracker@your.tracker.email.domain.example>
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
931 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
599
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
932 MIME-Version: 1.0
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
933 Message-Id: <followup_dummy_id>
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
934 In-Reply-To: <dummy_test_message_id>
613
d77b82588bf0 Fixed the unit tests for the mailgw re: the x-roundup-name header.
Richard Jones <richard@users.sourceforge.net>
parents: 609
diff changeset
935 X-Roundup-Name: Roundup issue tracker
1322
c0546b95aad1 finished off handling of retired flag in filter() [SF#635260]
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
936 X-Roundup-Loop: hello
665
9382ad731c1c All messages sent to the nosy list are now encoded as quoted-printable.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 617
diff changeset
937 Content-Transfer-Encoding: quoted-printable
599
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
938
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
939
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
940 Contrary, Mary <mary@test> added the comment:
599
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
941
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
942 A message with encoding (encoded oe =C3=B6)
599
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
943
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
944 ----------
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
945 status: unread -> chatting
2098
18addf2a8596 Implemented proper datatypes in mysql and postgresql backends...
Richard Jones <richard@users.sourceforge.net>
parents: 2089
diff changeset
946
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
947 _______________________________________________________________________
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
948 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
1582
54f7717ece32 fixes for new signature url quoting
Richard Jones <richard@users.sourceforge.net>
parents: 1549
diff changeset
949 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
950 _______________________________________________________________________
666
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
951 ''')
599
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
952
08aae4d34622 respect encodings in non multipart messages.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 595
diff changeset
953
665
9382ad731c1c All messages sent to the nosy list are now encoded as quoted-printable.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 617
diff changeset
954 def testMultipartEnc01(self):
753
938edfdeac6e Sorry about this huge checkin!
Richard Jones <richard@users.sourceforge.net>
parents: 742
diff changeset
955 self.doNewIssue()
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
956 self._handle_mail('''Content-Type: text/plain;
595
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
957 charset="iso-8859-1"
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
958 From: mary <mary@test>
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
959 To: issue_tracker@your.tracker.email.domain.example
595
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
960 Message-Id: <followup_dummy_id>
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
961 In-Reply-To: <dummy_test_message_id>
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
962 Subject: [issue1] Testing...
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
963 Content-Type: multipart/mixed;
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
964 boundary="----_=_NextPart_000_01"
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
965
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
966 This message is in MIME format. Since your mail reader does not understand
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
967 this format, some or all of this message may not be legible.
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
968
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
969 ------_=_NextPart_000_01
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
970 Content-Type: text/plain;
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
971 charset="iso-8859-1"
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
972 Content-Transfer-Encoding: quoted-printable
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
973
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
974 A message with first part encoded (encoded oe =F6)
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
975
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
976 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
977 self.compareMessages(self._get_mail(),
742
b105b46f6324 'I must run unit tests before committing\n' * 100
Richard Jones <richard@users.sourceforge.net>
parents: 718
diff changeset
978 '''FROM: roundup-admin@your.tracker.email.domain.example
595
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
979 TO: chef@bork.bork.bork, richard@test
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
980 Content-Type: text/plain; charset=utf-8
595
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
981 Subject: [issue1] Testing...
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
982 To: chef@bork.bork.bork, richard@test
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
983 From: "Contrary, Mary" <issue_tracker@your.tracker.email.domain.example>
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
984 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
595
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
985 MIME-Version: 1.0
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
986 Message-Id: <followup_dummy_id>
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
987 In-Reply-To: <dummy_test_message_id>
613
d77b82588bf0 Fixed the unit tests for the mailgw re: the x-roundup-name header.
Richard Jones <richard@users.sourceforge.net>
parents: 609
diff changeset
988 X-Roundup-Name: Roundup issue tracker
1322
c0546b95aad1 finished off handling of retired flag in filter() [SF#635260]
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
989 X-Roundup-Loop: hello
665
9382ad731c1c All messages sent to the nosy list are now encoded as quoted-printable.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 617
diff changeset
990 Content-Transfer-Encoding: quoted-printable
595
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
991
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
992
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
993 Contrary, Mary <mary@test> added the comment:
595
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
994
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
995 A message with first part encoded (encoded oe =C3=B6)
595
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
996
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
997 ----------
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
998 status: unread -> chatting
2098
18addf2a8596 Implemented proper datatypes in mysql and postgresql backends...
Richard Jones <richard@users.sourceforge.net>
parents: 2089
diff changeset
999
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
1000 _______________________________________________________________________
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
1001 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
1582
54f7717ece32 fixes for new signature url quoting
Richard Jones <richard@users.sourceforge.net>
parents: 1549
diff changeset
1002 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
1003 _______________________________________________________________________
666
d1567c2433c4 Made the email checking spit out a diff - much easier to spot the problem!
Richard Jones <richard@users.sourceforge.net>
parents: 665
diff changeset
1004 ''')
595
4c3dcda799f7 add test for multipart messages with first part being encoded.
Engelbert Gruber <grubert@users.sourceforge.net>
parents: 571
diff changeset
1005
1409
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1006 def testContentDisposition(self):
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1007 self.doNewIssue()
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
1008 self._handle_mail('''Content-Type: text/plain;
1409
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1009 charset="iso-8859-1"
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1010 From: mary <mary@test>
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1011 To: issue_tracker@your.tracker.email.domain.example
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1012 Message-Id: <followup_dummy_id>
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1013 In-Reply-To: <dummy_test_message_id>
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1014 Subject: [issue1] Testing...
2705
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1015 Content-Type: multipart/mixed; boundary="bCsyhTFzCvuiizWE"
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1016 Content-Disposition: inline
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1017
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1018
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1019 --bCsyhTFzCvuiizWE
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1020 Content-Type: text/plain; charset=us-ascii
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1021 Content-Disposition: inline
1409
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1022
2705
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1023 test attachment binary
1409
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1024
2705
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1025 --bCsyhTFzCvuiizWE
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1026 Content-Type: application/octet-stream
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1027 Content-Disposition: attachment; filename="main.dvi"
1409
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1028
2705
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1029 xxxxxx
1409
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1030
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1031 --bCsyhTFzCvuiizWE--
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1032 ''')
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1033 messages = self.db.issue.get('1', 'messages')
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1034 messages.sort()
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1035 file = self.db.msg.get(messages[-1], 'files')[0]
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1036 self.assertEqual(self.db.file.get(file, 'name'), 'main.dvi')
8dc60d87ab42 Fixed a backlog of bug reports, and worked on python 2.3 compatibility:
Richard Jones <richard@users.sourceforge.net>
parents: 1383
diff changeset
1037
1222
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1038 def testFollowupStupidQuoting(self):
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1039 self.doNewIssue()
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1040
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
1041 self._handle_mail('''Content-Type: text/plain;
1222
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1042 charset="iso-8859-1"
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1043 From: richard <richard@test>
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1044 To: issue_tracker@your.tracker.email.domain.example
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1045 Message-Id: <followup_dummy_id>
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1046 In-Reply-To: <dummy_test_message_id>
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1047 Subject: Re: "[issue1] Testing... "
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1048
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1049 This is a followup
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1050 ''')
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
1051 self.compareMessages(self._get_mail(),
1222
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1052 '''FROM: roundup-admin@your.tracker.email.domain.example
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1053 TO: chef@bork.bork.bork
1383
f19dde90e473 applied unicode patch
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1340
diff changeset
1054 Content-Type: text/plain; charset=utf-8
1222
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1055 Subject: [issue1] Testing...
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1056 To: chef@bork.bork.bork
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
1057 From: richard <issue_tracker@your.tracker.email.domain.example>
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
1058 Reply-To: Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
1222
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1059 MIME-Version: 1.0
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1060 Message-Id: <followup_dummy_id>
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1061 In-Reply-To: <dummy_test_message_id>
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1062 X-Roundup-Name: Roundup issue tracker
1322
c0546b95aad1 finished off handling of retired flag in filter() [SF#635260]
Richard Jones <richard@users.sourceforge.net>
parents: 1320
diff changeset
1063 X-Roundup-Loop: hello
1222
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1064 Content-Transfer-Encoding: quoted-printable
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1065
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1066
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1067 richard <richard@test> added the comment:
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1068
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1069 This is a followup
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1070
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1071 ----------
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1072 status: unread -> chatting
2098
18addf2a8596 Implemented proper datatypes in mysql and postgresql backends...
Richard Jones <richard@users.sourceforge.net>
parents: 2089
diff changeset
1073
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
1074 _______________________________________________________________________
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
1075 Roundup issue tracker <issue_tracker@your.tracker.email.domain.example>
1582
54f7717ece32 fixes for new signature url quoting
Richard Jones <richard@users.sourceforge.net>
parents: 1549
diff changeset
1076 <http://tracker.example/cgi-bin/roundup.cgi/bugs/issue1>
1299
b2d04ce03802 Email improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1222
diff changeset
1077 _______________________________________________________________________
1222
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1078 ''')
bc3bc3248dd1 added Class.find() unit test, fixed implementations
Richard Jones <richard@users.sourceforge.net>
parents: 1176
diff changeset
1079
1320
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1080 def testEmailQuoting(self):
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1081 self.instance.config.EMAIL_KEEP_QUOTED_TEXT = 'no'
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1082 self.innerTestQuoting('''This is a followup
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1083 ''')
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1084
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1085 def testEmailQuotingRemove(self):
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1086 self.instance.config.EMAIL_KEEP_QUOTED_TEXT = 'yes'
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1087 self.innerTestQuoting('''Blah blah wrote:
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1088 > Blah bklaskdfj sdf asdf jlaskdf skj sdkfjl asdf
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1089 > skdjlkjsdfalsdkfjasdlfkj dlfksdfalksd fj
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1090 >
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1091
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1092 This is a followup
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1093 ''')
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1094
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1095 def innerTestQuoting(self, expect):
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1096 nodeid = self.doNewIssue()
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1097
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1098 messages = self.db.issue.get(nodeid, 'messages')
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1099
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
1100 self._handle_mail('''Content-Type: text/plain;
1320
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1101 charset="iso-8859-1"
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1102 From: richard <richard@test>
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1103 To: issue_tracker@your.tracker.email.domain.example
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1104 Message-Id: <followup_dummy_id>
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1105 In-Reply-To: <dummy_test_message_id>
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1106 Subject: Re: [issue1] Testing...
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1107
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1108 Blah blah wrote:
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1109 > Blah bklaskdfj sdf asdf jlaskdf skj sdkfjl asdf
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1110 > skdjlkjsdfalsdkfjasdlfkj dlfksdfalksd fj
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1111 >
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1112
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1113 This is a followup
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1114 ''')
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1115 # figure the new message id
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1116 newmessages = self.db.issue.get(nodeid, 'messages')
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1117 for msg in messages:
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1118 newmessages.remove(msg)
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1119 messageid = newmessages[0]
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1120
1795
08b013acfec8 Message comparison is no longer a straight text comparison...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1793
diff changeset
1121 self.compareMessages(self.db.msg.get(messageid, 'content'), expect)
1320
3758a5af985f Lots of little fixes in this update:
Richard Jones <richard@users.sourceforge.net>
parents: 1299
diff changeset
1122
1549
a53a7e197360 fixed rdbms email address lookup (case insensitivity)
Richard Jones <richard@users.sourceforge.net>
parents: 1512
diff changeset
1123 def testUserLookup(self):
a53a7e197360 fixed rdbms email address lookup (case insensitivity)
Richard Jones <richard@users.sourceforge.net>
parents: 1512
diff changeset
1124 i = self.db.user.create(username='user1', address='user1@foo.com')
a53a7e197360 fixed rdbms email address lookup (case insensitivity)
Richard Jones <richard@users.sourceforge.net>
parents: 1512
diff changeset
1125 self.assertEqual(uidFromAddress(self.db, ('', 'user1@foo.com'), 0), i)
a53a7e197360 fixed rdbms email address lookup (case insensitivity)
Richard Jones <richard@users.sourceforge.net>
parents: 1512
diff changeset
1126 self.assertEqual(uidFromAddress(self.db, ('', 'USER1@foo.com'), 0), i)
a53a7e197360 fixed rdbms email address lookup (case insensitivity)
Richard Jones <richard@users.sourceforge.net>
parents: 1512
diff changeset
1127 i = self.db.user.create(username='user2', address='USER2@foo.com')
a53a7e197360 fixed rdbms email address lookup (case insensitivity)
Richard Jones <richard@users.sourceforge.net>
parents: 1512
diff changeset
1128 self.assertEqual(uidFromAddress(self.db, ('', 'USER2@foo.com'), 0), i)
a53a7e197360 fixed rdbms email address lookup (case insensitivity)
Richard Jones <richard@users.sourceforge.net>
parents: 1512
diff changeset
1129 self.assertEqual(uidFromAddress(self.db, ('', 'user2@foo.com'), 0), i)
a53a7e197360 fixed rdbms email address lookup (case insensitivity)
Richard Jones <richard@users.sourceforge.net>
parents: 1512
diff changeset
1130
1810
1a8dffd48c1c Add a test for looking up alternate adresses and case-insensitivity.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1797
diff changeset
1131 def testUserAlternateLookup(self):
1a8dffd48c1c Add a test for looking up alternate adresses and case-insensitivity.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1797
diff changeset
1132 i = self.db.user.create(username='user1', address='user1@foo.com',
1a8dffd48c1c Add a test for looking up alternate adresses and case-insensitivity.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1797
diff changeset
1133 alternate_addresses='user1@bar.com')
1a8dffd48c1c Add a test for looking up alternate adresses and case-insensitivity.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1797
diff changeset
1134 self.assertEqual(uidFromAddress(self.db, ('', 'user1@bar.com'), 0), i)
1a8dffd48c1c Add a test for looking up alternate adresses and case-insensitivity.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1797
diff changeset
1135 self.assertEqual(uidFromAddress(self.db, ('', 'USER1@bar.com'), 0), i)
1a8dffd48c1c Add a test for looking up alternate adresses and case-insensitivity.
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1797
diff changeset
1136
1592
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
1137 def testUserCreate(self):
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
1138 i = uidFromAddress(self.db, ('', 'user@foo.com'), 1)
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
1139 self.assertNotEqual(uidFromAddress(self.db, ('', 'user@bar.com'), 1), i)
4074e2336eed fixes to unit tests for recent changes
Richard Jones <richard@users.sourceforge.net>
parents: 1582
diff changeset
1140
1628
ea1afeb64b45 more pedantic rfc2822 header qp encoding
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1620
diff changeset
1141 def testRFC2822(self):
ea1afeb64b45 more pedantic rfc2822 header qp encoding
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1620
diff changeset
1142 ascii_header = "[issue243] This is a \"test\" - with 'quotation' marks"
ea1afeb64b45 more pedantic rfc2822 header qp encoding
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1620
diff changeset
1143 unicode_header = '[issue244] \xd0\xb0\xd0\xbd\xd0\xb4\xd1\x80\xd0\xb5\xd0\xb9'
ea1afeb64b45 more pedantic rfc2822 header qp encoding
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1620
diff changeset
1144 unicode_encoded = '=?utf-8?q?[issue244]_=D0=B0=D0=BD=D0=B4=D1=80=D0=B5=D0=B9?='
ea1afeb64b45 more pedantic rfc2822 header qp encoding
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1620
diff changeset
1145 self.assertEqual(rfc2822.encode_header(ascii_header), ascii_header)
ea1afeb64b45 more pedantic rfc2822 header qp encoding
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1620
diff changeset
1146 self.assertEqual(rfc2822.encode_header(unicode_header), unicode_encoded)
ea1afeb64b45 more pedantic rfc2822 header qp encoding
Andrey Lebedev <kedder@users.sourceforge.net>
parents: 1620
diff changeset
1147
1792
2cd528577108 mailgw now accepts registration confirmation mail that uses otk
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1628
diff changeset
1148 def testRegistrationConfirmation(self):
2cd528577108 mailgw now accepts registration confirmation mail that uses otk
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1628
diff changeset
1149 otk = "Aj4euk4LZSAdwePohj90SME5SpopLETL"
2089
93f03c6714d8 A few big changes in this commit:
Richard Jones <richard@users.sourceforge.net>
parents: 1984
diff changeset
1150 self.db.getOTKManager().set(otk, username='johannes')
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
1151 self._handle_mail('''Content-Type: text/plain;
1792
2cd528577108 mailgw now accepts registration confirmation mail that uses otk
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1628
diff changeset
1152 charset="iso-8859-1"
2cd528577108 mailgw now accepts registration confirmation mail that uses otk
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1628
diff changeset
1153 From: Chef <chef@bork.bork.bork>
2cd528577108 mailgw now accepts registration confirmation mail that uses otk
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1628
diff changeset
1154 To: issue_tracker@your.tracker.email.domain.example
2cd528577108 mailgw now accepts registration confirmation mail that uses otk
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1628
diff changeset
1155 Cc: richard@test
2cd528577108 mailgw now accepts registration confirmation mail that uses otk
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1628
diff changeset
1156 Message-Id: <dummy_test_message_id>
2709
6b5c77c03231 testRegistrationConfirmation: remove CR...
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2705
diff changeset
1157 Subject: Re: Complete your registration to Roundup issue tracker
1792
2cd528577108 mailgw now accepts registration confirmation mail that uses otk
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1628
diff changeset
1158 -- key %s
2cd528577108 mailgw now accepts registration confirmation mail that uses otk
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1628
diff changeset
1159
2cd528577108 mailgw now accepts registration confirmation mail that uses otk
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1628
diff changeset
1160 This is a test confirmation of registration.
2cd528577108 mailgw now accepts registration confirmation mail that uses otk
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1628
diff changeset
1161 ''' % otk)
2cd528577108 mailgw now accepts registration confirmation mail that uses otk
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1628
diff changeset
1162 self.db.user.lookup('johannes')
1859
492a962b6d6f Make signature matching more precise: only match '-- '...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1811
diff changeset
1163
1887
9d8d5fa0d9ad Don't rely on being about an issue...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1873
diff changeset
1164 def testFollowupOnNonIssue(self):
9d8d5fa0d9ad Don't rely on being about an issue...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1873
diff changeset
1165 self.db.keyword.create(name='Foo')
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
1166 self._handle_mail('''Content-Type: text/plain;
1887
9d8d5fa0d9ad Don't rely on being about an issue...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1873
diff changeset
1167 charset="iso-8859-1"
9d8d5fa0d9ad Don't rely on being about an issue...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1873
diff changeset
1168 From: richard <richard@test>
9d8d5fa0d9ad Don't rely on being about an issue...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1873
diff changeset
1169 To: issue_tracker@your.tracker.email.domain.example
9d8d5fa0d9ad Don't rely on being about an issue...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1873
diff changeset
1170 Message-Id: <followup_dummy_id>
9d8d5fa0d9ad Don't rely on being about an issue...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1873
diff changeset
1171 In-Reply-To: <dummy_test_message_id>
9d8d5fa0d9ad Don't rely on being about an issue...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1873
diff changeset
1172 Subject: [keyword1] Testing... [name=Bar]
9d8d5fa0d9ad Don't rely on being about an issue...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1873
diff changeset
1173
2705
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1174 ''')
1887
9d8d5fa0d9ad Don't rely on being about an issue...
Johannes Gijsbers <jlgijsbers@users.sourceforge.net>
parents: 1873
diff changeset
1175 self.assertEqual(self.db.keyword.get('1', 'name'), 'Bar')
1915
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1176
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1177 def testResentFrom(self):
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
1178 nodeid = self._handle_mail('''Content-Type: text/plain;
1915
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1179 charset="iso-8859-1"
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1180 From: Chef <chef@bork.bork.bork>
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1181 Resent-From: mary <mary@test>
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1182 To: issue_tracker@your.tracker.email.domain.example
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1183 Cc: richard@test
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1184 Message-Id: <dummy_test_message_id>
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1185 Subject: [issue] Testing...
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1186
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1187 This is a test submission of a new issue.
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1188 ''')
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1189 assert not os.path.exists(SENDMAILDEBUG)
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1190 l = self.db.issue.get(nodeid, 'nosy')
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1191 l.sort()
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1192 self.assertEqual(l, [self.richard_id, self.mary_id])
20cfd25cffda Resent-From: header
Richard Jones <richard@users.sourceforge.net>
parents: 1905
diff changeset
1193 return nodeid
1945
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1194
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1195 def testDejaVu(self):
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
1196 self.assertRaises(IgnoreLoop, self._handle_mail,
1945
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1197 '''Content-Type: text/plain;
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1198 charset="iso-8859-1"
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1199 From: Chef <chef@bork.bork.bork>
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1200 X-Roundup-Loop: hello
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1201 To: issue_tracker@your.tracker.email.domain.example
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1202 Cc: richard@test
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1203 Message-Id: <dummy_test_message_id>
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1204 Subject: Re: [issue] Testing...
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1205
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1206 Hi, I've been mis-configured to loop messages back to myself.
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1207 ''')
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1208
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1209 def testItsBulkStupid(self):
1984
18e77fe2a669 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents: 1945
diff changeset
1210 self.assertRaises(IgnoreBulk, self._handle_mail,
1945
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1211 '''Content-Type: text/plain;
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1212 charset="iso-8859-1"
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1213 From: Chef <chef@bork.bork.bork>
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1214 Precedence: bulk
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1215 To: issue_tracker@your.tracker.email.domain.example
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1216 Cc: richard@test
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1217 Message-Id: <dummy_test_message_id>
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1218 Subject: Re: [issue] Testing...
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1219
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1220 Hi, I'm on holidays, and this is a dumb auto-responder.
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1221 ''')
7e4058dfb29b ignore incoming email with "Precedence: bulk" (patch [SF#843489])
Richard Jones <richard@users.sourceforge.net>
parents: 1915
diff changeset
1222
3171
cfe7d8cb9794 ignore AutoReply messages (patch [SF#1085051])
Richard Jones <richard@users.sourceforge.net>
parents: 2822
diff changeset
1223 def testAutoReplyEmailsAreIgnored(self):
cfe7d8cb9794 ignore AutoReply messages (patch [SF#1085051])
Richard Jones <richard@users.sourceforge.net>
parents: 2822
diff changeset
1224 self.assertRaises(IgnoreBulk, self._handle_mail,
cfe7d8cb9794 ignore AutoReply messages (patch [SF#1085051])
Richard Jones <richard@users.sourceforge.net>
parents: 2822
diff changeset
1225 '''Content-Type: text/plain;
cfe7d8cb9794 ignore AutoReply messages (patch [SF#1085051])
Richard Jones <richard@users.sourceforge.net>
parents: 2822
diff changeset
1226 charset="iso-8859-1"
cfe7d8cb9794 ignore AutoReply messages (patch [SF#1085051])
Richard Jones <richard@users.sourceforge.net>
parents: 2822
diff changeset
1227 From: Chef <chef@bork.bork.bork>
cfe7d8cb9794 ignore AutoReply messages (patch [SF#1085051])
Richard Jones <richard@users.sourceforge.net>
parents: 2822
diff changeset
1228 To: issue_tracker@your.tracker.email.domain.example
cfe7d8cb9794 ignore AutoReply messages (patch [SF#1085051])
Richard Jones <richard@users.sourceforge.net>
parents: 2822
diff changeset
1229 Cc: richard@test
cfe7d8cb9794 ignore AutoReply messages (patch [SF#1085051])
Richard Jones <richard@users.sourceforge.net>
parents: 2822
diff changeset
1230 Message-Id: <dummy_test_message_id>
cfe7d8cb9794 ignore AutoReply messages (patch [SF#1085051])
Richard Jones <richard@users.sourceforge.net>
parents: 2822
diff changeset
1231 Subject: Re: [issue] Out of office AutoReply: Back next week
cfe7d8cb9794 ignore AutoReply messages (patch [SF#1085051])
Richard Jones <richard@users.sourceforge.net>
parents: 2822
diff changeset
1232
3810
4536c0e544be Bah! The python-mode in my emacs is borked by this line,,,
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3809
diff changeset
1233 Hi, I am back in the office next week
3171
cfe7d8cb9794 ignore AutoReply messages (patch [SF#1085051])
Richard Jones <richard@users.sourceforge.net>
parents: 2822
diff changeset
1234 ''')
cfe7d8cb9794 ignore AutoReply messages (patch [SF#1085051])
Richard Jones <richard@users.sourceforge.net>
parents: 2822
diff changeset
1235
3367
a23863a95326 handle missing Subject lines better [SF#1198729]
Richard Jones <richard@users.sourceforge.net>
parents: 3171
diff changeset
1236 def testNoSubject(self):
a23863a95326 handle missing Subject lines better [SF#1198729]
Richard Jones <richard@users.sourceforge.net>
parents: 3171
diff changeset
1237 self.assertRaises(MailUsageError, self._handle_mail,
a23863a95326 handle missing Subject lines better [SF#1198729]
Richard Jones <richard@users.sourceforge.net>
parents: 3171
diff changeset
1238 '''Content-Type: text/plain;
a23863a95326 handle missing Subject lines better [SF#1198729]
Richard Jones <richard@users.sourceforge.net>
parents: 3171
diff changeset
1239 charset="iso-8859-1"
a23863a95326 handle missing Subject lines better [SF#1198729]
Richard Jones <richard@users.sourceforge.net>
parents: 3171
diff changeset
1240 From: Chef <chef@bork.bork.bork>
a23863a95326 handle missing Subject lines better [SF#1198729]
Richard Jones <richard@users.sourceforge.net>
parents: 3171
diff changeset
1241 To: issue_tracker@your.tracker.email.domain.example
a23863a95326 handle missing Subject lines better [SF#1198729]
Richard Jones <richard@users.sourceforge.net>
parents: 3171
diff changeset
1242 Cc: richard@test
a23863a95326 handle missing Subject lines better [SF#1198729]
Richard Jones <richard@users.sourceforge.net>
parents: 3171
diff changeset
1243 Reply-To: chef@bork.bork.bork
a23863a95326 handle missing Subject lines better [SF#1198729]
Richard Jones <richard@users.sourceforge.net>
parents: 3171
diff changeset
1244 Message-Id: <dummy_test_message_id>
a23863a95326 handle missing Subject lines better [SF#1198729]
Richard Jones <richard@users.sourceforge.net>
parents: 3171
diff changeset
1245
a23863a95326 handle missing Subject lines better [SF#1198729]
Richard Jones <richard@users.sourceforge.net>
parents: 3171
diff changeset
1246 ''')
a23863a95326 handle missing Subject lines better [SF#1198729]
Richard Jones <richard@users.sourceforge.net>
parents: 3171
diff changeset
1247
3417
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1248 #
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1249 # TEST FOR INVALID DESIGNATOR HANDLING
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1250 #
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1251 def testInvalidDesignator(self):
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1252 self.assertRaises(MailUsageError, self._handle_mail,
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1253 '''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1254 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1255 From: Chef <chef@bork.bork.bork>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1256 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1257 Subject: [frobulated] testing
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1258 Cc: richard@test
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1259 Reply-To: chef@bork.bork.bork
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1260 Message-Id: <dummy_test_message_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1261
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1262 ''')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1263 self.assertRaises(MailUsageError, self._handle_mail,
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1264 '''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1265 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1266 From: Chef <chef@bork.bork.bork>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1267 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1268 Subject: [issue12345] testing
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1269 Cc: richard@test
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1270 Reply-To: chef@bork.bork.bork
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1271 Message-Id: <dummy_test_message_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1272
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1273 ''')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1274
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1275 def testInvalidClassLoose(self):
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1276 self.instance.config.MAILGW_SUBJECT_PREFIX_PARSING = 'loose'
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1277 nodeid = self._handle_mail('''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1278 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1279 From: Chef <chef@bork.bork.bork>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1280 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1281 Subject: [frobulated] testing
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1282 Cc: richard@test
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1283 Reply-To: chef@bork.bork.bork
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1284 Message-Id: <dummy_test_message_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1285
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1286 ''')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1287 assert not os.path.exists(SENDMAILDEBUG)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1288 self.assertEqual(self.db.issue.get(nodeid, 'title'),
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1289 '[frobulated] testing')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1290
3815
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1291 def testInvalidClassLooseReply(self):
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1292 self.instance.config.MAILGW_SUBJECT_PREFIX_PARSING = 'loose'
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1293 nodeid = self._handle_mail('''Content-Type: text/plain;
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1294 charset="iso-8859-1"
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1295 From: Chef <chef@bork.bork.bork>
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1296 To: issue_tracker@your.tracker.email.domain.example
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1297 Subject: Re: [frobulated] testing
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1298 Cc: richard@test
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1299 Reply-To: chef@bork.bork.bork
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1300 Message-Id: <dummy_test_message_id>
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1301
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1302 ''')
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1303 assert not os.path.exists(SENDMAILDEBUG)
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1304 self.assertEqual(self.db.issue.get(nodeid, 'title'),
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1305 '[frobulated] testing')
2b63b1689cef Fixes to mailgw subject parsing
Richard Jones <richard@users.sourceforge.net>
parents: 3813
diff changeset
1306
3417
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1307 def testInvalidClassLoose(self):
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1308 self.instance.config.MAILGW_SUBJECT_PREFIX_PARSING = 'loose'
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1309 nodeid = self._handle_mail('''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1310 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1311 From: Chef <chef@bork.bork.bork>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1312 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1313 Subject: [issue1234] testing
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1314 Cc: richard@test
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1315 Reply-To: chef@bork.bork.bork
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1316 Message-Id: <dummy_test_message_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1317
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1318 ''')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1319 assert not os.path.exists(SENDMAILDEBUG)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1320 self.assertEqual(self.db.issue.get(nodeid, 'title'),
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1321 '[issue1234] testing')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1322
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1323 def testClassLooseOK(self):
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1324 self.instance.config.MAILGW_SUBJECT_PREFIX_PARSING = 'loose'
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1325 self.db.keyword.create(name='Foo')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1326 nodeid = self._handle_mail('''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1327 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1328 From: Chef <chef@bork.bork.bork>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1329 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1330 Subject: [keyword1] Testing... [name=Bar]
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1331 Cc: richard@test
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1332 Reply-To: chef@bork.bork.bork
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1333 Message-Id: <dummy_test_message_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1334
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1335 ''')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1336 assert not os.path.exists(SENDMAILDEBUG)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1337 self.assertEqual(self.db.keyword.get('1', 'name'), 'Bar')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1338
3813
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1339 def testClassStrictInvalid(self):
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1340 self.instance.config.MAILGW_SUBJECT_PREFIX_PARSING = 'strict'
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1341 self.instance.config.MAILGW_DEFAULT_CLASS = ''
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1342
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1343 message = '''Content-Type: text/plain;
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1344 charset="iso-8859-1"
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1345 From: Chef <chef@bork.bork.bork>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1346 To: issue_tracker@your.tracker.email.domain.example
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1347 Subject: Testing...
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1348 Cc: richard@test
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1349 Reply-To: chef@bork.bork.bork
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1350 Message-Id: <dummy_test_message_id>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1351
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1352 '''
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1353 self.assertRaises(MailUsageError, self._handle_mail, message)
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1354
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1355 def testClassStrictValid(self):
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1356 self.instance.config.MAILGW_SUBJECT_PREFIX_PARSING = 'strict'
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1357 self.instance.config.MAILGW_DEFAULT_CLASS = ''
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1358
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1359 nodeid = self._handle_mail('''Content-Type: text/plain;
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1360 charset="iso-8859-1"
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1361 From: Chef <chef@bork.bork.bork>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1362 To: issue_tracker@your.tracker.email.domain.example
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1363 Subject: [issue] Testing...
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1364 Cc: richard@test
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1365 Reply-To: chef@bork.bork.bork
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1366 Message-Id: <dummy_test_message_id>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1367
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1368 ''')
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1369
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1370 assert not os.path.exists(SENDMAILDEBUG)
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1371 self.assertEqual(self.db.issue.get(nodeid, 'title'), 'Testing...')
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1372
3417
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1373 #
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1374 # TEST FOR INVALID COMMANDS HANDLING
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1375 #
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1376 def testInvalidCommands(self):
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1377 self.assertRaises(MailUsageError, self._handle_mail,
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1378 '''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1379 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1380 From: Chef <chef@bork.bork.bork>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1381 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1382 Subject: testing [frobulated]
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1383 Cc: richard@test
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1384 Reply-To: chef@bork.bork.bork
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1385 Message-Id: <dummy_test_message_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1386
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1387 ''')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1388
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1389 def testInvalidCommandPassthrough(self):
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1390 self.instance.config.MAILGW_SUBJECT_SUFFIX_PARSING = 'none'
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1391 nodeid = self._handle_mail('''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1392 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1393 From: Chef <chef@bork.bork.bork>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1394 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1395 Subject: testing [frobulated]
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1396 Cc: richard@test
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1397 Reply-To: chef@bork.bork.bork
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1398 Message-Id: <dummy_test_message_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1399
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1400 ''')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1401 assert not os.path.exists(SENDMAILDEBUG)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1402 self.assertEqual(self.db.issue.get(nodeid, 'title'),
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1403 'testing [frobulated]')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1404
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1405 def testInvalidCommandPassthroughLoose(self):
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1406 self.instance.config.MAILGW_SUBJECT_SUFFIX_PARSING = 'loose'
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1407 nodeid = self._handle_mail('''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1408 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1409 From: Chef <chef@bork.bork.bork>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1410 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1411 Subject: testing [frobulated]
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1412 Cc: richard@test
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1413 Reply-To: chef@bork.bork.bork
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1414 Message-Id: <dummy_test_message_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1415
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1416 ''')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1417 assert not os.path.exists(SENDMAILDEBUG)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1418 self.assertEqual(self.db.issue.get(nodeid, 'title'),
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1419 'testing [frobulated]')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1420
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1421 def testInvalidCommandPassthroughLooseOK(self):
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1422 self.instance.config.MAILGW_SUBJECT_SUFFIX_PARSING = 'loose'
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1423 nodeid = self._handle_mail('''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1424 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1425 From: Chef <chef@bork.bork.bork>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1426 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1427 Subject: testing [assignedto=mary]
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1428 Cc: richard@test
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1429 Reply-To: chef@bork.bork.bork
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1430 Message-Id: <dummy_test_message_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1431
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1432 ''')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1433 assert not os.path.exists(SENDMAILDEBUG)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1434 self.assertEqual(self.db.issue.get(nodeid, 'title'), 'testing')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1435 self.assertEqual(self.db.issue.get(nodeid, 'assignedto'), self.mary_id)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1436
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1437 def testCommandDelimiters(self):
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1438 self.instance.config.MAILGW_SUBJECT_SUFFIX_DELIMITERS = '{}'
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1439 nodeid = self._handle_mail('''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1440 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1441 From: Chef <chef@bork.bork.bork>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1442 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1443 Subject: testing {assignedto=mary}
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1444 Cc: richard@test
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1445 Reply-To: chef@bork.bork.bork
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1446 Message-Id: <dummy_test_message_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1447
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1448 ''')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1449 assert not os.path.exists(SENDMAILDEBUG)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1450 self.assertEqual(self.db.issue.get(nodeid, 'title'), 'testing')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1451 self.assertEqual(self.db.issue.get(nodeid, 'assignedto'), self.mary_id)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1452
3724
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1453 def testPrefixDelimiters(self):
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1454 self.instance.config.MAILGW_SUBJECT_SUFFIX_DELIMITERS = '{}'
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1455 self.db.keyword.create(name='Foo')
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1456 self._handle_mail('''Content-Type: text/plain;
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1457 charset="iso-8859-1"
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1458 From: richard <richard@test>
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1459 To: issue_tracker@your.tracker.email.domain.example
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1460 Message-Id: <followup_dummy_id>
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1461 In-Reply-To: <dummy_test_message_id>
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1462 Subject: {keyword1} Testing... {name=Bar}
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1463
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1464 ''')
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1465 assert not os.path.exists(SENDMAILDEBUG)
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1466 self.assertEqual(self.db.keyword.get('1', 'name'), 'Bar')
b4d655b2aacf E-mail subject line prefix delimiter configuration was being ignored
Richard Jones <richard@users.sourceforge.net>
parents: 3678
diff changeset
1467
3417
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1468 def testCommandDelimitersIgnore(self):
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1469 self.instance.config.MAILGW_SUBJECT_SUFFIX_DELIMITERS = '{}'
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1470 nodeid = self._handle_mail('''Content-Type: text/plain;
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1471 charset="iso-8859-1"
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1472 From: Chef <chef@bork.bork.bork>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1473 To: issue_tracker@your.tracker.email.domain.example
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1474 Subject: testing [assignedto=mary]
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1475 Cc: richard@test
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1476 Reply-To: chef@bork.bork.bork
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1477 Message-Id: <dummy_test_message_id>
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1478
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1479 ''')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1480 assert not os.path.exists(SENDMAILDEBUG)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1481 self.assertEqual(self.db.issue.get(nodeid, 'title'),
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1482 'testing [assignedto=mary]')
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1483 self.assertEqual(self.db.issue.get(nodeid, 'assignedto'), None)
07c696890f55 mailgw subject parsing has configurable levels of strictness
Richard Jones <richard@users.sourceforge.net>
parents: 3367
diff changeset
1484
3809
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1485 def testReplytoMatch(self):
3811
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1486 self.instance.config.MAILGW_SUBJECT_PREFIX_PARSING = 'loose'
3809
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1487 nodeid = self.doNewIssue()
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1488 nodeid2 = self._handle_mail('''Content-Type: text/plain;
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1489 charset="iso-8859-1"
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1490 From: Chef <chef@bork.bork.bork>
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1491 To: issue_tracker@your.tracker.email.domain.example
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1492 Message-Id: <dummy_test_message_id2>
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1493 In-Reply-To: <dummy_test_message_id>
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1494 Subject: Testing...
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1495
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1496 Followup message.
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1497 ''')
3811
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1498
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1499 nodeid3 = self._handle_mail('''Content-Type: text/plain;
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1500 charset="iso-8859-1"
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1501 From: Chef <chef@bork.bork.bork>
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1502 To: issue_tracker@your.tracker.email.domain.example
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1503 Message-Id: <dummy_test_message_id3>
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1504 In-Reply-To: <dummy_test_message_id2>
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1505 Subject: Testing...
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1506
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1507 Yet another message in the same thread/issue.
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1508 ''')
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1509
3809
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1510 self.assertEqual(nodeid, nodeid2)
3811
ccd55dc53410 Make functionality for matching In-Reply-To and Message-Id work...
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3810
diff changeset
1511 self.assertEqual(nodeid, nodeid3)
3809
12fc9a8bd3e6 Fix bug in matching In-Reply-To header to existing Message-ID and add unit test.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3724
diff changeset
1512
3812
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1513 def testHelpSubject(self):
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1514 message = '''Content-Type: text/plain;
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1515 charset="iso-8859-1"
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1516 From: Chef <chef@bork.bork.bork>
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1517 To: issue_tracker@your.tracker.email.domain.example
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1518 Message-Id: <dummy_test_message_id2>
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1519 In-Reply-To: <dummy_test_message_id>
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1520 Subject: hElp
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1521
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1522
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1523 '''
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1524 self.assertRaises(MailUsageHelp, self._handle_mail, message)
3813
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1525
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1526 def testMaillistSubject(self):
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1527 self.instance.config.MAILGW_SUBJECT_SUFFIX_DELIMITERS = '[]'
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1528 self.db.keyword.create(name='Foo')
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1529 self._handle_mail('''Content-Type: text/plain;
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1530 charset="iso-8859-1"
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1531 From: Chef <chef@bork.bork.bork>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1532 To: issue_tracker@your.tracker.email.domain.example
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1533 Subject: [mailinglist-name] [keyword1] Testing.. [name=Bar]
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1534 Cc: richard@test
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1535 Reply-To: chef@bork.bork.bork
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1536 Message-Id: <dummy_test_message_id>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1537
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1538 ''')
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1539
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1540 assert not os.path.exists(SENDMAILDEBUG)
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1541 self.assertEqual(self.db.keyword.get('1', 'name'), 'Bar')
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1542
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1543 def testUnknownPrefixSubject(self):
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1544 self.db.keyword.create(name='Foo')
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1545 self._handle_mail('''Content-Type: text/plain;
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1546 charset="iso-8859-1"
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1547 From: Chef <chef@bork.bork.bork>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1548 To: issue_tracker@your.tracker.email.domain.example
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1549 Subject: VeryStrangeRe: [keyword1] Testing.. [name=Bar]
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1550 Cc: richard@test
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1551 Reply-To: chef@bork.bork.bork
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1552 Message-Id: <dummy_test_message_id>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1553
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1554 ''')
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1555
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1556 assert not os.path.exists(SENDMAILDEBUG)
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1557 self.assertEqual(self.db.keyword.get('1', 'name'), 'Bar')
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1558
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1559 def testIssueidLast(self):
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1560 nodeid1 = self.doNewIssue()
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1561 nodeid2 = self._handle_mail('''Content-Type: text/plain;
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1562 charset="iso-8859-1"
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1563 From: mary <mary@test>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1564 To: issue_tracker@your.tracker.email.domain.example
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1565 Message-Id: <followup_dummy_id>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1566 In-Reply-To: <dummy_test_message_id>
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1567 Subject: New title [issue1]
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1568
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1569 This is a second followup
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1570 ''')
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1571
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1572 assert nodeid1 == nodeid2
23470ece29de Modified subject line parser in mail gateway.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3812
diff changeset
1573 self.assertEqual(self.db.issue.get(nodeid2, 'title'), "Testing...")
3812
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1574
27b589d3b79d Added simple test for 'Subject: help' functionality.
Erik Forsberg <forsberg@users.sourceforge.net>
parents: 3811
diff changeset
1575
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
1576 def test_suite():
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
1577 suite = unittest.TestSuite()
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
1578 suite.addTest(unittest.makeSuite(MailgwTestCase))
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
1579 return suite
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1580
1873
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
1581 if __name__ == '__main__':
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
1582 runner = unittest.TextTestRunner()
f63aa57386b0 Backend improvements.
Richard Jones <richard@users.sourceforge.net>
parents: 1869
diff changeset
1583 unittest.main(testRunner=runner)
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1584
2705
d81a7b03435f init.initialize() was removed in r1.30 (27-jul-2004)
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2229
diff changeset
1585 # vim: set filetype=python sts=4 sw=4 et si :

Roundup Issue Tracker: http://roundup-tracker.org/