equal
deleted
inserted
replaced
21 from __future__ import with_statement |
21 from __future__ import with_statement |
22 |
22 |
23 from logilab.common.testlib import TestCase, unittest_main, mock_object |
23 from logilab.common.testlib import TestCase, unittest_main, mock_object |
24 |
24 |
25 |
25 |
26 from cubicweb.devtools import TestServerConfiguration |
26 from cubicweb.devtools import TestServerConfiguration, fake |
27 from cubicweb.devtools.testlib import CubicWebTC |
27 from cubicweb.devtools.testlib import CubicWebTC |
28 from cubicweb.server import hook |
28 from cubicweb.server import hook |
29 from cubicweb.hooks import integrity, syncschema |
29 from cubicweb.hooks import integrity, syncschema |
30 |
30 |
31 |
31 |
122 self.assertEqual(str(cm.exception), 'bad event b on %s._Hook' % __name__) |
122 self.assertEqual(str(cm.exception), 'bad event b on %s._Hook' % __name__) |
123 |
123 |
124 def test_call_hook(self): |
124 def test_call_hook(self): |
125 self.o.register(AddAnyHook) |
125 self.o.register(AddAnyHook) |
126 dis = set() |
126 dis = set() |
127 cw = mock_object(vreg=self.vreg, |
127 cw = fake.FakeSession() |
128 set_read_security=lambda *a,**k: None, |
128 cw.is_hook_activated = lambda cls: cls.category not in dis |
129 set_write_security=lambda *a,**k: None, |
|
130 is_hook_activated=lambda x, cls: cls.category not in dis) |
|
131 self.assertRaises(HookCalled, |
129 self.assertRaises(HookCalled, |
132 self.o.call_hooks, 'before_add_entity', cw) |
130 self.o.call_hooks, 'before_add_entity', cw) |
133 dis.add('cat1') |
131 dis.add('cat1') |
134 self.o.call_hooks('before_add_entity', cw) # disabled hooks category, not called |
132 self.o.call_hooks('before_add_entity', cw) # disabled hooks category, not called |
135 dis.remove('cat1') |
133 dis.remove('cat1') |