Zoe Integration Tests¶
Overview¶
The objective of integration testing is to run Zoe through a simple workflow to test basic functionality in an automated manner.
How it works¶
The integration tests are sun by GitLab CI, but can also be run by hand. Docker is used to guarantee reproducibility and a clean environment for each test run.
Two containers are used:
- Standard Postgres 9.3
- Python 3.4 container with the Zoe code under test
Pytest will start a zoe-api and a zoe-master, then proceed querying the REST API via HTTP calls.
- The DockerEngine back-end is used
- The authentication type is
text
for simplicity.
The code is under the integration_tests
directory.
What is being tested¶
The following endpoints are tested, with good and bad authentication information. Return status codes are checked for correctness.
- info
- userinfo
- execution start, list, terminate
- service list
A simple ZApp with an nginx web server is used for testing the execution start API.