Exemplo n.º 1
0
 def test_context(self):
     hook_a = mock.MagicMock()
     hook_b = mock.MagicMock()
     hook_a.context = {"hook_a": "foo", }
     hook_b.context = {"hook_b": "foo", }
     proxy = HookProxy([])
     proxy._hooks = [hook_a, hook_b]
     self.assertDictEqual(proxy.context, {"hook_a": "foo", "hook_b": "foo"})
Exemplo n.º 2
0
def test_proxy_method(func_name):
    hook_a = mock.MagicMock()
    hook_b = mock.MagicMock()
    proxy = HookProxy([])
    proxy._hooks = [hook_a, hook_b]

    func = getattr(proxy, func_name)
    func("foo", extra="bar")

    mocked = getattr(hook_a, func_name)
    mocked.assert_called_once_with("foo", extra="bar")

    mocked = getattr(hook_b, func_name)
    mocked.assert_called_once_with("foo", extra="bar")
Exemplo n.º 3
0
    def test_is_valid(self):
        hook_a = mock.MagicMock()
        hook_b = mock.MagicMock()
        hook_a.is_valid.return_value = True
        hook_b.is_valid.return_value = True
        proxy = HookProxy([])
        proxy._hooks = [hook_a, hook_b]
        self.assertTrue(proxy.is_valid())
        hook_a.is_valid.assert_called_once_with()
        hook_b.is_valid.assert_called_once_with()

        hook_a.is_valid.return_value = False
        hook_b.is_valid.return_value = True
        hook_a.reset_mock()
        hook_b.reset_mock()
        self.assertFalse(proxy.is_valid())
        hook_a.is_valid.assert_called_once_with()
        hook_b.is_valid.assert_called_once_with()

        hook_a.is_valid.return_value = True
        hook_b.is_valid.return_value = False
        hook_a.reset_mock()
        hook_b.reset_mock()
        self.assertFalse(proxy.is_valid())
        hook_a.is_valid.assert_called_once_with()
        hook_b.is_valid.assert_called_once_with()

        hook_a.is_valid.return_value = False
        hook_b.is_valid.return_value = False
        hook_a.reset_mock()
        hook_b.reset_mock()
        self.assertFalse(proxy.is_valid())
        hook_a.is_valid.assert_called_once_with()
        hook_b.is_valid.assert_called_once_with()

        # if there are no hooks registered, should be valid
        proxy2 = HookProxy([])
        self.assertTrue(proxy2.is_valid())
Exemplo n.º 4
0
 def test_instance(self):
     hook_a = mock.MagicMock()
     hook_b = mock.MagicMock()
     proxy = HookProxy([hook_a, hook_b], "request", "foo", extra="bar")
     hook_a.assert_called_once_with("request", "foo", extra="bar")
     hook_b.assert_called_once_with("request", "foo", extra="bar")