annotate test/test_mailgw.py @ 575:2df17627528d

htmltemplate list() wasn't sorting...
author Richard Jones <richard@users.sourceforge.net>
date Tue, 22 Jan 2002 22:55:28 +0000
parents 2998d683e2cf
children 4c3dcda799f7
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 #
571
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
11 # $Id: test_mailgw.py,v 1.7 2002-01-22 11:54:45 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
571
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
144 status: unread -> chatting
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
145 ___________________________________________________
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
146 "Roundup issue tracker" <issue_tracker@fill.me.in.>
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
147 http://some.useful.url/issue1
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
148 ___________________________________________________
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
149 ''', 'Generated message not correct')
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
150
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
151 def testFollowup2(self):
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
152 self.testNewIssue()
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
153 message = cStringIO.StringIO('''Content-Type: text/plain;
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
154 charset="iso-8859-1"
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
155 From: mary <mary@test>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
156 To: issue_tracker@fill.me.in.
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
157 Message-Id: <followup_dummy_id>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
158 In-Reply-To: <dummy_test_message_id>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
159 Subject: [issue1] Testing...
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
160
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
161 This is a second followup
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
162 ''')
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
163 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
164 handler.main(message)
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
165 self.assertEqual(open(os.environ['SENDMAILDEBUG']).read(),
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
166 '''FROM: roundup-admin@fill.me.in.
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
167 TO: chef@bork.bork.bork, richard@test
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
168 Content-Type: text/plain
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
169 Subject: [issue1] Testing...
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
170 To: chef@bork.bork.bork, richard@test
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
171 From: mary <issue_tracker@fill.me.in.>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
172 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
173 MIME-Version: 1.0
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
174 Message-Id: <followup_dummy_id>
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
175 In-Reply-To: <dummy_test_message_id>
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
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
178 mary <mary@test> added the comment:
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
179
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
180 This is a second followup
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
181
571
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
182
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
183 ----------
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
184 status: unread -> chatting
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
185 ___________________________________________________
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
186 "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
187 http://some.useful.url/issue1
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
188 ___________________________________________________
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
189 ''', 'Generated message not correct')
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
190
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
191 class ExtMailgwTestCase(MailgwTestCase):
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
192 schema = 'extended'
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
193
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
194 def suite():
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
195 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
196 unittest.makeSuite(ExtMailgwTestCase, 'test')
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
197 ]
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
198 return unittest.TestSuite(l)
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
199
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
200
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
201 #
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
202 # $Log: not supported by cvs2svn $
571
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
203 # Revision 1.6 2002/01/21 10:05:48 rochecompaan
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
204 # Feature:
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
205 # . the mail gateway now responds with an error message when invalid
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
206 # values for arguments are specified for link or multilink properties
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
207 # . modified unit test to check nosy and assignedto when specified as
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
208 # arguments
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
209 #
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
210 # Fixed:
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
211 # . fixed setting nosy as argument in subject line
2998d683e2cf Fixed status change in mail gateway.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 560
diff changeset
212 #
560
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
213 # Revision 1.5 2002/01/15 00:12:40 richard
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
214 # #503340 ] creating issue with [asignedto=p.ohly]
d7b9751f8927 Mail gateway improvements.
Roche Compaan <rochecompaan@users.sourceforge.net>
parents: 537
diff changeset
215 #
537
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
216 # 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
217 # removed file writing from tests...
ad6dbc21a570 [SF#503340] creating issue with [asignedto=p.ohly]
Richard Jones <richard@users.sourceforge.net>
parents: 532
diff changeset
218 #
532
a69dc91643e9 removed file writing from tests.
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
219 # 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
220 # . 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
221 # 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
222 # 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
223 # 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
224 #
a69dc91643e9 removed file writing from tests.
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
225 # 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
226 # 0.5.0 switch, I hope!)
a69dc91643e9 removed file writing from tests.
Richard Jones <richard@users.sourceforge.net>
parents: 524
diff changeset
227 #
524
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 522
diff changeset
228 # 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
229 # . #502437 ] rogue reactor and unittest
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 522
diff changeset
230 # 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
231 # 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
232 # 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
233 # 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
234 # nosy reactor.
dce4c75bef5a changed all config accesses...
Richard Jones <richard@users.sourceforge.net>
parents: 522
diff changeset
235 #
522
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
236 # 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
237 # 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
238 # 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
239 # . 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
240 # 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
241 # . 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
242 # . 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
243 #
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
244 # 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
245 # on when I found that stuff :):
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
246 # . #496356 ] Use threading in messages
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
247 # . detectors were being registered multiple times
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
248 # . added tests for mailgw
f2edf460b0b9 [SF#502437] rogue reactor and unittest
Richard Jones <richard@users.sourceforge.net>
parents: 475
diff changeset
249 # . 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
250 #
475
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
251 #
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
252 #
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
253 #
a1a44636bace Fix breakage caused by transaction changes.
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
254 # vim: set filetype=python ts=4 sw=4 et si

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