7 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses |
7 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses |
8 """ |
8 """ |
9 from socket import gethostname |
9 from socket import gethostname |
10 |
10 |
11 from logilab.common.testlib import unittest_main, TestCase |
11 from logilab.common.testlib import unittest_main, TestCase |
12 from cubicweb.devtools.apptest import EnvBasedTC |
12 from cubicweb.devtools.testlib import CubicWebTC |
13 |
13 |
14 from cubicweb.sobjects.notification import construct_message_id, parse_message_id |
14 from cubicweb.sobjects.notification import construct_message_id, parse_message_id |
15 |
15 |
16 class MessageIdTC(TestCase): |
16 class MessageIdTC(TestCase): |
17 def test_base(self): |
17 def test_base(self): |
46 for eid in (1, 12, 123, 1234): |
46 for eid in (1, 12, 123, 1234): |
47 msgid1 = construct_message_id('testapp', eid, 12) |
47 msgid1 = construct_message_id('testapp', eid, 12) |
48 self.assertNotEquals(msgid1, '<@testapp.%s>' % gethostname()) |
48 self.assertNotEquals(msgid1, '<@testapp.%s>' % gethostname()) |
49 |
49 |
50 |
50 |
51 class RecipientsFinderTC(EnvBasedTC): |
51 class RecipientsFinderTC(CubicWebTC): |
52 def test(self): |
52 def test(self): |
53 urset = self.execute('CWUser X WHERE X login "admin"') |
53 urset = self.execute('CWUser X WHERE X login "admin"') |
54 self.execute('INSERT EmailAddress X: X address "admin@logilab.fr", U primary_email X ' |
54 self.execute('INSERT EmailAddress X: X address "admin@logilab.fr", U primary_email X ' |
55 'WHERE U eid %(x)s', {'x': urset[0][0]}) |
55 'WHERE U eid %(x)s', {'x': urset[0][0]}) |
56 self.execute('INSERT CWProperty X: X pkey "ui.language", X value "fr", X for_user U ' |
56 self.execute('INSERT CWProperty X: X pkey "ui.language", X value "fr", X for_user U ' |
65 self.set_option('default-recipients-mode', 'default-dest-addrs') |
65 self.set_option('default-recipients-mode', 'default-dest-addrs') |
66 self.set_option('default-dest-addrs', 'abcd@logilab.fr, efgh@logilab.fr') |
66 self.set_option('default-dest-addrs', 'abcd@logilab.fr, efgh@logilab.fr') |
67 self.assertEquals(finder.recipients(), [('abcd@logilab.fr', 'en'), ('efgh@logilab.fr', 'en')]) |
67 self.assertEquals(finder.recipients(), [('abcd@logilab.fr', 'en'), ('efgh@logilab.fr', 'en')]) |
68 |
68 |
69 |
69 |
70 class StatusChangeViewsTC(EnvBasedTC): |
70 class StatusChangeViewsTC(CubicWebTC): |
71 |
71 |
72 def test_status_change_view(self): |
72 def test_status_change_view(self): |
73 req = self.session() |
73 req = self.session |
74 u = self.create_user('toto', req=req) |
74 u = self.create_user('toto', req=req) |
75 assert u.req |
75 assert u.req |
76 assert u.rset |
76 assert u.rset |
77 self.execute('SET X in_state S WHERE X eid %s, S name "deactivated"' % u.eid) |
77 self.execute('SET X in_state S WHERE X eid %s, S name "deactivated"' % u.eid) |
78 v = self.vreg['views'].select('notif_status_change', req, rset=u.rset, row=0) |
78 v = self.vreg['views'].select('notif_status_change', req, rset=u.rset, row=0) |