zaqar/tests/functional
Flavio Percoco c54f922c33 Fix ttl and grace story for claims updates
Claim's updates are currently extending the life of a claim by extending
its `ttl` without taking into account the claim's grace. In addition to
this, the `ttl`'s default value is 60 for claim's renewal instead of
being the value of the configured default ttl.

This patch allows users to specify a `grace` when renewing a claim. If
`grace` is not present, it'll use the configured default value for it.

The change doesn't break backwards compatibility as in v1_0 a ttl *is*
required for claims renewal.

Closes-bug: #1356184
Change-Id: I9cce93c65f6d14ed8fabbbbcb9bf7ddc3bc11af2
2014-10-15 09:32:43 +02:00
..
2014-08-04 10:36:50 +02:00

Zaqar Functional Tests

Zaqar's functional tests treat Zaqar 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 Zaqar server. Refer to the Zaqar README on how to run Zaqar locally, or simply use an existing server.

  2. Change $ZAQAR_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 Zaqar server. Refer to the Zaqar README on how to run Zaqar 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 tests/etc directory

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

  5. Now, to run the system tests, simply use the nosetests commands, 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