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()) |