server/test/unittest_hook.py
branchstable
changeset 6796 e70ca9abfc51
parent 6781 5062d86d6ffe
child 7361 6baa4f430c9b
equal deleted inserted replaced
6795:f29d24c3d687 6796:e70ca9abfc51
    15 # details.
    15 # details.
    16 #
    16 #
    17 # You should have received a copy of the GNU Lesser General Public License along
    17 # You should have received a copy of the GNU Lesser General Public License along
    18 # with CubicWeb.  If not, see <http://www.gnu.org/licenses/>.
    18 # with CubicWeb.  If not, see <http://www.gnu.org/licenses/>.
    19 """unit/functional tests for cubicweb.server.hook"""
    19 """unit/functional tests for cubicweb.server.hook"""
       
    20 
       
    21 from __future__ import with_statement
    20 
    22 
    21 from logilab.common.testlib import TestCase, unittest_main, mock_object
    23 from logilab.common.testlib import TestCase, unittest_main, mock_object
    22 
    24 
    23 
    25 
    24 from cubicweb.devtools import TestServerConfiguration
    26 from cubicweb.devtools import TestServerConfiguration
    99         self.o = hook.HooksRegistry(self.vreg)
   101         self.o = hook.HooksRegistry(self.vreg)
   100 
   102 
   101     def test_register_bad_hook1(self):
   103     def test_register_bad_hook1(self):
   102         class _Hook(hook.Hook):
   104         class _Hook(hook.Hook):
   103             events = ('before_add_entiti',)
   105             events = ('before_add_entiti',)
   104         ex = self.assertRaises(Exception, self.o.register, _Hook)
   106         with self.assertRaises(Exception) as cm:
   105         self.assertEqual(str(ex), 'bad event before_add_entiti on %s._Hook' % __name__)
   107             self.o.register(_Hook)
       
   108         self.assertEqual(str(cm.exception), 'bad event before_add_entiti on %s._Hook' % __name__)
   106 
   109 
   107     def test_register_bad_hook2(self):
   110     def test_register_bad_hook2(self):
   108         class _Hook(hook.Hook):
   111         class _Hook(hook.Hook):
   109             events = None
   112             events = None
   110         ex = self.assertRaises(Exception, self.o.register, _Hook)
   113         with self.assertRaises(Exception) as cm:
   111         self.assertEqual(str(ex), 'bad .events attribute None on %s._Hook' % __name__)
   114             self.o.register(_Hook)
       
   115         self.assertEqual(str(cm.exception), 'bad .events attribute None on %s._Hook' % __name__)
   112 
   116 
   113     def test_register_bad_hook3(self):
   117     def test_register_bad_hook3(self):
   114         class _Hook(hook.Hook):
   118         class _Hook(hook.Hook):
   115             events = 'before_add_entity'
   119             events = 'before_add_entity'
   116         ex = self.assertRaises(Exception, self.o.register, _Hook)
   120         with self.assertRaises(Exception) as cm:
   117         self.assertEqual(str(ex), 'bad event b on %s._Hook' % __name__)
   121             self.o.register(_Hook)
       
   122         self.assertEqual(str(cm.exception), 'bad event b on %s._Hook' % __name__)
   118 
   123 
   119     def test_call_hook(self):
   124     def test_call_hook(self):
   120         self.o.register(AddAnyHook)
   125         self.o.register(AddAnyHook)
   121         dis = set()
   126         dis = set()
   122         cw = mock_object(vreg=self.vreg,
   127         cw = mock_object(vreg=self.vreg,