annotate test/test_mailgw.py @ 570:e346a9792335

fixed back_bsddb so it passed the journal tests ... it didn't seem happy using the back_anydbm _open method, which is odd. Yet another occurrance of whichdb not being able to recognise older bsddb databases. Yadda yadda. Made the HYPERDBDEBUG stuff more sane in the process.
author Richard Jones <richard@users.sourceforge.net>
date Tue, 22 Jan 2002 07:21:13 +0000
parents d7b9751f8927
children 2998d683e2cf
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 #
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
11 # $Id: test_mailgw.py,v 1.6 2002-01-21 10:05:48 rochecompaan Exp $
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13 import unittest, cStringIO, tempfile, os, shutil, errno, imp, sys
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
14
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
15 from roundup.mailgw import MailGW
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
16 from roundup import init, instance
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
17
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
18 class MailgwTestCase(unittest.TestCase):
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
19 count = 0
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
20 schema = 'classic'
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
21 def setUp(self):
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
22 MailgwTestCase.count = MailgwTestCase.count + 1
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
23 self.dirname = '_test_%s'%self.count
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
24 try:
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
25 shutil.rmtree(self.dirname)
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
26 except OSError, error:
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
27 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
28 # create the instance
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
29 init.init(self.dirname, self.schema, 'anydbm', 'sekrit')
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
30 # check we can load the package
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
31 self.instance = instance.open(self.dirname)
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
32 # and open the database
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
33 self.db = self.instance.open('sekrit')
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
34 self.db.user.create(username='Chef', address='chef@bork.bork.bork')
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
35 self.db.user.create(username='richard', address='richard@test')
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
36 self.db.user.create(username='mary', address='mary@test')
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
37 self.db.user.create(username='john', address='john@test')
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
38
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
39 def tearDown(self):
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
40 if os.path.exists(os.environ['SENDMAILDEBUG']):
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
41 os.remove(os.environ['SENDMAILDEBUG'])
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
42 try:
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
43 shutil.rmtree(self.dirname)
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
44 except OSError, error:
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
45 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
46
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
47 def testNewIssue(self):
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
48 message = cStringIO.StringIO('''Content-Type: text/plain;
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
49 charset="iso-8859-1"
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
50 From: Chef <chef@bork.bork.bork
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
51 To: issue_tracker@fill.me.in.
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
52 Cc: richard@test
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
53 Message-Id: <dummy_test_message_id>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
54 Subject: [issue] Testing...
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
55
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
56 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
57 ''')
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
58 handler = self.instance.MailGW(self.instance, self.db)
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
59 handler.main(message)
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
60 if os.path.exists(os.environ['SENDMAILDEBUG']):
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
61 error = open(os.environ['SENDMAILDEBUG']).read()
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
62 self.assertEqual('no error', error)
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
63
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
64 def testNewIssueAuthMsg(self):
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
65 message = cStringIO.StringIO('''Content-Type: text/plain;
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
66 charset="iso-8859-1"
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
67 From: Chef <chef@bork.bork.bork
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
68 To: issue_tracker@fill.me.in.
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
69 Message-Id: <dummy_test_message_id>
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
70 Subject: [issue] Testing... [nosy=mary; assignedto=richard]
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
71
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
72 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
73 ''')
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
74 handler = self.instance.MailGW(self.instance, self.db)
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
75 # TODO: fix the damn config - this is apalling
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 522
diff changeset
76 self.db.config.MESSAGES_TO_AUTHOR = 'yes'
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
77 handler.main(message)
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
78
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
79 self.assertEqual(open(os.environ['SENDMAILDEBUG']).read(),
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
80 '''FROM: roundup-admin@fill.me.in.
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
81 TO: chef@bork.bork.bork, mary@test, richard@test
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
82 Content-Type: text/plain
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
83 Subject: [issue1] Testing...
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
84 To: chef@bork.bork.bork, mary@test, richard@test
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
85 From: Chef <issue_tracker@fill.me.in.>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
86 Reply-To: Roundup issue tracker <issue_tracker@fill.me.in.>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
87 MIME-Version: 1.0
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
88 Message-Id: <dummy_test_message_id>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
89
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
90
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
91 New submission from Chef <chef@bork.bork.bork>:
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
92
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
93 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
94
537
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
95
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
96 ----------
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
97 assignedto: richard
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
98 messages: 1
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
99 nosy: mary, Chef, richard
537
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
100 status: unread
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
101 title: Testing...
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
102 ___________________________________________________
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
103 "Roundup issue tracker" <issue_tracker@fill.me.in.>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
104 http://some.useful.url/issue1
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
105 ___________________________________________________
537
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
106 ''')
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
107
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
108 def testFollowup(self):
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
109 self.testNewIssue()
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
110 message = cStringIO.StringIO('''Content-Type: text/plain;
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
111 charset="iso-8859-1"
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
112 From: richard <richard@test>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
113 To: issue_tracker@fill.me.in.
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
114 Message-Id: <followup_dummy_id>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
115 In-Reply-To: <dummy_test_message_id>
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
116 Subject: [issue1] Testing... [assignedto=mary; nosy=john]
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
117
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
118 This is a followup
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
119 ''')
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
120 handler = self.instance.MailGW(self.instance, self.db)
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
121 handler.main(message)
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
122
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
123 self.assertEqual(open(os.environ['SENDMAILDEBUG']).read(),
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
124 '''FROM: roundup-admin@fill.me.in.
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
125 TO: chef@bork.bork.bork, mary@test, john@test
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
126 Content-Type: text/plain
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
127 Subject: [issue1] Testing...
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
128 To: chef@bork.bork.bork, mary@test, john@test
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
129 From: richard <issue_tracker@fill.me.in.>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
130 Reply-To: Roundup issue tracker <issue_tracker@fill.me.in.>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
131 MIME-Version: 1.0
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
132 Message-Id: <followup_dummy_id>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
133 In-Reply-To: <dummy_test_message_id>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
134
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
135
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
136 richard <richard@test> added the comment:
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
137
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
138 This is a followup
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
139
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
140
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
141 ----------
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
142 assignedto: -> mary
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
143 nosy: +mary, john
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
144 ___________________________________________________
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
145 "Roundup issue tracker" <issue_tracker@fill.me.in.>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
146 http://some.useful.url/issue1
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
147 ___________________________________________________
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
148 ''', 'Generated message not correct')
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
149
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
150 def testFollowup2(self):
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
151 self.testNewIssue()
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
152 message = cStringIO.StringIO('''Content-Type: text/plain;
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
153 charset="iso-8859-1"
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
154 From: mary <mary@test>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
155 To: issue_tracker@fill.me.in.
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
156 Message-Id: <followup_dummy_id>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
157 In-Reply-To: <dummy_test_message_id>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
158 Subject: [issue1] Testing...
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
159
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
160 This is a second followup
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
161 ''')
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
162 handler = self.instance.MailGW(self.instance, self.db)
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
163 handler.main(message)
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
164 self.assertEqual(open(os.environ['SENDMAILDEBUG']).read(),
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
165 '''FROM: roundup-admin@fill.me.in.
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
166 TO: chef@bork.bork.bork, richard@test
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
167 Content-Type: text/plain
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
168 Subject: [issue1] Testing...
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
169 To: chef@bork.bork.bork, richard@test
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
170 From: mary <issue_tracker@fill.me.in.>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
171 Reply-To: Roundup issue tracker <issue_tracker@fill.me.in.>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
172 MIME-Version: 1.0
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
173 Message-Id: <followup_dummy_id>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
174 In-Reply-To: <dummy_test_message_id>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
175
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
176
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
177 mary <mary@test> added the comment:
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
178
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
179 This is a second followup
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
180
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
181 ___________________________________________________
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
182 "Roundup issue tracker" <issue_tracker@fill.me.in.>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
183 http://some.useful.url/issue1
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
184 ___________________________________________________
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
185 ''', 'Generated message not correct')
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
186
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
187 class ExtMailgwTestCase(MailgwTestCase):
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
188 schema = 'extended'
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
189
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
190 def suite():
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
191 l = [unittest.makeSuite(MailgwTestCase, 'test'),
537
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
192 unittest.makeSuite(ExtMailgwTestCase, 'test')
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
193 ]
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
194 return unittest.TestSuite(l)
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
195
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
196
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
197 #
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
198 # $Log: not supported by cvs2svn $
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
199 # Revision 1.5 2002/01/15 00:12:40 richard
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
200 # #503340 ] creating issue with [asignedto=p.ohly]
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
201 #
537
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
202 # Revision 1.4 2002/01/14 07:12:15 richard
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
203 # removed file writing from tests...
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
204 #
532
a69dc91643e9 removed file writing from tests.
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
205 # Revision 1.3 2002/01/14 02:20:15 richard
a69dc91643e9 removed file writing from tests.
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
206 # . changed all config accesses so they access either the instance or the
a69dc91643e9 removed file writing from tests.
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
207 # config attriubute on the db. This means that all config is obtained from
a69dc91643e9 removed file writing from tests.
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
208 # instance_config instead of the mish-mash of classes. This will make
a69dc91643e9 removed file writing from tests.
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
209 # switching to a ConfigParser setup easier too, I hope.
a69dc91643e9 removed file writing from tests.
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
210 #
a69dc91643e9 removed file writing from tests.
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
211 # At a minimum, this makes migration a _little_ easier (a lot easier in the
a69dc91643e9 removed file writing from tests.
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
212 # 0.5.0 switch, I hope!)
a69dc91643e9 removed file writing from tests.
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
213 #
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 522
diff changeset
214 # Revision 1.2 2002/01/11 23:22:29 richard
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 522
diff changeset
215 # . #502437 ] rogue reactor and unittest
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 522
diff changeset
216 # in short, the nosy reactor was modifying the nosy list. That code had
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 522
diff changeset
217 # been there for a long time, and I suspsect it was there because we
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 522
diff changeset
218 # weren't generating the nosy list correctly in other places of the code.
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 522
diff changeset
219 # We're now doing that, so the nosy-modifying code can go away from the
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 522
diff changeset
220 # nosy reactor.
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 522
diff changeset
221 #
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
222 # Revision 1.1 2002/01/02 02:31:38 richard
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
223 # Sorry for the huge checkin message - I was only intending to implement #496356
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
224 # but I found a number of places where things had been broken by transactions:
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
225 # . modified ROUNDUPDBSENDMAILDEBUG to be SENDMAILDEBUG and hold a filename
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
226 # for _all_ roundup-generated smtp messages to be sent to.
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
227 # . the transaction cache had broken the roundupdb.Class set() reactors
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
228 # . newly-created author users in the mailgw weren't being committed to the db
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
229 #
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
230 # Stuff that made it into CHANGES.txt (ie. the stuff I was actually working
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
231 # on when I found that stuff :):
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
232 # . #496356 ] Use threading in messages
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
233 # . detectors were being registered multiple times
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
234 # . added tests for mailgw
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
235 # . much better attaching of erroneous messages in the mail gateway
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
236 #
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
237 #
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
238 #
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
239 #
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
240 # vim: set filetype=python ts=4 sw=4 et si

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