Running Tests

Each Paz repository has its own tests, and there is one "integration" test in the main Paz repository that will deploy Paz on a Vagrant cluster and run a service on it.

Running per-Service Tests

For each Paz service repository (paz-orchestrator, paz-scheduler and paz-service-directory) there exists a suite of lab tests. Some are in-process unit tests and some are external API functional tests. All are run with npm test.

The external API functional tests bring up a service and its dependencies as Docker containers using Fig, and tests the API from the outside. For this you will need to have Docker and Fig installed.

Boot2Docker on OS/X requires an environment variable to be set so that the tests can reach the running services in the Boot2Docker VM, like so:

$ DOCKER_IP=192.168.59.103 npm test

Running System-Wide Tests

There is an integration test that brings up a CoreOS Vagrant cluster, installs Paz and then runs a contrived service on it and verifies that it works. Run the following from the root directory of the paz repository:

$ cd test
$ ./integration.sh

Each paz repository (service directory, orchestrator, scheduler) has tests that run on paz-ci.yld.io (in StriderCD), triggered by a Github webhook.