zaqar/tests/functional
kgriffs a8d21ee296 fix(wsgi): Cleanup limit config options
This patch contains several misc. changes to queue, message, and
claim limits to reduce confusion and bring the implementation in
line with the v1 spec.

1. Removed a couple of WSGI driver config options that are
no longer needed now that we have redefined (and simplified) how
we constrain message and metadata size.

    metadata_max_length = 65536
    content_max_length = 262144

2. Renamed options to be more readable and consistent
3. Moved options to [transport] section
4. Made max messages that can be claimed its own setting, to reduce confusion
5. Removed enforcing an upper limit on the number of messages that can be
posted; this was never in the spec, and appears to be gold-plating. Now, the
only upper limit is max_message_size.
6. Removed the check on the size of a create claim request since (1) it is
not part of the API spec, and (2) sanity-checks like that are best done by
the web server, before a request even touches the app.
7. Migrated limits for storage driver interface params to static values,
since those defaults define the static contract between transport and
storage drivers.
8. Wrapped validation error messages in gettextutils._, and converted them
to use .format instead of %.

Change-Id: I1372e5002f030f5c8c47774ab00ca8ee7e12232d
Closes-Bug: #1270260
2014-02-11 20:33:10 +00:00
..
wsgi fix(wsgi): Cleanup limit config options 2014-02-11 20:33:10 +00: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