zaqar/tests/functional
Flavio Percoco 35f2764204 Remove sqlalchemy from our data plane
This patch removes the sqlalchemy as a valid data driver. In order to
make this work properly, we also need the data plane to be properly
split into 2 completely independent pipelines.

This patch, unfortunately, disables some of the sqlalchemy's tests for
queues and pools. The reason is that, until these planes are correctly
separated and pooling is enabled by default, we won't be able to
properly run those tests. A follow-up patch, expected to land in kilo,
will do this.

DocImpact

Implements blueprint: disable-sqlalchemy-as-pool

Change-Id: I5ca73102241692b0e1b23b3eaaaf1938f0106dfa
2015-03-29 18:26:36 -03: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