Skip to main content

Databases fixtures plugin for py.test.

Project description

pytest-dbfixtures
=================

.. image:: https://pypip.in/v/pytest-dbfixtures/badge.png
:target: https://pypi-hypernode.com/pypi/pytest-dbfixtures/
:alt: Latest PyPI version

.. image:: https://readthedocs.org/projects/pytest-dbfixtures/badge/?version=v0.8.0
:target: https://readthedocs.org/projects/pytest-dbfixtures/?badge=v0.8.0
:alt: Documentation Status

.. image:: https://pypip.in/d/pytest-dbfixtures/badge.png
:target: https://pypi-hypernode.com/pypi/pytest-dbfixtures/
:alt: Number of PyPI downloads

.. image:: https://pypip.in/wheel/pytest-dbfixtures/badge.png
:target: https://pypi-hypernode.com/pypi/pytest-dbfixtures/
:alt: Wheel Status

.. image:: https://pypip.in/egg/pytest-dbfixtures/badge.png
:target: https://pypi-hypernode.com/pypi/pytest-dbfixtures/
:alt: Egg Status

.. image:: https://pypip.in/license/pytest-dbfixtures/badge.png
:target: https://pypi-hypernode.com/pypi/pytest-dbfixtures/
:alt: License

Package status
--------------

.. image:: https://travis-ci.org/ClearcodeHQ/pytest-dbfixtures.svg?branch=v0.8.0
:target: https://travis-ci.org/ClearcodeHQ/pytest-dbfixtures
:alt: Tests

.. image:: https://coveralls.io/repos/ClearcodeHQ/pytest-dbfixtures/badge.png?branch=v0.8.0
:target: https://coveralls.io/r/ClearcodeHQ/pytest-dbfixtures?branch=v0.8.0
:alt: Coverage Status

.. image:: https://requires.io/github/ClearcodeHQ/pytest-dbfixtures/requirements.svg?tag=v0.8.0
:target: https://requires.io/github/ClearcodeHQ/pytest-dbfixtures/requirements/?tag=v0.8.0
:alt: Requirements Status

Overview
--------

py.test clean fixtures for: ``postgresql``, ``mysql``, ``redis``, ``mongo``, ``elasticsearch`` and ``rabbitmq``.

Starts specific database deamon and cleanup all data produced during tests.


Install
-------

.. sourcecode:: bash

$ pip install --upgrade pytest-dbfixtures


How to use
----------

Please see `documentation <http://pytest-dbfixtures.readthedocs.org/en/latest/howtouse.html>`_


CHANGES
=======

0.8.0
-------
-----

- redisdb fixture allows to specify client connection class
- redisdb fixture uses now StrictRedis by default (backward incompatible)

0.6.0
-----

- replaced *MySQLdb* with it's fork *mysqlclient* - compatibility with python3
- renamed mysqldb fixture to mysql to keep it consistent with other client fixtures.
- replaced *pika* with python 3 compatible rabbitpy
- removed deprecated mysqldb_session/mysql_session
- bugfix of rabbitmq fixture: cast rabbitmq queues and exchanges to str due to pamq having problems
- internal changes: removed GentleKillingExecutor as mirakuru already implements same functionality

0.5.2
-----

* syntax fixes for python 3
* moved postgresql starting code into it's own executor
* xdist distributed hosts testing bugfix (but xdist parallelization on one host won't work)

0.5.1
-----

* make rabbitmq logs persistent

0.5.0
-----

* update mirakuru to min 0.2
* os.killpg to terminate process
* add tests coverage on coveralls

0.4.22
------

* remove creating old RABBITMQ env variables

0.4.21
------

* remove elasticsearch home folder at process teardown
* set elasticsearch index.store.type to memory by default
* localized elasticsearch instance by default
* replaced summon_process with mirakuru

0.4.20
------

* RabbitMQ process fixture is session scoped
* rabbitmq fixture factory accepts custom teardown


0.4.19
------

* StopRunningExecutor to simply return if process had been already killed.

0.4.18
------

* MongoDB fixtures can be now initialized by factories


0.4.17
------

* Bugfix: params in redis fixture


0.4.16
-------

* Add params to mysql fixture


0.4.15
-------

* Client fixtures now check if process (process fixture) is running before
every test and starts process if it was terminated after previous test.


0.4.14
-------

* Bugfix: Now we don't overwrite postgresql config in postgres_proc


0.4.13
-------

* Bugfix of rabbitmq_proc fixture - now it works with scope=function


0.4.12
-------

* Overrides SimpleExecutor's behavior with a try of more gentle terminating
subprocess before killing it.
* Deprecate scope for mysqldb fixture and change it to function by default.
* RabbitMQ factories support (multiple rabbit fixtures).


0.4.10
-------

* Postgresql multiple versions proper support
* Default timeouts and waits for process executors


0.4.8
-------

* introduced Elasticsearch fixture


0.4.6
-------

* mysql fixture now uses factories


0.4.4
-------

* postgresql fixtures and fixture factories
* small code quality improvements
* pylama code check


0.4.3
-------

* splits rabbitmq fixture into process/client fixtures

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-dbfixtures-0.8.0.tar.gz (15.9 kB view details)

Uploaded Source

Built Distributions

pytest_dbfixtures-0.8.0-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

pytest_dbfixtures-0.8.0-py2-none-any.whl (31.8 kB view details)

Uploaded Python 2

File details

Details for the file pytest-dbfixtures-0.8.0.tar.gz.

File metadata

File hashes

Hashes for pytest-dbfixtures-0.8.0.tar.gz
Algorithm Hash digest
SHA256 fb9fb8f461623c619a780dc3b194921319f6396cb1f576a5aedea9e80f0a6b65
MD5 21473b22a13ab07c9d4d09713f0dbdf3
BLAKE2b-256 cd17034ba99c45ba199ecfdfc7f74b5b94c3982ea83f3cb81c37056d123712f8

See more details on using hashes here.

File details

Details for the file pytest_dbfixtures-0.8.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_dbfixtures-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 687429345b54eddfce40f0a125493640bc9803a2d0ee80a5fb7f64296db4b2c5
MD5 08040b8f84d152f101f818dd7a4c4fd6
BLAKE2b-256 2b84412a1be3d14e1e418cc4df0f56f04ecad38faeb01b124edf165eda1f85e4

See more details on using hashes here.

File details

Details for the file pytest_dbfixtures-0.8.0-py2-none-any.whl.

File metadata

File hashes

Hashes for pytest_dbfixtures-0.8.0-py2-none-any.whl
Algorithm Hash digest
SHA256 ecad9d2ee003102de69af6c220d1f0d44b3f81705d4eac1b73a741052662c62d
MD5 e2b21bc8c9648063add1637869c486a4
BLAKE2b-256 7503065915adf8b45716bd044265f4c7d2d203a3211bd9c9676ae1d717ad9b8c

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