zaqar/marconi/tests/system
Malini Kamalambal 916c55de97 Update tests to reflect http 201 on Post Claim
This patch updates the claim tests to validate a response code
of http 201, instead of http 200.

Tests: bug# 1210301

Change-Id: If736db462225de86e82b08d87024b0da06af1e34
2013-08-09 11:31:50 -04:00
..
claim Update tests to reflect http 201 on Post Claim 2013-08-09 11:31:50 -04:00
common Add Tests for GET/HEAD queue 2013-08-09 08:51:10 -04:00
etc System Tests - Switch from robot to nosetests 2013-06-25 13:49:50 -04:00
messages Test for bulk delete of messages 2013-08-08 10:21:28 -04:00
queue Add Tests for GET/HEAD queue 2013-08-09 08:51:10 -04:00
__init__.py Add System Tests 2013-06-03 12:39:22 -04:00
README.rst System Tests - Switch from robot to nosetests 2013-06-25 13:49:50 -04:00

Marconi System Tests

Marconi's system tests treat Marconi as a black box. In other words, the API calls attempt to simulate an actual user. For example, unlike unit tests, the system tests do not use mock endpoints.

Running the System Tests

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

  2. System tests require the requests package. Run the following to install it: :

    pip install -r tools/system-test-requires
  3. cd to the marconi/tests/system directory

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

    ~/.marconi/system-tests.conf
    /etc/marconi/system-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, from the marconi/tests/system directory. e.g.:

    Run all test suites: :

    nosetests -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
  2. Add any validation logic you might need, to the following utility modules:

    • corresponing *fnlib.py (e.g. queue/queuefnlib.py)
    • common/functionlib.py (i.e., if the code can be used across multiple test suites)