Skip to main content

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.

Pytest-workflow is also available as a conda package on bioconda. Follow these instructions to set up channels properly in order to use bioconda. After that conda install pytest-workflow can be used to install pytest-workflow.

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 --kwd or --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. Several other predefined tests as well as custom tests are possible.

Documentation for more advanced use cases can be found on our readthedocs page.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytest-workflow-1.1.1.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

pytest_workflow-1.1.1-py3-none-any.whl (33.7 kB view details)

Uploaded Python 3

File details

Details for the file pytest-workflow-1.1.1.tar.gz.

File metadata

  • Download URL: pytest-workflow-1.1.1.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 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

Hashes for pytest-workflow-1.1.1.tar.gz
Algorithm Hash digest
SHA256 a8f56b43ec01184c50831261d90ae00c6c8ed7ed6e012f6fe1b01b9063d87c9a
MD5 70d7727c92353d5598d596c5e183dca6
BLAKE2b-256 40c605e586f9a7f87d940727a43d84acecfcf76bd57c053351621afe7ab5d444

See more details on using hashes here.

File details

Details for the file pytest_workflow-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: pytest_workflow-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 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

Hashes for pytest_workflow-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 85b051af63bbbd99fc8857e998b689a7e1ed9f8d20c98a83358766ce3092ac17
MD5 97d4140eecb972965003c7632f6628a0
BLAKE2b-256 c38f5d6f0138f267e9a7f483f48e6553daa56f5447555853f37004ae476f6000

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page