kotti.tests

Fixture dependencies

digraph kotti_fixtures { "allwarnings"; "app" -> "webtest"; "config" -> "db_session"; "config" -> "depot_tween"; "config" -> "dummy_request"; "config" -> "events"; "config" -> "workflow"; "connection" -> "content"; "connection" -> "db_session"; "content" -> "db_session"; "custom_settings" -> "connection"; "custom_settings" -> "unresolved_settings"; "db_session" -> "app"; "db_session" -> "browser"; "db_session" -> "filedepot"; "db_session" -> "root"; "depot_tween" -> "webtest"; "dummy_mailer" -> "app"; "dummy_mailer"; "dummy_request" -> "depot_tween"; "events" -> "app"; "depot_tween" -> "filedepot"; "depot_tween" -> "mock_filedepot"; "mock_filedepot"; "depot_tween" -> "no_filedepots"; "settings" -> "config"; "settings" -> "content"; "setup_app" -> "app"; "setup_app" -> "browser"; "unresolved_settings" -> "settings"; "unresolved_settings" -> "setup_app"; "workflow" -> "app"; }

kotti.tests.image_asset(*args, **kwargs)[source]

Return an image file

kotti.tests.image_asset2(*args, **kwargs)[source]

Return another image file

kotti.tests.custom_settings(*args, **kwargs)[source]

This is a dummy fixture meant to be overriden in add on package’s conftest.py. It can be used to inject arbitrary settings for third party test suites. The default settings dictionary will be updated with the dictionary returned by this fixture.

This is also a good place to import your add on’s resources module to have the corresponding tables created during create_all() in kotti.tests.content().

Result:settings
Return type:dict
kotti.tests.config(*args, **kwargs)[source]

returns a Pyramid Configurator object initialized with Kotti’s default (test) settings.

kotti.tests.connection(*args, **kwargs)[source]

sets up a SQLAlchemy engine and returns a connection to the database. The connection string used for testing can be specified via the KOTTI_TEST_DB_STRING environment variable. The custom_settings fixture is needed to allow users to import their models easily instead of having to override the connection.

kotti.tests.content(*args, **kwargs)[source]

sets up some default content using Kotti’s testing populator.

kotti.tests.db_session(*args, **kwargs)[source]

returns a db session object and sets up a db transaction savepoint, which will be rolled back after the test.

kotti.tests.dummy_request(*args, **kwargs)[source]

returns a dummy request object after registering it as the currently active request. This is needed when pyramid.threadlocal.get_current_request is used.

kotti.tests.events(*args, **kwargs)[source]

sets up Kotti’s default event handlers.

kotti.tests.browser(*args, **kwargs)[source]

returns an instance of zope.testbrowser. The kotti.testing.user pytest marker (or pytest.mark.user) can be used to pre-authenticate the browser with the given login name: @user(‘admin’).

kotti.tests.root(*args, **kwargs)[source]

returns Kotti’s ‘root’ node.

kotti.tests.workflow(*args, **kwargs)[source]

loads and activates Kotti’s default workflow rules.

class kotti.tests.TestStorage(**kwargs)[source]
get(file_or_id)[source]

Opens the file given by its unique id.

This operation is guaranteed to return a StoredFile instance or should raise IOError if the file is not found.

kotti.tests.depot_tween(*args, **kwargs)[source]

Sets up the Depot tween and patches Depot’s set_middleware to suppress exceptions on subsequent calls. Yields the DepotManager.

kotti.tests.mock_filedepot(*args, **kwargs)[source]

Configures a mock depot store for depot.manager.DepotManager

This filedepot is not integrated with dbsession. Can be used in simple, standalone unit tests.

kotti.tests.filedepot(*args, **kwargs)[source]

Configures a dbsession integrated mock depot store for depot.manager.DepotManager

kotti.tests.no_filedepots(*args, **kwargs)[source]

A filedepot fixture to empty and then restore DepotManager configuration