Bases: fixtures.fixture.Fixture
Basic database fixture.
Allows to run tests on various db backends, such as SQLite, MySQL and PostgreSQL. By default use sqlite backend. To override default backend uri set env variable OS_TEST_DBAPI_ADMIN_CONNECTION with database admin credentials for specific backend.
Bases: oslotest.base.BaseTestCase
Base class for testing of DB code.
Generate schema objects to be used within a test.
The function is separate from the setUp() case as the scope of this method is controlled by the provisioning system. A test that specifies SCHEMA_SCOPE may not call this method for each test, as the schema may be maintained from a previous run.
Bases: oslo_db.sqlalchemy.test_base.DbFixture
Bases: oslo_db.sqlalchemy.test_base.OpportunisticTestCase
alias of MySQLOpportunisticFixture
Bases: oslo_db.sqlalchemy.test_base.DbTestCase
Placeholder for backwards compatibility.
Bases: oslo_db.sqlalchemy.test_base.DbFixture
Bases: oslo_db.sqlalchemy.test_base.OpportunisticTestCase
alias of PostgreSQLOpportunisticFixture
Decorator to skip backend specific tests on inappropriate engines.
::dialects: list of dialects names under which the test will be launched.
Organize package-level tests into a testresources.OptimizingTestSuite.
This function provides a unittest-compatible load_tests hook for a given package; for per-module, use the optimize_module_test_loader() function.
When a unitest or subunit style test runner is used, the function will be called in order to return a TestSuite containing the tests to run; this function ensures that this suite is an OptimisingTestSuite, which will organize the production of test resources across groups of tests at once.
The function is invoked as:
from oslo_db.sqlalchemy import test_base
load_tests = test_base.optimize_package_test_loader(__file__)
The loader must be present in the package level __init__.py.
The function also applies testscenarios expansion to all test collections. This so that an existing test suite that already needs to build TestScenarios from a load_tests call can still have this take place when replaced with this function.