Manager for test data providing downloads, caching of generated files, and a context for temp directories.
Project description
The datadir-mgr plugin for pytest provides the datadir_mgr fixture which allow test functions to easily download data files and cache generated data files in data directories in a manner that allows for overlaying of results. datadir-mgr is pathlib-based, so complete paths to data files are handled, not just filenames.
The datadir_mgr behaves like a limited dictionary, with datadir_mgr[item] returning a path with the most specific scope (out of global, module, [class], [function] that matches the string or path specified by item. In addition to serving data files already stored in the data directory, the fixture provides five methods useful for adding to the test data stored in the repository:
The download method allows downloading data files into data directories, with option MD5 checksum checks, un-gzipping, and a progressbar.
The savepath fixture lets an arbitrary path relative to the current working directory to be saved at a particular scope in the data directories.
The add_scope method lets one add directories from scopes different from the present request to be added to the search path. This lets the results of previous cached steps to be used in scopes other than global.
The in_tmp_dir method creates a context in a temporary directory with a list of request file paths copied in. Optionally, all output file paths can be saved at a particular scope at cleanup with an optional exclusion filter pattern (e.g., for excluding log files).
The paths_from_scope returns a list of all paths to files from a specified scope.
Prerequisites
Python 3.6 or greater is required. This package is tested under Linux and MacOS using Python 3.7.
Installation for Users
Install via pip
pip install pytest-datadir-mgr
For Developers
If you plan to develop datadir_mgr, you’ll need to install the poetry dependency manager. If you haven’t previously installed poetry, execute the command:
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
Next, get the master branch from GitHub
git clone https://github.com/legumeinfo/pytest-datadir-mgr.git
Change to the datadir-mgr/ directory and install with poetry:
poetry install -v
Test datadir-mgr with poetry:
poetry run pytest -s
Project Status
Latest Release |
|
GitHub |
|
License |
|
Travis Build |
|
Coverage |
|
Code Grade |
|
Dependencies |
|
Issues |
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-datadir-mgr-1.0.0.tar.gz
.
File metadata
- Download URL: pytest-datadir-mgr-1.0.0.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.7.7 Linux/5.6.5-gentoo-x86_64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 423546fd641e480de0e9d780b85962f6289b80b64ba278efabca0290e347a4b4 |
|
MD5 | db16f52ff0154f912e6b45db674738c9 |
|
BLAKE2b-256 | cd29c747bce00cadb3e0b0f054530c745d350dc9cab860b9cf5edb7a3b5b765d |
File details
Details for the file pytest_datadir_mgr-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: pytest_datadir_mgr-1.0.0-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.5 CPython/3.7.7 Linux/5.6.5-gentoo-x86_64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1183f2facd1a240f264b3e0799e223f134415fe4a56a70ef28c7250e5071af0c |
|
MD5 | f3543c22e537f9806b12de62df3827ce |
|
BLAKE2b-256 | 7b59df2318bc11458bb577af808759527fa27f400fd683548b30f9e3a7f71e67 |