# Test

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.activate_module(name)

Activates the module `name` for the tested database.

In case database does not exist and the `DB_CACHE` environment variable is set then Tryton will restore a backup found in the directory pointed by `DB_CACHE`. Otherwise it will proceed to the creation of the database and the activation of the module.

# ModuleTestCase

class trytond.tests.test_tryton.ModuleTestCase

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

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

ModuleTestCase.module

  Name of the tested module.

# Helpers

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

This function returns a decorator to run a test case inside a transaction. The transaction is rolled back and the cache cleared at the end of the test.

## doctest helpers

trytond.tests.test_tryton.doctest_setup()

A function that prepares 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 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()

A function that cleans 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 2/3 compatibility

trytond.tests.test_tryton.suite()

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

# Tests tools

trytond.tests.tools.activate_modules(modules)

This function is used in proteus doctests to activate a list of `modules` in the scenario.

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

This function will set the user of the `config` proteus connection to `user`.