summaryrefslogtreecommitdiffstats
path: root/docs/source
diff options
context:
space:
mode:
authorJoe Heck <heckj@mac.com>2012-01-29 14:36:11 -0800
committerJoe Heck <heckj@mac.com>2012-01-29 14:36:11 -0800
commitd1f4ddcb81d470401f5b6c80b66ac9649e3c224e (patch)
tree8e08a58ad5e227db3ecc6cc29308fbad4314aa73 /docs/source
parent22c3f8067ed7e480e5d06c67677a4f60d740a10d (diff)
adding in testing details
Diffstat (limited to 'docs/source')
-rw-r--r--docs/source/developing.rst13
1 files changed, 11 insertions, 2 deletions
diff --git a/docs/source/developing.rst b/docs/source/developing.rst
index 48ba2873..344a6e8b 100644
--- a/docs/source/developing.rst
+++ b/docs/source/developing.rst
@@ -70,7 +70,15 @@ light integration testing to verify the keystone API against other projects.
Test Structure
--------------
-UPDATE THIS...
+``./run_test.sh`` uses it's python cohort (``run_tests.py``) to iterate through the ``tests`` directory, using Nosetest to collect the tests and invoke them using an
+OpenStack custom test running that displays the tests as well as the time taken to
+run those tests.
+
+Within the tests directory, the general structure of the tests is a basic set of tests represented under a test class, and then subclasses of those tests under other classes with different configurations to drive different backends through the APIs.
+
+For example, ``test_backend.py`` has a sequence of tests under the class ``IdentityTests`` that will work with the default drivers as configured in this projects etc/ directory. ``test_backend_sql.py`` subclasses those tests, changing the configuration by overriding with configuration files stored in the tests directory aimed at enabling the SQL backend for the Identity module.
+
+Likewise, ``test_cli.py`` takes advantage of the tests written aainst ``test_keystoneclient`` to verify the same tests function through different drivers.
Testing Schema Migrations
-------------------------
@@ -92,8 +100,9 @@ This command references to a SQLite database (test.db) to be used. Depending on
Writing Tests
-------------
-UPDATE THIS...
+To add tests covering all drivers, update the base test class (``test_backend.py``, ``test_legacy_compat.py``, and ``test_keystoneclient.py``).
+To add new drivers, subclass the ``test_backend.py`` (look towards ``test_backend_sql.py`` or ``test_backend_kvs.py`` for examples) and update the configuration of the test class in ``setUp()``.
Further Testing
---------------