Tests#

trytond.tests.test_tryton.DB_NAME#

The name of the database to use for testing. Its value is taken from the environment variable of the same name.

trytond.tests.test_tryton.USER#

The user id used to test the transactions

trytond.tests.test_tryton.CONTEXT#

The context used to test the transactions

trytond.tests.test_tryton.TEST_NETWORK#

If false, tests that requires network are skipped. Its value is taken from the environment variable of the same name.

trytond.tests.test_tryton.activate_module(name)#

Activate the named module for the tested database.

In case database does not exist and the DB_CACHE environment variable is set then Tryton restores a backup found in the directory pointed by DB_CACHE. DB_CACHE can also be set to the value postgresql://, in that case Tryton create the database using the template found on the server. Otherwise it procees to the creation of the database and the activation of the module.

DB_CACHE_JOBS environment variable defines the number of jobs used for dump and restore operations. The default value is the number of CPU.

TestCase#

class trytond.tests.test_tryton.TestCase#

A subclass of unittest.TestCase for testing non-module Tryton.

It setups warning filters based on TEST_PYTHONWARNINGS environment variable.

ModuleTestCase#

class trytond.tests.test_tryton.ModuleTestCase#

A subclass of TestCase that tests a Tryton module. Some tests are included to ensure that the module works properly.

It creates a temporary database with the module activated in setUpClass and drops it in the tearDownClass method.

ModuleTestCase.module#

Name of the tested module.

ModuleTestCase.extras#

A list of extra modules to activate

ModuleTestCase.language#

The language to activate. Default value is en.

RouteTestCase#

class trytond.tests.test_tryton.RouteTestCase#

A subclass of TestCase to test Tryton routes.

It creates a temporary database with the module activated in setUpClass and drops it in the tearDownClass method.

RouteTestCase.module#

Name of the tested module.

RouteTestCase.extras#

A list of extra modules to activate

RouteTestCase.language#

The language to activate. Default value is en.

RouteTestCase.db_name#

Returns the name of the database

classmethod RouteTestCase.setUpDatabase()#

A method called by setUpClass after activating the modules in a Transaction. It is used to setup data in the database.

RouteTestCase.client()#

Return a client to simulate requests to the WSGI application.

ExtensionTestCase#

class trytond.tests.test_tryton.ExtensionTestCase#

A subclass of TestCase to test a Tryton with an database extension activated.

ExtensionTestCase.extension#

The name of the extension to activate.

Helpers#

trytond.tests.test_tryton.with_transaction(user=1, context=None)#

Return a decorator to run a test case inside a Transaction. It is rolled back and the cache cleared at the end of the test.

doctest helpers#

trytond.tests.test_tryton.doctest_setup()#

Prepare the run of the doctest by creating a database and dropping it beforehand if necessary. This function should be used as the setUp parameter.

Deprecated since version 4.2: The doctest_setup function should not be used anymore to set up DocFileSuite(). New modules should use activate_modules() instead.

trytond.tests.test_tryton.doctest_teardown()#

Clean up after the run of the doctest by dropping the database. It should be used as tearDown parameter when creating a DocFileSuite.

trytond.tests.test_tryton.doctest_checker#

A specialized doctest checker to ensure the Python compatibility.

trytond.tests.test_tryton.load_doc_tests(name, path, loader, tests, pattern[, skips])#

An helper that follows the load_tests protocol to load as DocTest all *.rst files in directory, with the module name and the path to the module file from which the doc tests are registered. If a file with the same name but the extension .json exists, the test is registered for each globals defined in the JSON list. skips constains the name of the scenario to skip.

trytond.tests.test_tryton.suite()#

A function returning a subclass of unittest.TestSuite that drops the database if it does not exist prior to the run of the tests.

Tools#

trytond.tests.tools.activate_modules(modules, \*setup)#

Activate a list of modules for scenario based on proteus doctests. The following arguments are functions sequentially called at the end of the activation with the proteus configuration as config keyword argument.

trytond.tests.tools.set_user(user, config)#

Set the user of the config proteus connection to user.

The module exposes also all the assert methods of unittest.TestCase that can be run doctest scenario.