|
|
@@ -1,25 +1,28 @@
|
|
|
"""
|
|
|
Tests the functionality of each provider implementation against registered test cases.
|
|
|
-These tests require that provider credentials are set as environment variables, as required for
|
|
|
-each provider.
|
|
|
-
|
|
|
-Since the tests exercise the cloudbridge interfaces, and there are multiple implementations of these
|
|
|
-interfaces, for m interfaces and n implementation, exercising all interfaces means that m*n test case
|
|
|
-classes are needed. Otherwise, the standard test runners such as unittest and nose2 do not correctly
|
|
|
-pick up the tests.
|
|
|
-
|
|
|
-To avoid an explosion of repetitive test cases, the ProviderTestCaseGenerator class will
|
|
|
-automatically generate a new Python class for each combination of test and provider. The
|
|
|
-load_tests protocol (https://docs.python.org/2/library/unittest.html#load-tests-protocol)
|
|
|
+These tests require that provider credentials are set as environment variables,
|
|
|
+as required for each provider (see `tox.ini` for a list of env variables).
|
|
|
+
|
|
|
+Since the tests exercise the ``cloudbridge`` interfaces, and there are multiple
|
|
|
+implementations of these interfaces, for m interfaces and n implementation,
|
|
|
+exercising all interfaces means that m*n test case classes are needed. Otherwise,
|
|
|
+the standard test runners such as unittest and nose2 do not correctly pick up
|
|
|
+the tests.
|
|
|
+
|
|
|
+To avoid an explosion of repetitive test cases, the ``ProviderTestCaseGenerator``
|
|
|
+class will automatically generate a new Python class for each combination of
|
|
|
+test and provider. The ``load_tests`` protocol
|
|
|
+(https://docs.python.org/2/library/unittest.html#load-tests-protocol)
|
|
|
is used to aid test discovery.
|
|
|
|
|
|
-Use ``python setup.py test`` to run these unit tests. (alternatively,use
|
|
|
-``python -m unittest test``)
|
|
|
+Use ``python setup.py test`` to run these unit tests (alternatively, use
|
|
|
+``python -m unittest test``).
|
|
|
|
|
|
-All test cases need to be registered below, and available providers will be discovered through
|
|
|
-the ProviderFactory. Test Cases must not inherit from unittest.TestCase, to avoid confusing
|
|
|
-unittest and nose2's automatic discovery.
|
|
|
-(The test generator will automatically add unittest.TestCase as a base class to each combination)
|
|
|
+All test cases need to be registered below, and available providers will be
|
|
|
+discovered through the ``ProviderFactory``. Test Cases must not inherit from
|
|
|
+``unittest.TestCase``, to avoid confusing unittest and nose2's automatic discovery.
|
|
|
+(The test generator will automatically add ``unittest.TestCase`` as a base class
|
|
|
+to each combination).
|
|
|
"""
|
|
|
|
|
|
from test.helpers import ProviderTestCaseGenerator
|