poppy/tests/api
Jenkins be966dbdf9 Merge "Fixes API test for migrating domain" 2015-07-20 13:27:25 +00:00
..
admin Fixes API test for migrating domain 2015-07-17 18:52:58 +00:00
flavors Fixes failing API Tests 2015-01-26 10:35:18 -05:00
health Updates to API tests 2014-12-15 13:12:52 -05:00
services Merge "Add a missing comma" 2015-07-17 21:08:38 +00:00
utils Merge "Adds API tests for admin endpoint to migrate SAN domain" 2015-07-16 13:23:53 +00:00
README.rst Makes running api tests via tox simpler 2015-02-18 11:26:42 -05:00
__init__.py Add API Test Structure 2014-07-14 13:34:36 -04:00
base.py Merge "Adds API tests for admin endpoint to migrate SAN domain" 2015-07-16 13:23:53 +00:00
providers.py Add API tests for get service endpoint 2014-10-06 13:13:43 -04:00
requirements.txt Exclude API tests from tox. 2014-07-18 10:23:04 -04:00

README.rst

API Tests

The API tests + test an actual API against a running environment. + are black box tests + can be used to test any running instance of poppy server (dev, test, prod, local instance, containerized instance)

To run the tests

  1. Install the dependencies:

    pip install -r requirements.txt
  2. Set the following environment variables:

    export CAFE_CONFIG_FILE_PATH=~/.poppy/tests.conf
    export CAFE_ROOT_LOG_PATH=~/.poppy/logs
    export CAFE_TEST_LOG_PATH=~/.poppy/logs

3. The API tests require a running database (eg cassandra), in order to run via tox.

  1. Copy the api.conf file to the path set by CAFE_CONFIG_FILE_PATH:

    cp tests/etc/api.conf ~/.poppy/tests.conf
  2. Once you are ready to run the tests:

    cd tests/api
    nosetests

Tox Support

You can run tox using a docker container hosting Cassandra:

Note - This will require docker (or boot2docker for MacOSX) to already be installed on the system.

  1. Update your ~/.poppy/tests.conf to point to your docker cassandra container ip address.

Example 1: Run all API tests against a docker hosted cassandra instance:

tox -e api

Example 2: Run a particular API test function:

tox -e api api/services/test_services.py:TestCreateService -- -m test_create_service_positive