105 lines
2.8 KiB
ReStructuredText
105 lines
2.8 KiB
ReStructuredText
.. _ref-test:
|
|
.. module:: trytond.tests.test_tryton
|
|
|
|
====
|
|
Test
|
|
====
|
|
|
|
.. attribute:: DB_NAME
|
|
|
|
The name of the database to use for testing. Its value is taken from the
|
|
environment variable of the same name.
|
|
|
|
.. attribute:: USER
|
|
|
|
The user id used to test the transactions
|
|
|
|
.. attribute:: CONTEXT
|
|
|
|
The context used to test the transactions
|
|
|
|
.. function:: 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:: 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.
|
|
|
|
.. attribute:: ModuleTestCase.module
|
|
|
|
Name of the tested module.
|
|
|
|
.. _`unittest.TestCase`: https://docs.python.org/library/unittest.html#test-cases
|
|
.. _setUpClass: https://docs.python.org/library/unittest.html#unittest.TestCase.setUpClass
|
|
.. _tearDownClass: https://docs.python.org/library/unittest.html#unittest.TestCase.tearDownClass
|
|
|
|
=======
|
|
Helpers
|
|
=======
|
|
|
|
.. function:: 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
|
|
---------------
|
|
|
|
.. function:: 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::
|
|
The ``doctest_setup`` function should not be used anymore to set up
|
|
``DocFileSuite``. New modules should use :func:`activate_modules` instead.
|
|
|
|
.. _doctest: https://docs.python.org/library/doctest.html
|
|
|
|
.. function:: 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``.
|
|
|
|
.. attribute:: doctest_checker
|
|
|
|
A specialized doctest checker to ensure the Python 2/3 compatibility
|
|
|
|
.. function:: 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.
|
|
|
|
.. module:: trytond.tests.tools
|
|
|
|
===========
|
|
Tests tools
|
|
===========
|
|
|
|
.. function:: activate_modules(modules)
|
|
|
|
This function is used in proteus doctests to activate a list of ``modules`` in
|
|
the scenario.
|
|
|
|
.. function:: set_user(user, config)
|
|
|
|
This function will set the user of the ``config`` proteus connection to
|
|
``user``.
|