A pytest plugin for configuring workflow/pipeline tests using YAML files
Project description
pytest-workflow is a pytest plugin that aims to make pipeline/workflow testing easy by using yaml files for the test configuration.
For our complete documentation checkout our readthedocs page.
Installation
Pytest-workflow requires Python 3.5 or higher. It is tested on Python 3.5, 3.6 and 3.7. Python 2 is not supported.
Make sure your virtual environment is activated.
Install using pip pip install pytest-workflow
Create a tests directory in the root of your repository.
Create your test yaml files in the tests directory.
Quickstart
Run pytest from an environment with pytest-workflow installed. Pytest will automatically gather files in the tests directory starting with test and ending in .yaml or .yml.
To check the progress of a workflow while it is running you can use tail -f on the stdout or stderr file of the workflow. The locations of these files are reported in the log as soon as a workflow is started.
For debugging pipelines using the --keep-workflow-wd flag is recommended. This will keep the workflow directory and logs after the test run so it is possible to check where the pipeline crashed. The -v flag can come in handy as well as it gives a complete overview of succeeded and failed tests.
Below is an example of a YAML file that defines a test:
- name: Touch a file
command: touch test.file
files:
- path: test.file
This will run touch test.file and check afterwards if a file with path: test.file is present. It will also check if the command has exited with exit code 0, which is the only default test that is run. Testing workflows that exit with another exit code is also possible.
Documentation for more advanced use cases can be found on our readthedocs page.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pytest-workflow-1.0.0.tar.gz
.
File metadata
- Download URL: pytest-workflow-1.0.0.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.5.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5c65cb5e55fa61d1c71555837eab9261bea095d1186b5ace3e4ec94873737d0 |
|
MD5 | 75d6c46ef8db3fe6dcf7f6d0eeae413c |
|
BLAKE2b-256 | 46c66ffd3737db1ca5184ad3751cdc5e754c5e413dd0bd1e0359a0852f3740ad |
File details
Details for the file pytest_workflow-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: pytest_workflow-1.0.0-py3-none-any.whl
- Upload date:
- Size: 32.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.5.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdd2c74af8fbe125f9fbced214c68f566bdf79cee6e17cbf080e2c98204a9e83 |
|
MD5 | d1a8f7c9ff2cc6d97f338bab0b93a87f |
|
BLAKE2b-256 | 4f06ee602f2e45cbd66fae8bd7441d9eb071fc86c05765a0cb608edbfee4d516 |