common/test/unittest_mail.py
branchtls-sprint
changeset 1802 d628defebc17
parent 0 b97547f5f1fa
child 1977 606923dff11b
equal deleted inserted replaced
1801:672acc730ce5 1802:d628defebc17
    15     """avoid usinng os.getlogin() because of strange tty / stdin problems
    15     """avoid usinng os.getlogin() because of strange tty / stdin problems
    16     (man 3 getlogin)
    16     (man 3 getlogin)
    17     Another solution would be to use $LOGNAME, $USER or $USERNAME
    17     Another solution would be to use $LOGNAME, $USER or $USERNAME
    18     """
    18     """
    19     return pwd.getpwuid(os.getuid())[0]
    19     return pwd.getpwuid(os.getuid())[0]
    20     
    20 
    21 
    21 
    22 class EmailTC(EnvBasedTC):
    22 class EmailTC(EnvBasedTC):
    23 
    23 
    24     def test_format_mail(self):
    24     def test_format_mail(self):
    25         self.set_option('sender-addr', 'bim@boum.fr')
    25         self.set_option('sender-addr', 'bim@boum.fr')
    26         self.set_option('sender-name', 'BimBam')
    26         self.set_option('sender-name', 'BimBam')
    27         
    27 
    28         mail = format_mail({'name': 'oim', 'email': 'oim@logilab.fr'},
    28         mail = format_mail({'name': 'oim', 'email': 'oim@logilab.fr'},
    29                            ['test@logilab.fr'], u'un petit cöucou', u'bïjour',
    29                            ['test@logilab.fr'], u'un petit cöucou', u'bïjour',
    30                            config=self.config)
    30                            config=self.config)
    31         self.assertLinesEquals(mail.as_string(), """\
    31         self.assertLinesEquals(mail.as_string(), """\
    32 MIME-Version: 1.0
    32 MIME-Version: 1.0
    45         self.assertEquals(msg.get('from'), u'oim <oim@logilab.fr>')
    45         self.assertEquals(msg.get('from'), u'oim <oim@logilab.fr>')
    46         self.assertEquals(msg.get('to'), u'test@logilab.fr')
    46         self.assertEquals(msg.get('to'), u'test@logilab.fr')
    47         self.assertEquals(msg.get('reply-to'), u'oim <oim@logilab.fr>, BimBam <bim@boum.fr>')
    47         self.assertEquals(msg.get('reply-to'), u'oim <oim@logilab.fr>, BimBam <bim@boum.fr>')
    48         self.assertEquals(msg.get_payload(decode=True), u'un petit cöucou')
    48         self.assertEquals(msg.get_payload(decode=True), u'un petit cöucou')
    49 
    49 
    50         
    50 
    51     def test_format_mail_euro(self):
    51     def test_format_mail_euro(self):
    52         mail = format_mail({'name': u'oîm', 'email': u'oim@logilab.fr'},
    52         mail = format_mail({'name': u'oîm', 'email': u'oim@logilab.fr'},
    53                            ['test@logilab.fr'], u'un petit cöucou €', u'bïjour €')
    53                            ['test@logilab.fr'], u'un petit cöucou €', u'bïjour €')
    54         self.assertLinesEquals(mail.as_string(), """\
    54         self.assertLinesEquals(mail.as_string(), """\
    55 MIME-Version: 1.0
    55 MIME-Version: 1.0
    90         msg = message_from_string(msg.as_string())
    90         msg = message_from_string(msg.as_string())
    91         self.assertEquals(msg.get('from'), u'tutu <tutu@logilab.fr>')
    91         self.assertEquals(msg.get('from'), u'tutu <tutu@logilab.fr>')
    92         self.assertEquals(msg.get('reply-to'), u'tutu <tutu@logilab.fr>')
    92         self.assertEquals(msg.get('reply-to'), u'tutu <tutu@logilab.fr>')
    93         # set sender name and address as expected
    93         # set sender name and address as expected
    94         self.set_option('sender-name', 'cubicweb-test')
    94         self.set_option('sender-name', 'cubicweb-test')
    95         self.set_option('sender-addr', 'cubicweb-test@logilab.fr') 
    95         self.set_option('sender-addr', 'cubicweb-test@logilab.fr')
    96         # anonymous notification: no name and no email specified
    96         # anonymous notification: no name and no email specified
    97         msg = format_mail({'name': u'', 'email': u''},
    97         msg = format_mail({'name': u'', 'email': u''},
    98                            ['test@logilab.fr'], u'un petit cöucou €', u'bïjour €',
    98                            ['test@logilab.fr'], u'un petit cöucou €', u'bïjour €',
    99                            config=self.config)
    99                            config=self.config)
   100         msg = message_from_string(msg.as_string())
   100         msg = message_from_string(msg.as_string())
   117 
   117 
   118 
   118 
   119 
   119 
   120 if __name__ == '__main__':
   120 if __name__ == '__main__':
   121     unittest_main()
   121     unittest_main()
   122     
   122