Package: plone.mocktestcase
Introduction============LEGACY: Do not use this any longer, better use the Python mock module!This package contains a unittest test class based on the one from the``Mocker`` mock library (http://labix.org/mocker).This class provides support for registering Zope 3 components (utilities,adapters, subscription adapters and event handlers) from mocks and tearingdown the global component registry during test tear-down.There are also a few convenience methods and parameter checkers that areuseful to Zope and Plone testing.Please see the Mocker documentation for more detail:http://labix.org/mockerA test case that mocks a utility may look like this::from plone.mocktestcase import MockTestCasefrom my.package.interfaces import IMyInterfacefrom my.package.foo import testable_methodclass MyTestCase(MockTestCase):def test_something(self):utility_mock = self.mocker.mock()self.expect(utility_mock.do_something()).result("foo")self.mock_utility(utility_mock, IMyInterface)# Put mocker into replay modeself.replay()# Verify that testable_method() looks up a utility for# IMyInterface and calls do_something() on it, which returns# "foo".testable_method()The following helper methods are available:self.replay()Puts the mock into replay mode.self.create_dummy(**kw)Return a dummy object that is *not* a mock object, just a dumb objectwith whatever attributes or methods you pass as keyword arguments.To make a dummy method, pass a function object or a lambda, e.g.self.create_dummy(id="foo", absolute_url=lambda:'http://example.org/foo')self.mock_utility(mock, provides, name=u"")Register the given mock object as a global utility providing the giveninterface, with the given name (defaults to the unnamed default utility).self.mock_adapter(mock, provides, adapts, name=u"")Register the given mock object as a global adapter providing the giveninterface and adapting the given interfaces, with the given name(defaults to the unnamed default adapter).self.mock_subscription_adapter(mock, provides, adapts)Register the given mock object as a global subscription adapter providingthe given interface and adapting the given interfaces.self.mock_handler(mock, adapts)Register the given mock object as a global event subscriber for thegiven event types.self.mock_tool(mock, name)Create a getToolByName() mock (using 'replace' mode) and configure it sothat code calling getToolByName(context, name) obtains the given mockobject. Can be used multiple times: the getToolByName() mock is createdlazily the first time this method is called in any one test fixture.self.match_provides(interface)A custom matcher that can be used to check whether an argument to a mockcall provides the given interface. Uses interface.providedBy(arg).self.match_type(type)A custom matcher that can be used to check whether an argument to a mockcall is if the given type. Uses isinstance(arg, type).Changelog=========1.0 (2017-01-13)----------------- Add MANIFEST.in.[timo]- fix to work with zope interface after https://github.com/zopefoundation/zope.interface/commit/79a266200384fa53fb3810ed316a94394166f4e3[jensens]- Fix relative import to fix Python 3 compatibility.[datakurre]1.0b3-----* Added mock_tool() helper.1.0b2-----* Minor amendments to mock Zope 3 component support1.0b1-----* Initial release