Mercurial > p > roundup > code
annotate test/test_rfc2822.py @ 4301:d47245c2530a
Fix some security assertions and tests.
Fix some security assertions in mailgw to only assert Edit permissions if
the user is editing an existing db node. If not then check Create.
Fix some tests that were broken by the new assertions, the Create ->
Register change and finally for the new "not registered" message.
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Mon, 07 Dec 2009 05:13:27 +0000 |
| parents | 97f9fc0bc0ea |
| children |
| rev | line source |
|---|---|
|
3519
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1 from roundup.rfc2822 import decode_header, encode_header |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
2 |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 import unittest, time |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 class RFC2822TestCase(unittest.TestCase): |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 def testDecode(self): |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 src = 'Re: [it_issue3] '\ |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 '=?ISO-8859-1?Q?Ren=E9s_[resp=3Dg=2Cstatus=3D?= '\ |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 '=?ISO-8859-1?Q?feedback]?=' |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 result = 'Re: [it_issue3] Ren\xc3\xa9s [resp=g,status=feedback]' |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 self.assertEqual(decode_header(src), result) |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 src = 'Re: [it_issue3]'\ |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 ' =?ISO-8859-1?Q?Ren=E9s_[resp=3Dg=2Cstatus=3D?=' \ |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 ' =?ISO-8859-1?Q?feedback]?=' |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 result = 'Re: [it_issue3] Ren\xc3\xa9s [resp=g,status=feedback]' |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 self.assertEqual(decode_header(src), result) |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 def testEncode(self): |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 src = 'Re: [it_issue3] Ren\xc3\xa9s [status=feedback]' |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 result = '=?utf-8?q?Re:_[it=5Fissue3]_Ren=C3=A9s_[status=3Dfeedback]?=' |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 self.assertEqual(encode_header(src), result) |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 |
|
3639
97f9fc0bc0ea
Yet another rfc2822 encoding patch: '?' must be escaped.
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3519
diff
changeset
|
24 src = 'Was machen\xc3\xbc und Fragezeichen?' |
|
97f9fc0bc0ea
Yet another rfc2822 encoding patch: '?' must be escaped.
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3519
diff
changeset
|
25 result = '=?utf-8?q?Was_machen=C3=BC_und_Fragezeichen=3F?=' |
|
97f9fc0bc0ea
Yet another rfc2822 encoding patch: '?' must be escaped.
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3519
diff
changeset
|
26 self.assertEqual(encode_header(src), result) |
|
97f9fc0bc0ea
Yet another rfc2822 encoding patch: '?' must be escaped.
Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
parents:
3519
diff
changeset
|
27 |
|
3519
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 def test_suite(): |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 suite = unittest.TestSuite() |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 suite.addTest(unittest.makeSuite(RFC2822TestCase)) |
|
0c34f5a116ef
additional header encode/decode fixes
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 return suite |
