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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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