zaqar/tests/functional
kgriffs 2757da0eb8 Skip message_get_many schema test until we can repro reliably
While we try to track down the root cause of this random test failure,
this patch temporarily skips that test. We don't know yet whether it
it is a false positive or what.

Change-Id: Iabad78da94cf1e3033f3e03c20d2aa1ea8d8a5e1
Related-Bug: #1273335
2014-01-27 12:49:01 -06:00
..
wsgi Skip message_get_many schema test until we can repro reliably 2014-01-27 12:49:01 -06: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