Databases fixtures plugin for py.test.
Pytest dbfixtures was a pytest plugin that makes it a lot easier to set up proper database or storage engine for testing.
As of version 1.0.0 every process fixture got moved into it’s own pytest plugin for easier maintenance, and pytest-dbfixture itself got converted into metapacakge.
List of packages:
Please see individual packages on hot to use them, although their usage is pretty similar.
[enhancements] removed all leftover code and limited documentation, directed to each indicidual packages.
[enhancements] split out Redis fixtures into separate package. See pytest-redis
[enhancements] split out RabbitMQ fixtures into separate package. See pytest-rabbitmq
[enhancements] split out MySQL fixtures into separate package. See pytest-mysql
[enhancements] split out DynamoDB fixtures into separate package. See pytest-dynamodb
[enhancement] split out PostgreSQL fixtures into separate package. See pytest-postgresql
[enhancement] split out MongoDB fixtures into separate package. See pytest-mongo
[enhancements] Postgresql client fixture closes other postgresql connection to the database before droping database - prevents the fixture/tests from hanging in some cases
[enhancements] mysql to use unique tmpdir option for mysql_* commands
[enhancements] use semicolon to terminate postgresql CREATE/DROP DATABASE statements
[bugfix] removed unneded dependency
[enhancement] split out elasticsearch fixtures into separate package. See pytest-elasticsearch
[feature] use tmpfile.gettempdir instead of hardcoded /tmp directory
[fix] support for rabbitpy 0.27.x
[feature] Random port selection ports accept tuples and sets. replace string representation [backward incompatible]
[feature] Add support for delayTransientStatuses flag (DynamoDB)
[fix] Update DynamoDB in howtouse
[fix] packaging/changelog fix
[feature] add fixture for DynamoDB
[bugfix] fix dbfixtures packaging
[feature] make it easier to support future postgresql out of the box
[feature] support for postgresql 9.5
[docs] add contribute guidelines
[feature] add info about minimal version supported - closes #132
[enhancements] - moved source code into src folder
[feature] python3.5 compatibility
[docs] enhance docs - refs #126
[feature] PGsql connection error on FreeBSD jailed environments
In FreeBSD jailed environments the loopback interface can not be used to connect to pgsql, because it points to the loopback interface of the host and not the jail.
Thus, it seems to pgsql like the connection is comming from the ip address assigned to the jail.
This ensures that pgsql can be connected to from any host, when run on a FreeBSD systems. This this package can be used in FreeBSD jailed environments
[feature] Use log destination param for pgsql
This commit ensures that stderr is used for logging, by specifying the command line parameter.
On FreeBSD this is very important otherwise syslog will be used and the db-fixtures will hang as it looks in the expected log file and loops forever waiting for a “database is ready” entry to appear… log_destination=stderr is default on most systems and can be set in postgresql.conf or given as an command line argument.
[bugfix] mongodb fixture no longer removes any of system.* collections
[bugfix] configured pytest-dbfixtures to work with pymlconf versions compatible with Python 3
make pytest-dbfixtures compatible with mirakuru 0.5.0
fix W503 pep8 errors, that appeared after new pylama got released
update to be able to use pytest-dbfixtures with pymongo 3
ability to properly use also beta versions of postgresql releases. (previously only stable versions were targeted)
add ability to set custom location for logs (might be useful for analysing logs from tests)
added postgresql 9.4 to supported versions.
Use port number in default RabbitMQ node name.
This allows using just the port=’?’ argument to rabbitmq_proc to run multiple independent RabbitMQ instances for use with xdist to parallelize tests on a single machine.
Old versions of Redis notification
displays a message about old version of redis
Feature: random ports selection Adds a possibility of passing ‘?’ in port= argument of process fixtures.
Removes ‘port’ from db fixtures
Fixes postgres missing host - previously using config.postgresql.unixsocketdir
redisdb fixture allows to specify client connection class
redisdb fixture uses now StrictRedis by default (backward incompatible)
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
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)
make rabbitmq logs persistent
update mirakuru to min 0.2
os.killpg to terminate process
add tests coverage on coveralls
remove creating old RABBITMQ env variables
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
RabbitMQ process fixture is session scoped
rabbitmq fixture factory accepts custom teardown
StopRunningExecutor to simply return if process had been already killed.
MongoDB fixtures can be now initialized by factories
Bugfix: params in redis fixture
Add params to mysql fixture
Client fixtures now check if process (process fixture) is running before every test and starts process if it was terminated after previous test.
Bugfix: Now we don’t overwrite postgresql config in postgres_proc
Bugfix of rabbitmq_proc fixture - now it works with scope=function
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).
Postgresql multiple versions proper support
Default timeouts and waits for process executors
introduced Elasticsearch fixture
mysql fixture now uses factories
postgresql fixtures and fixture factories
small code quality improvements
pylama code check
splits rabbitmq fixture into process/client fixtures
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.