Add testing documentation to Castellan
Adds documentation showing how to run unit and functional test in for Castellan. Change-Id: I9141f828dd1bc1eb9938c889c32ac80dea424d40
This commit is contained in:
parent
c347f4d4b2
commit
8e0613da09
@ -14,6 +14,7 @@ Contents:
|
|||||||
readme
|
readme
|
||||||
installation
|
installation
|
||||||
usage
|
usage
|
||||||
|
testing
|
||||||
contributing
|
contributing
|
||||||
|
|
||||||
Indices and tables
|
Indices and tables
|
||||||
|
98
doc/source/testing.rst
Normal file
98
doc/source/testing.rst
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
=======
|
||||||
|
Testing
|
||||||
|
=======
|
||||||
|
|
||||||
|
Every Castellan code submission is automatically tested against a number
|
||||||
|
of gating jobs to prevent regressions. Castellan developers should have a
|
||||||
|
habit of running tests locally to ensure the code works as intended before
|
||||||
|
submission.
|
||||||
|
|
||||||
|
For your convenience we provide the ability to run all tests through
|
||||||
|
the ``tox`` utility. If you are unfamiliar with tox please see
|
||||||
|
refer to the `tox documentation`_ for assistance.
|
||||||
|
|
||||||
|
.. _`tox documentation`: https://tox.readthedocs.org/en/latest/
|
||||||
|
|
||||||
|
Unit Tests
|
||||||
|
----------
|
||||||
|
|
||||||
|
Currently, we provide tox environments for a variety of different Python
|
||||||
|
versions. By default all available test environments within the tox
|
||||||
|
configuration will execute when calling ``tox``. If you want to run an
|
||||||
|
independent version, you can do so with the following command:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# Executes tests on Python 2.7
|
||||||
|
tox -e py27
|
||||||
|
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Other available environments are py34, py26, and pypy.
|
||||||
|
|
||||||
|
If you do not have the appropriate Python versions available, consider
|
||||||
|
setting up PyEnv to install multiple versions of Python. See the
|
||||||
|
documentation regarding `Setting up a Barbican development environment`_
|
||||||
|
for more information.
|
||||||
|
|
||||||
|
Functional Tests
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Unlike running unit tests, the functional tests require Barbican and
|
||||||
|
Keystone services to be running in order to execute. For more
|
||||||
|
information on this please see `Setting up a Barbican development environment`_
|
||||||
|
and `Using Keystone Middleware with Barbican`_
|
||||||
|
|
||||||
|
.. _`Setting up a Barbican development environment`: http://docs.openstack.org/developer/barbican/setup/dev.html
|
||||||
|
.. _`Using Keystone Middleware with Barbican`: http://docs.openstack.org/developer/barbican/setup/keystone.html
|
||||||
|
|
||||||
|
Castellan uses ``/etc/castellan/castellan-functional.conf`` in order to
|
||||||
|
run functional tests. A sample file can be generated by running:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# Generate a sample configuration file
|
||||||
|
tox -e genconfig
|
||||||
|
|
||||||
|
``castellan/etc/castellan/castellan-functional.conf.sample`` is generated.
|
||||||
|
It must be renamed to ``castellan-functional.conf`` and placed in
|
||||||
|
``/etc/castellan``.
|
||||||
|
|
||||||
|
The file should look something like the following:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
[DEFAULT]
|
||||||
|
|
||||||
|
[identity]
|
||||||
|
username = 'admin'
|
||||||
|
password = 'openstack'
|
||||||
|
project_name = 'admin'
|
||||||
|
auth_url = 'http://localhost:5000/v3'
|
||||||
|
|
||||||
|
Once you have the appropriate services running and configured you can execute
|
||||||
|
the functional tests through tox.
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# Execute Barbican Functional Tests
|
||||||
|
tox -e functional
|
||||||
|
|
||||||
|
|
||||||
|
By default, the functional tox job will use ``testr`` to execute the
|
||||||
|
functional tests.
|
||||||
|
|
||||||
|
Pep8 Check
|
||||||
|
----------
|
||||||
|
|
||||||
|
Pep8 is a style guide for Python code. Castellan code should be have proper
|
||||||
|
style before submission. In order to ensure that pep8 tests can be run through
|
||||||
|
tox as follows:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
# Checks python code style
|
||||||
|
tox -e pep8
|
||||||
|
|
||||||
|
Any comments on bad coding style will output to the terminal.
|
Loading…
x
Reference in New Issue
Block a user