def test__call__stale(self): """ Tests the __call_method on a stale(decorated) object """ dec = BaseDecorator('__mumbo_jumbo__') dec._set_decorated = mock.Mock() dec._decorate = mock.Mock() dec._has_decorated = mock.Mock(return_value=True) o = FakeObject() config = {} dec(o, config) dec._set_decorated.assert_not_called() dec._has_decorated.assert_called_with(o) dec._decorate.assert_not_called()
def test_redecorate(self): """ Should not be able to redecorate an object """ def fake_decorate(obj, config): return obj dec = BaseDecorator('__mumbo_jumbo__') o = FakeObject() dec._decorate = mock.Mock(side_effect=fake_decorate) config = {} dec(o, config) dec(o, config) self.assertEquals(dec._decorate.call_count, 1)
def test__call__fresh(self): """ Tests the __call__ method on a fresh(undecorated) object. """ dec = BaseDecorator('__mumbo_jumbo__') dec._set_decorated = mock.Mock() dec._has_decorated = mock.Mock(return_value=False) o = FakeObject() dec._decorate = mock.Mock(return_value=o) config = {} dec(o, config) dec._set_decorated.assert_called_with(o) dec._decorate.assert_called_once_with(o, config) dec._has_decorated.assert_called_with(o)