server/test/unittest_hook.py
changeset 7361 6baa4f430c9b
parent 6796 e70ca9abfc51
child 7398 26695dd703d8
equal deleted inserted replaced
7360:dbff01dd3c3c 7361:6baa4f430c9b
    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')