2395014351
Remove CONF dependencies from the client manager base class, to make it useful to external consumers (such as plugins). The ultimate target is to have a manager which can be used with as little as possible setup, which only instantiates the clients which are actually needed by the test, and which allows to register new service clients defined in plugins. Since plugins already import both manager.Manager and clients.Manager, we maintain for now both classes with their names. The plan is to migrate the 6 core service client groups to manager.Manager, so that those clients are available to all tests along with plugin clients. That requires a few steps. I'm doing changes in clients.Manager for now so that it's easier to review. The result of this first step is: - manager.Manager is moved to manager_lib.Manager and does not depend on CONF anymore, nor on any tempest unstable class. It does not provide any client yet. Add unit test coverage for this class. - manager.Manager is still provided with backward compatible interface for plugins benefit. Change-Id: Ic9ccc7037d15cdd4c6f1749eaeda13d4e7ee0114 Partially-implements: bp client-manager-refactor |
||
---|---|---|
.. | ||
cmd | ||
common | ||
files | ||
lib | ||
negative | ||
services | ||
stress | ||
README.rst | ||
__init__.py | ||
base.py | ||
fake_auth_provider.py | ||
fake_config.py | ||
fake_tempest_plugin.py | ||
test_base_test.py | ||
test_decorators.py | ||
test_hacking.py | ||
test_list_tests.py | ||
test_microversions.py | ||
test_negative_rest_client.py | ||
test_service_clients.py | ||
test_tempest_plugin.py | ||
test_wrappers.py | ||
utils.py |
README.rst
Tempest Field Guide to Unit tests
What are these tests?
Unit tests are the self checks for Tempest. They provide functional verification and regression checking for the internal components of tempest. They should be used to just verify that the individual pieces of tempest are working as expected. They should not require an external service to be running and should be able to run solely from the tempest tree.
Why are these tests in tempest?
These tests exist to make sure that the mechanisms that we use inside of tempest to are valid and remain functional. They are only here for self validation of tempest.
Scope of these tests
Unit tests should not require an external service to be running or any extra configuration to run. Any state that is required for a test should either be mocked out or created in a temporary test directory. (see test_wrappers.py for an example of using a temporary test directory)