Metadata-Version: 2.4
Name: pytest-reana
Version: 0.95.0a10
Summary: Pytest fixtures for REANA.
Home-page: https://github.com/reanahub/pytest-reana
Author: REANA
Author-email: info@reana.io
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS.md
Requires-Dist: pytest<9.0.0,>=7.0.0
Requires-Dist: reana-commons[tests]<0.96.0,>=0.95.0a16
Requires-Dist: reana-db[tests]<0.96.0,>=0.95.0a9
Provides-Extra: docs
Requires-Dist: myst-parser; extra == "docs"
Requires-Dist: Sphinx>=1.5.1; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=0.1.9; extra == "docs"
Provides-Extra: all
Requires-Dist: myst-parser; extra == "all"
Requires-Dist: Sphinx>=1.5.1; extra == "all"
Requires-Dist: sphinx-rtd-theme>=0.1.9; extra == "all"
Requires-Dist: myst-parser; extra == "all"
Requires-Dist: Sphinx>=1.5.1; extra == "all"
Requires-Dist: sphinx-rtd-theme>=0.1.9; extra == "all"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# pytest-REANA

[![image](https://img.shields.io/pypi/pyversions/pytest-reana.svg)](https://pypi.org/pypi/pytest-reana)
[![image](https://github.com/reanahub/pytest-reana/workflows/CI/badge.svg)](https://github.com/reanahub/pytest-reana/actions)
[![image](https://readthedocs.org/projects/pytest-reana/badge/?version=latest)](https://pytest-reana.readthedocs.io/en/latest/?badge=latest)
[![image](https://codecov.io/gh/reanahub/pytest-reana/branch/master/graph/badge.svg)](https://codecov.io/gh/reanahub/pytest-reana)
[![image](https://img.shields.io/badge/discourse-forum-blue.svg)](https://forum.reana.io)
[![image](https://img.shields.io/github/license/reanahub/pytest-reana.svg)](https://github.com/reanahub/pytest-reana/blob/master/LICENSE)
[![image](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

## About

pytest-REANA is a component of the [REANA](http://www.reana.io/) reusable and
reproducible research data analysis platform. It provides pytest fixtures and
test utilities.

> **Deprecated.** Starting with this release, the fixtures and helpers
> previously shipped here live in the libraries that own them:
>
> - REANA-Commons-coupled and pure fixtures, plus `make_mock_api_client`, are
>   exported from `reana_commons.testing` and auto-loaded via
>   `reana-commons[tests]`.
> - Database-coupled fixtures are exported from `reana_db.testing` and
>   auto-loaded via `reana-db[tests]`.
>
> Existing imports from `pytest_reana.fixtures` and `pytest_reana.test_utils`
> continue to work but emit a `DeprecationWarning`. New projects should depend
> on `reana-commons[tests]` and/or `reana-db[tests]` instead of `pytest-reana`.
> The package will be archived once the deprecation cycle ends.

## Features

- pytest fixtures (now provided by `reana-commons[tests]` and `reana-db[tests]`)
- mocking OpenAPI client with request format validation
- mocking Advanced Message Queuing Protocol consumers and producers
- mocking Celery tasks
- mocking file system workspace access
- mocking database access

## Usage

The detailed information on how to install and use REANA can be found in
[docs.reana.io](https://docs.reana.io).

## Useful links

- [REANA project home page](http://www.reana.io/)
- [REANA user documentation](https://docs.reana.io)
- [REANA user support forum](https://forum.reana.io)
- [pytest-REANA releases](https://pytest-reana.readthedocs.io/en/latest#changes)
- [pytest-REANA developer documentation](https://pytest-reana.readthedocs.io/)
- [pytest-REANA known issues](https://github.com/reanahub/pytest-reana/issues)
- [pytest-REANA source code](https://github.com/reanahub/pytest-reana)


<!-- markdownlint-disable MD013 -->

# Changelog

## 0.9.2 (2023-11-30)

* Changes CI to use the stable release of Python 3.12.

## 0.9.1 (2023-09-26)

* Adds support for Python 3.12.
* Changes `apispec` dependency version in order to be compatible with `PyYAML` v6.
* Fixes container image fixtures to be Podman-compatible.
* Fixes Kombu documentation linking.

## 0.9.0 (2022-12-13)

* Adds fixture providing example of user secrets needed for Kerberos tests.
* Adds support for Python 3.11.
* Fixes location of Celery docs for ReadTheDocs pages.
* Removes hard-dependency on `black` code formatter version.

## 0.8.1 (2022-01-05)

* Adds support for Python 3.10.

## 0.8.0 (2021-11-22)

* Adds nested Yadage workflow specification fixture.
* Adds empty workflow workspaces for sample workflows by default.
* Adds internal representation of a scatter-gather Snakemake workflow fixture.
* Changes `tmp_shared_volume_path` fixture to be configurable through environment variable.
* Changes fixtures to run with the full workspace path stored in the database.
* Removes support for Python 2.

## 0.7.2 (2021-07-02)

* Changes internal dependencies to remove click.

## 0.7.1 (2021-03-17)

* Adds support for Python 3.9.
* Fixes minor code warnings.
* Fixes installation by upgrading REANA-DB version.

## 0.7.0 (2020-10-20)

* Adds new `__reana` database schema for `db` fixture.
* Fixes a problem related to duplicated database session.
* Changes code formatting to respect `black` coding style.
* Changes documentation to single-page layout.

## 0.6.0 (2019-12-19)

* Adds fixtures for secrets store.
* Centralises test requirements.
* Adds Python 3.8 support.

## 0.5.0 (2019-04-16)

* Makes workspace path configurable for the `sample_workflow_workspace`
  fixture through the `path` parameter.
* Adds `sample_serial_workflow_in_db` fixture.
* Exposes previously hidden `sample_yadage_workflow_in_db` fixture.
* Adds missing database session close in `session` fixture.
* Adds helpers to represent starting and requeueing job conditions,
  `sample_condition_for_starting_queued_workflows` and
  `sample_condition_for_requeueing_workflows`.

## 0.4.1 (2018-11-06)

* Adds directory including sample workspace data.

## 0.4.0 (2018-11-06)

* Initial public release.
