zaqar/marconi/tests/system/README.rst

1.6 KiB

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 system-test-requirements.txt
  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)