pyramid.testing¶
-
setUp(registry=None, request=None, hook_zca=True, autocommit=True, settings=None)[source]¶ Set Pyramid registry and request thread locals for the duration of a single unit test.
Use this function in the
setUpmethod of a unittest test case which directly or indirectly uses:- any method of the
pyramid.config.Configuratorobject returned by this function. - the
pyramid.threadlocal.get_current_registry()orpyramid.threadlocal.get_current_request()functions.
If you use the
get_current_*functions (or call Pyramid code that uses these functions) without callingsetUp,pyramid.threadlocal.get_current_registry()will return a global application registry, which may cause unit tests to not be isolated with respect to registrations they perform.If the
registryargument isNone, a new empty application registry will be created (an instance of thepyramid.registry.Registryclass). If theregistryargument is notNone, the value passed in should be an instance of thepyramid.registry.Registryclass or a suitable testing analogue.After
setUpis finished, the registry returned by thepyramid.threadlocal.get_current_request()function will be the passed (or constructed) registry untilpyramid.testing.tearDown()is called (orpyramid.testing.setUp()is called again) .If the
hook_zcaargument isTrue,setUpwill attempt to perform the operationzope.component.getSiteManager.sethook( pyramid.threadlocal.get_current_registry), which will cause the Zope Component Architecture global API (e.g.zope.component.getSiteManager(),zope.component.getAdapter(), and so on) to use the registry constructed bysetUpas the value it returns fromzope.component.getSiteManager(). If thezope.componentpackage cannot be imported, or ifhook_zcaisFalse, the hook will not be set.If
settingsis not None, it must be a dictionary representing the values passed to a Configurator as itssettings=argument.This function returns an instance of the
pyramid.config.Configuratorclass, which can be used for further configuration to set up an environment suitable for a unit or integration test. Theregistryattribute attached to the Configurator instance represents the ‘current’ application registry; the same registry will be returned bypyramid.threadlocal.get_current_registry()during the execution of the test.- any method of the
-
tearDown(unhook_zca=True)[source]¶ Undo the effects
pyramid.testing.setUp(). Use this function in thetearDownmethod of a unit test that usespyramid.testing.setUp()in itssetUpmethod.If the
unhook_zcaargument isTrue(the default), callzope.component.getSiteManager.reset(). This undoes the action ofpyramid.testing.setUp()called with the argumenthook_zca=True. Ifzope.componentcannot be imported, ignore the argument.
-
cleanUp(*arg, **kw)[source]¶ pyramid.testing.cleanUp()is an alias forpyramid.testing.setUp().
-
class
DummyResource(__name__=None, __parent__=None, __provides__=None, **kw)[source]¶ A dummy Pyramid resource object.
-
clone(__name__=<object object>, __parent__=<object object>, **kw)[source]¶ Create a clone of the resource object. If
__name__or__parent__arguments are passed, use these values to override the existing__name__or__parent__of the resource. If any extra keyword args are passed in via thekwargument, use these keywords to add to or override existing resource keywords (attributes).
-
-
class
DummyRequest(params=None, environ=None, headers=None, path='/', cookies=None, post=None, **kw)[source]¶ A DummyRequest object (incompletely) imitates a request object.
The
params,environ,headers,path, andcookiesarguments correspond to their WebOb equivalents.The
postargument, if passed, populates the request’sPOSTattribute, but notparams, in order to allow testing that the app accepts data for a given view only from POST requests. This argument also setsself.methodto “POST”.Extra keyword arguments are assigned as attributes of the request itself.
Note that DummyRequest does not have complete fidelity with a “real” request. For example, by default, the DummyRequest
GETandPOSTattributes are of typedict, unlike a normal Request’s GET and POST, which are of typeMultiDict. If your code uses the features of MultiDict, you should either use a”real”pyramid.request.Requestor adapt your DummyRequest by replacing the attributes withMultiDictinstances.Other similar incompatibilities exist. If you need all the features of a Request, use the
pyramid.request.Requestclass itself rather than this class while writing tests.
-
class
DummyTemplateRenderer(string_response='')[source]¶ An instance of this class is returned from
pyramid.config.Configurator.testing_add_renderer(). It has a helper function (assert_) that makes it possible to make an assertion which compares data passed to the renderer by the view function against expected key/value pairs.-
assert_(**kw)[source]¶ Accept an arbitrary set of assertion key/value pairs. For each assertion key/value pair assert that the renderer (eg.
pyramid.renderer.render_to_response()) received the key with a value that equals the asserted value. If the renderer did not receive the key at all, or the value received by the renderer doesn’t match the assertion value, raise anAssertionError.
-