zaqar/tests/functional
Malini Kamalambal e515053dd1 Add Tests for non-existing resources
This patch adds tests for action on non-existing queues, messages & claims.

Change-Id: I68517b1b98f668eff86a0bcad19dc9ed8d01267c
Tests-Bug: #1243752
2013-10-31 15:49:48 -04:00
..
wsgi Add Tests for non-existing resources 2013-10-31 15:49:48 -04:00
__init__.py Pull actual tests out of marconi/tests 2013-09-06 10:56:41 +02:00
README.rst Move functional tests into wsgi/v1 2013-09-10 11:47:40 +02:00

Marconi Functional Tests ====================

Marconi's functional tests treat Marconi as a black box. In other words, the API calls attempt to simulate an actual user. Unlike unit tests, the functional tests do not use mockendpoints.

Running functional tests (With Tox)

  1. Setup a Marconi server. Refer to the Marconi README on how to run Marconi locally, or simply use an existing server.

  2. Change $MARCONI_TESTS_CONFIGS_DIR/functional-tests.conf and set run_tests to True.

  3. Run tests. :

    $ tox
  4. Filter tests. :

    $ tox -- --tests tests.functional.wsgi.v1.test_messages
  5. Run tests for specific environments. :

    $ tox -epy27,pep8

Running the Functional Tests (Without Tox)

  1. Setup a Marconi server. Refer to the Marconi README on how to run Marconi locally, or simply use an existing server.

  2. Install functional tests dependencies. :

    pip install -r requirements.txt
    pip install -r test-requirements.txt
  3. cd to the marconi/tests/functional directory

  4. Copy marconi/tests/etc/functional-tests.conf-sample to one of the following locations:

    ~/.marconi/functional-tests.conf
    /etc/marconi/functional-tests.conf
  5. Update the config file to point to the Marconi server you want to run the tests against

  6. If leaving keystone auth enabled, update system-tests.conf with a valid set of credentials.

  7. Now, to run the sytem tests, simply use the nosetests commands, e.g.:

    Run all test suites: :

    nosetests --tests tests.functional -v

Adding New Tests

  1. Add test case to an appropriate test case file: :

    queue/test_queue.py
    messages/test_messages.py
    claim/test_claims.py