Skip to main content

pytest servers

Project description

pytest servers

PyPI Status Python Version License

Tests Codecov pre-commit Black

Features

Create temporary directories on the following filesystems:

Installation

You can install pytest servers via pip from PyPI:

$ pip install pytest-servers

To use temporary S3 paths:

$ pip install pytest-servers[s3]

To use temporary Azure paths

$ pip install pytest-servers[azure]

To use temporary Google Cloud Storage paths

$ pip install pytest-servers[gcs]

To install all extras:

$ pip install pytest-servers[all]

Usage

The main fixture provided by pytest-servers provides is tmp_upath_factory, which can be used to generate temporary paths on different (mocked) filesystems:

def test_something_on_s3(tmp_upath_factory):
    path = tmp_upath_factory.mktemp("s3")
    foo = path / "foo"
    foo.write_text("foo")
    ...

mktemp supports the following filesystem types:

  • local (local filesystem)

  • memory (in-memory filesystem)

  • s3 (Amazon S3)

  • gcs (Google Cloud Storage)

  • azure (Azure Storage)

Some convenience fixtures that wrap tmp_upath_factory.mktemp and return a paths on these filesystems are also available:

  • local_path

  • memory_path

  • s3_path

  • gcs_path

  • azure_path

The tmp_upath fixture can be used for parametrizing paths with pytest’s indirect parametrization:

@pytest.mark.parametrize("tmp_upath", ["local", "s3", "gcs"], indirect=True]) # noqa: E501
def test_something(tmp_upath):
    pass

In order to use real remotes instead of mocked ones, use tmp_upath_factory with the following methods

  • tmp_upath_factory.s3(region_name, endpoint_url)

  • tmp_upath_factory.gcs(endpoint_url)

  • tmp_upath_factory.azure(connection_string)

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the Apache 2.0 license, pytest servers is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

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-servers-0.0.9.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

pytest_servers-0.0.9-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file pytest-servers-0.0.9.tar.gz.

File metadata

  • Download URL: pytest-servers-0.0.9.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for pytest-servers-0.0.9.tar.gz
Algorithm Hash digest
SHA256 948aa507f959135ee2c11a6a37908e4ab58cd54e76e069ec91b4d7b8951c7929
MD5 daf3ae28a58f40c271b80ddaf9c4c421
BLAKE2b-256 869395d6afa1f186f5ec1d6578347d476c0f1b6d57125925c6e9ca27fa209025

See more details on using hashes here.

File details

Details for the file pytest_servers-0.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_servers-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d776c71f8242a7c1194c27b06f31aa62d575861c602a39be24db0681fb63b27a
MD5 fd1dd94d5a1b49cdbd85f5cb568832b2
BLAKE2b-256 b0c6628eecf2e65cf5c2e43eae911cc6f1adf59205d99e4733804ded8b6432f4

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