test/unittest_mail.py
changeset 10326 03d98646d57c
parent 9149 31ed9dd946d1
child 10907 9ae707db5265
equal deleted inserted replaced
10300:bfe33b5710d1 10326:03d98646d57c
    19 """unit tests for module cubicweb.mail
    19 """unit tests for module cubicweb.mail
    20 
    20 
    21 """
    21 """
    22 
    22 
    23 import os
    23 import os
       
    24 import re
    24 import sys
    25 import sys
    25 
    26 
    26 from logilab.common.testlib import unittest_main
    27 from logilab.common.testlib import unittest_main
    27 from logilab.common.umessage import message_from_string
    28 from logilab.common.umessage import message_from_string
    28 
    29 
    49         self.set_option('sender-name', 'BimBam')
    50         self.set_option('sender-name', 'BimBam')
    50 
    51 
    51         mail = format_mail({'name': 'oim', 'email': 'oim@logilab.fr'},
    52         mail = format_mail({'name': 'oim', 'email': 'oim@logilab.fr'},
    52                            ['test@logilab.fr'], u'un petit cöucou', u'bïjour',
    53                            ['test@logilab.fr'], u'un petit cöucou', u'bïjour',
    53                            config=self.config)
    54                            config=self.config)
    54         self.assertMultiLineEqual(mail.as_string(), """\
    55         result = mail.as_string()
       
    56         result = re.sub('^Date: .*$', 'Date: now', result, flags=re.MULTILINE)
       
    57         self.assertMultiLineEqual(result, """\
    55 MIME-Version: 1.0
    58 MIME-Version: 1.0
    56 Content-Type: text/plain; charset="utf-8"
    59 Content-Type: text/plain; charset="utf-8"
    57 Content-Transfer-Encoding: base64
    60 Content-Transfer-Encoding: base64
    58 Subject: =?utf-8?q?b=C3=AFjour?=
    61 Subject: =?utf-8?q?b=C3=AFjour?=
    59 From: =?utf-8?q?oim?= <oim@logilab.fr>
    62 From: =?utf-8?q?oim?= <oim@logilab.fr>
    60 Reply-to: =?utf-8?q?oim?= <oim@logilab.fr>, =?utf-8?q?BimBam?= <bim@boum.fr>
    63 Reply-to: =?utf-8?q?oim?= <oim@logilab.fr>, =?utf-8?q?BimBam?= <bim@boum.fr>
    61 X-CW: data
    64 X-CW: data
    62 To: test@logilab.fr
    65 To: test@logilab.fr
       
    66 Date: now
    63 
    67 
    64 dW4gcGV0aXQgY8O2dWNvdQ==
    68 dW4gcGV0aXQgY8O2dWNvdQ==
    65 """)
    69 """)
    66         msg = message_from_string(mail.as_string())
    70         msg = message_from_string(mail.as_string())
    67         self.assertEqual(msg.get('subject'), u'bïjour')
    71         self.assertEqual(msg.get('subject'), u'bïjour')
    72 
    76 
    73 
    77 
    74     def test_format_mail_euro(self):
    78     def test_format_mail_euro(self):
    75         mail = format_mail({'name': u'oîm', 'email': u'oim@logilab.fr'},
    79         mail = format_mail({'name': u'oîm', 'email': u'oim@logilab.fr'},
    76                            ['test@logilab.fr'], u'un petit cöucou €', u'bïjour €')
    80                            ['test@logilab.fr'], u'un petit cöucou €', u'bïjour €')
    77         self.assertMultiLineEqual(mail.as_string(), """\
    81         result = mail.as_string()
       
    82         result = re.sub('^Date: .*$', 'Date: now', result, flags=re.MULTILINE)
       
    83         self.assertMultiLineEqual(result, """\
    78 MIME-Version: 1.0
    84 MIME-Version: 1.0
    79 Content-Type: text/plain; charset="utf-8"
    85 Content-Type: text/plain; charset="utf-8"
    80 Content-Transfer-Encoding: base64
    86 Content-Transfer-Encoding: base64
    81 Subject: =?utf-8?b?YsOvam91ciDigqw=?=
    87 Subject: =?utf-8?b?YsOvam91ciDigqw=?=
    82 From: =?utf-8?q?o=C3=AEm?= <oim@logilab.fr>
    88 From: =?utf-8?q?o=C3=AEm?= <oim@logilab.fr>
    83 Reply-to: =?utf-8?q?o=C3=AEm?= <oim@logilab.fr>
    89 Reply-to: =?utf-8?q?o=C3=AEm?= <oim@logilab.fr>
    84 To: test@logilab.fr
    90 To: test@logilab.fr
       
    91 Date: now
    85 
    92 
    86 dW4gcGV0aXQgY8O2dWNvdSDigqw=
    93 dW4gcGV0aXQgY8O2dWNvdSDigqw=
    87 """)
    94 """)
    88         msg = message_from_string(mail.as_string())
    95         msg = message_from_string(mail.as_string())
    89         self.assertEqual(msg.get('subject'), u'bïjour €')
    96         self.assertEqual(msg.get('subject'), u'bïjour €')