Mercurial > p > roundup > code
annotate test/test_mailgw.py @ 524:dce4c75bef5a
changed all config accesses...
...so they access either the instance or the config attriubute on the
db. This means that all config is obtained from instance_config
instead of the mish-mash of classes. This will make switching to a
ConfigParser setup easier too, I hope.
At a minimum, this makes migration a _little_ easier (a lot easier in the
0.5.0 switch, I hope!)
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Mon, 14 Jan 2002 02:20:15 +0000 |
| parents | f2edf460b0b9 |
| children | a69dc91643e9 |
| 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 # |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
11 # $Id: test_mailgw.py,v 1.3 2002-01-14 02:20:15 richard 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> |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
70 Subject: [issue] Testing... |
|
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. |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
81 TO: chef@bork.bork.bork |
|
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... |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
84 To: chef@bork.bork.bork |
|
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 |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
95 ___________________________________________________ |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
96 "Roundup issue tracker" <issue_tracker@fill.me.in.> |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
97 http://some.useful.url/issue1 |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
98 ___________________________________________________ |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
99 ''', 'Generated message not correct') |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
100 |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
101 def testFollowup(self): |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
102 self.testNewIssue() |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
103 message = cStringIO.StringIO('''Content-Type: text/plain; |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
104 charset="iso-8859-1" |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
105 From: richard <richard@test> |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
106 To: issue_tracker@fill.me.in. |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
107 Message-Id: <followup_dummy_id> |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
108 In-Reply-To: <dummy_test_message_id> |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
109 Subject: [issue1] Testing... |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
110 |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
111 This is a followup |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
112 ''') |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
113 handler = self.instance.MailGW(self.instance, self.db) |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
114 # TODO: fix the damn config - this is apalling |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
115 handler.main(message) |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
116 |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
117 self.assertEqual(open(os.environ['SENDMAILDEBUG']).read(), |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
118 '''FROM: roundup-admin@fill.me.in. |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
119 TO: chef@bork.bork.bork |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
120 Content-Type: text/plain |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
121 Subject: [issue1] Testing... |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
122 To: chef@bork.bork.bork |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
123 From: richard <issue_tracker@fill.me.in.> |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
124 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
|
125 MIME-Version: 1.0 |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
126 Message-Id: <followup_dummy_id> |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
127 In-Reply-To: <dummy_test_message_id> |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
128 |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
129 |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
130 richard <richard@test> added the comment: |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
131 |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
132 This is a followup |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
133 |
|
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 "Roundup issue tracker" <issue_tracker@fill.me.in.> |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
136 http://some.useful.url/issue1 |
|
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 ''', 'Generated message not correct') |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
139 |
|
522
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
140 def testFollowup2(self): |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
141 self.testNewIssue() |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
142 message = cStringIO.StringIO('''Content-Type: text/plain; |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
143 charset="iso-8859-1" |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
144 From: mary <mary@test> |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
145 To: issue_tracker@fill.me.in. |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
146 Message-Id: <followup_dummy_id> |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
147 In-Reply-To: <dummy_test_message_id> |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
148 Subject: [issue1] Testing... |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
149 |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
150 This is a second followup |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
151 ''') |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
152 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
|
153 # TODO: fix the damn config - this is apalling |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
154 handler.main(message) |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
155 fname = 'fw2_%s.output'%self.count |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
156 open(fname,"w").write(open(os.environ['SENDMAILDEBUG']).read()) |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
157 self.assertEqual(open(os.environ['SENDMAILDEBUG']).read(), |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
158 '''FROM: roundup-admin@fill.me.in. |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
159 TO: chef@bork.bork.bork, richard@test |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
160 Content-Type: text/plain |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
161 Subject: [issue1] Testing... |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
162 To: chef@bork.bork.bork, richard@test |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
163 From: mary <issue_tracker@fill.me.in.> |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
164 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
|
165 MIME-Version: 1.0 |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
166 Message-Id: <followup_dummy_id> |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
167 In-Reply-To: <dummy_test_message_id> |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
168 |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
169 |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
170 mary <mary@test> added the comment: |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
171 |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
172 This is a second followup |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
173 |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
174 ___________________________________________________ |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
175 "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
|
176 http://some.useful.url/issue1 |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
177 ___________________________________________________ |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
178 ''', 'Generated message not correct') |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
179 |
|
475
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
180 class ExtMailgwTestCase(MailgwTestCase): |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
181 schema = 'extended' |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
182 |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
183 def suite(): |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
184 l = [unittest.makeSuite(MailgwTestCase, 'test'), |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
185 unittest.makeSuite(ExtMailgwTestCase, 'test')] |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
186 return unittest.TestSuite(l) |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
187 |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
188 |
|
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 # $Log: not supported by cvs2svn $ |
|
524
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
191 # 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
|
192 # . #502437 ] rogue reactor and unittest |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
193 # 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
|
194 # 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
|
195 # 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
|
196 # 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
|
197 # nosy reactor. |
|
dce4c75bef5a
changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents:
522
diff
changeset
|
198 # |
|
522
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
199 # 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
|
200 # 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
|
201 # 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
|
202 # . 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
|
203 # 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
|
204 # . 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
|
205 # . 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
|
206 # |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
207 # 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
|
208 # on when I found that stuff :): |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
209 # . #496356 ] Use threading in messages |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
210 # . detectors were being registered multiple times |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
211 # . added tests for mailgw |
|
f2edf460b0b9
[SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents:
475
diff
changeset
|
212 # . 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
|
213 # |
|
475
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
214 # |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
215 # |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
216 # |
|
a1a44636bace
Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
217 # vim: set filetype=python ts=4 sw=4 et si |
