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 import re |
9 import re |
10 |
10 |
11 from logilab.common.testlib import unittest_main |
11 from logilab.common.testlib import unittest_main |
12 from cubicweb.devtools.apptest import EnvBasedTC |
12 from cubicweb.devtools.testlib import CubicWebTC |
13 |
13 |
14 from cubicweb.sobjects.supervising import SendMailOp, SupervisionMailOp |
14 from cubicweb.sobjects.supervising import SendMailOp, SupervisionMailOp |
15 |
15 |
16 |
16 |
17 class SupervisingTC(EnvBasedTC): |
17 class SupervisingTC(CubicWebTC): |
18 |
18 |
19 def setup_database(self): |
19 def setup_database(self): |
20 self.add_entity('Card', title=u"une news !", content=u"cubicweb c'est beau") |
20 self.add_entity('Card', title=u"une news !", content=u"cubicweb c'est beau") |
21 self.add_entity('Card', title=u"une autre news !", content=u"cubicweb c'est beau") |
21 self.add_entity('Card', title=u"une autre news !", content=u"cubicweb c'est beau") |
22 self.add_entity('Bookmark', title=u"un signet !", path=u"view?vid=index") |
22 self.add_entity('Bookmark', title=u"un signet !", path=u"view?vid=index") |
24 self.execute('SET C comments B WHERE B title "une autre news !", C content "Yo !"') |
24 self.execute('SET C comments B WHERE B title "une autre news !", C content "Yo !"') |
25 self.vreg.config.global_set_option('supervising-addrs', 'test@logilab.fr') |
25 self.vreg.config.global_set_option('supervising-addrs', 'test@logilab.fr') |
26 |
26 |
27 |
27 |
28 def test_supervision(self): |
28 def test_supervision(self): |
29 session = self.session() |
29 session = self.session |
30 # do some modification |
30 # do some modification |
31 ueid = self.execute('INSERT CWUser X: X login "toto", X upassword "sosafe", X in_group G, X in_state S ' |
31 ueid = self.execute('INSERT CWUser X: X login "toto", X upassword "sosafe", X in_group G, X in_state S ' |
32 'WHERE G name "users", S name "activated"')[0][0] |
32 'WHERE G name "users", S name "activated"')[0][0] |
33 self.execute('SET X last_login_time NOW WHERE X eid %(x)s', {'x': ueid}, 'x') |
33 self.execute('SET X last_login_time NOW WHERE X eid %(x)s', {'x': ueid}, 'x') |
34 self.execute('SET X in_state S WHERE X login "anon", S name "deactivated"') |
34 self.execute('SET X in_state S WHERE X login "anon", S name "deactivated"') |
73 self.assertEquals(len(op.to_send), 1) |
73 self.assertEquals(len(op.to_send), 1) |
74 self.assert_(op.to_send[0][0]) |
74 self.assert_(op.to_send[0][0]) |
75 self.assertEquals(op.to_send[0][1], ['test@logilab.fr']) |
75 self.assertEquals(op.to_send[0][1], ['test@logilab.fr']) |
76 |
76 |
77 def test_nonregr1(self): |
77 def test_nonregr1(self): |
78 session = self.session() |
78 session = self.session |
79 # do some unlogged modification |
79 # do some unlogged modification |
80 self.execute('SET X last_login_time NOW WHERE X eid %(x)s', {'x': session.user.eid}, 'x') |
80 self.execute('SET X last_login_time NOW WHERE X eid %(x)s', {'x': session.user.eid}, 'x') |
81 self.commit() # no crash |
81 self.commit() # no crash |
82 |
82 |
83 |
83 |