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
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 #
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

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