Skip to main content

Pytest's plugins crafted by LogPass

Project description

LogPass pytest plugins

A few pytest plugins used by LogPass.

Installation

To use logpass_pytest_plugins install it with your package manager, e.g. via pip:

pip install logpass_pytest_plugins

To install plugin with all its dependencies use one of following extras:

  • auto_pytest_factoryboy
  • channels
  • rest_framework

For instance, to install channels and rest_framework plugins with all dependencies:

pip install logpass_pytest_plugins[channels,rest_framework]

And finally add plugin import path to pytest_plugins in your root conftest.py file, e.g. to use channels and rest_framework plugins:

# root `conftest.py`
pytest_plugins = (
    'logpass_pytest_plugins.contrib.channels',
    'logpass_pytest_plugins.contrib.rest_framework',
)

Available plugins

NOTE: None plugin is not used by default - you need to enable them via pytest_plugins

logpass_pytest_plugins.contrib.auto_pytest_factoryboy

Plugin that automatically registers factory_boy factories to pytest-factoryboy, so factories and models instances will be available as pytest fixtures.

Configuration

Following INI options can be used to configure auto_pytest_factoryboy plugin:

  • auto_pytest_factoryboy_root_dir - directory where factories declarations searching starts (defaults to . - pytest config path)
  • auto_pytest_factoryboy_globs - list of glob patterns used to find files with factoryboy factories declarations starting from the auto_pytest_factoryboy_root_dir directory (defaults to **/factories*.py)

logpass_pytest_plugins.contrib.channels

Plugin that simplifies channels consumers testing by providing following fixtures:

  • websocket_commmunicator_factory - factory of WebSocketCommunicator instances, that will automatically disconnect at the end of a test. Using this fixture also automatically flush all used channel layers
  • http_commmunicator_factory - factory of HttpCommunicator instances. Using this fixture also automatically flush all used channel layers

logpass_pytest_plugins.contrib.flask

Plugin that simplifies flask views and other components testing by providing following fixtures:

  • flask_app - Flask app instance
  • client - FlaskClient instance to use in tests

Following INI options can be used to configure flask plugin:

  • FLASK_SETTINGS_MODULE - import path to settings module when using flask's config from object. Overrides FLASK_SETTINGS_MODULE environment variable.
  • FLASK_APP - import path to flask app factory or flask app instance. Overrides FLASK_APP environment variable.

To use flask plugin you need to do one of following:

  • set FLASK_APP INI option
  • set FLASK_APP environment variable
  • define flask_app function-scoped fixture in root conftest.py

logpass_pytest_plugins.contrib.rest_framework

Plugin that simplifies rest_framework views and other components testing by providing following fixtures:

  • api_rf - APIRequestFactory instance
  • api_client - APIClient instance

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

logpass_pytest_plugins-0.1.1.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

logpass_pytest_plugins-0.1.1-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file logpass_pytest_plugins-0.1.1.tar.gz.

File metadata

  • Download URL: logpass_pytest_plugins-0.1.1.tar.gz
  • Upload date:
  • Size: 6.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.5 Linux/5.13.0-1031-azure

File hashes

Hashes for logpass_pytest_plugins-0.1.1.tar.gz
Algorithm Hash digest
SHA256 48350a834f44d8d2cf7bfc97d761997fd5d3a73ef8d88a1e99a8c721f77401d0
MD5 5aae9717a0afdd597cdc3b920b4e9b3e
BLAKE2b-256 730cab2911fcd3b5a03976607f8f03024db3a3625e8f28ebc98a1b2c4bc11c92

See more details on using hashes here.

File details

Details for the file logpass_pytest_plugins-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for logpass_pytest_plugins-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 61a169c466e8b2c83a94029530a13e7c7d0764b6eb96b94f8a31e7b2d93646bd
MD5 b8b483421fb2c40c7b9c45d92006fd06
BLAKE2b-256 34b71371712f4d00bd3776f38c967aa170caecd98c4e6548cd8fce8971b37db1

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