예제 #1
0
    def test_hook_disabled(self):
        hp = hook_point('foo')
        result_func = hp(inc)

        # We should now have a config option we can set to disabled
        self.config(disabled=True, group='hook_point:foo')

        # The result is 2 so no extra add hook was applied
        self.assertEqual(result_func(1), 2)
예제 #2
0
    def test_hook_disabled(self):
        hp = hook_point('foo')
        result_func = hp(inc)

        # We should now have a config option we can set to disabled
        self.config(disabled=True, group='hook_point:foo')

        # The result is 2 so no extra add hook was applied
        self.assertEqual(result_func(1), 2)
예제 #3
0
    def test_hook_enabled_when_config_key_exists(self):
        hp = hook_point('foo')
        hp(inc)

        # Add our config
        self.config(bar='from config', group='hook_point:foo')

        # reapply our hook
        result_func = hp(inc)

        # The result is 3 so the extra add hook was applied
        self.assertEqual(result_func(1), 3)
예제 #4
0
    def test_hook_enabled_when_config_key_exists(self):
        hp = hook_point('foo')
        hp(inc)

        # Add our config
        self.config(bar='from config', group='hook_point:foo')

        # reapply our hook
        result_func = hp(inc)

        # The result is 3 so the extra add hook was applied
        self.assertEqual(result_func(1), 3)
예제 #5
0
    def test_hook_init(self):
        hp = hook_point('foo')

        # Make sure we set up our object when the hook point is
        # applied to a function / method.
        hp.find_name = Mock(return_value='foo.bar.baz')
        hp.hook_manager = Mock(return_value=get_hook_manager())
        hp.find_config = Mock(return_value={'enabled': True})
        hp.update_config_opts = Mock()

        hp(inc)
        self.assertEqual(hp.name, 'foo.bar.baz')
        self.assertEqual(hp.group, 'hook_point:foo.bar.baz')
        hp.update_config_opts.assert_called_with(hp.group, hp.hooks)
예제 #6
0
    def test_hook_init(self):
        hp = hook_point('foo')

        # Make sure we set up our object when the hook point is
        # applied to a function / method.
        hp.find_name = Mock(return_value='foo.bar.baz')
        hp.hook_manager = Mock(return_value=get_hook_manager())
        hp.find_config = Mock(return_value={'enabled': True})
        hp.update_config_opts = Mock()

        hp(inc)
        self.assertEqual(hp.name, 'foo.bar.baz')
        self.assertEqual(hp.group, 'hook_point:foo.bar.baz')
        hp.update_config_opts.assert_called_with(hp.group, hp.hooks)
예제 #7
0
 def test_apply_N_hooks(self):
     hp = hook_point('foo')
     hp.hook_manager = Mock(return_value=get_hook_manager(AddHook, AddHook))
     assert hp(inc)(1) == 4
예제 #8
0
 def test_hook_is_decorator(self):
     hp = hook_point('foo')
     hp.hook_manager = Mock(return_value=get_hook_manager())
     assert hp(inc)(1) == 3
예제 #9
0
    def test_no_hookpoint_is_noop(self):

        def doit(self, name):
            return 'done: %s' % name

        self.assertEqual(doit, hook_point('foo')(doit))
예제 #10
0
 def test_hook_adds_config_opts(self):
     hp = hook_point('foo')
     hp.hook_manager = Mock(return_value=get_hook_manager())
     hp(inc)
     assert hp.group in self.CONF.keys()
예제 #11
0
 def test_hook_adds_config_opts(self):
     hp = hook_point('foo')
     hp.hook_manager = Mock(return_value=get_hook_manager())
     hp(inc)
     assert hp.group in list(six.iterkeys(self.CONF))
예제 #12
0
 def test_apply_N_hooks(self):
     hp = hook_point('foo')
     hp.hook_manager = Mock(return_value=get_hook_manager(AddHook, AddHook))
     assert hp(inc)(1) == 4
예제 #13
0
 def test_hook_is_decorator(self):
     hp = hook_point('foo')
     hp.hook_manager = Mock(return_value=get_hook_manager())
     assert hp(inc)(1) == 3
예제 #14
0
    def test_no_hookpoint_is_noop(self):
        def doit(self, name):
            return 'done: %s' % name

        self.assertEqual(doit, hook_point('foo')(doit))