Skip to main content

py.test extension for per-test couchdb databases using couchdbkit

Project description

pytest-couchdbkit

pytest-couchdbkit is a simple pytest extension that manages test databases for your couchdbkit using apps.

In order to use it, you only need to set the ini option couchdbkit_suffix to something fitting your app. Additionally you may use couchdbkit_backend to select the gevent/eventlet backends.

To setup couchapps before running the tests, there is the pytest_couchdbkit_push_app(server, dbname) hook

It can be used to create a pristine database, which is replicated into each test database.

The provided funcarg couchdb will be a freshly flushed database named pytest_ + couchdbkit_suffix,

additionally, after each test item, the database will be dumped to tmpdir.join(couchdb.dump)

which is a simple file having entries in the format:

number(\d+) + "\r\n" + number bytes + "\r\n"

entries are:

  • the db info

  • documents

  • raw attachment data following the document

Attachments are ordered by name, so they can be reassigned to their metadata on loading.

The dump format is meant to be human-readable.

Future

  • fs fixtures (like couchapp)

  • code fixtures

  • dump fixtures

  • comaring a db to sets of defined fixtures

CHANGELOG

from 0.5 to 0.5.1

  • fix MANIFEST.in

from 0.4 to 0.5

  • fix breaking testruns that dont actually use it

  • add a lot of tests i should have done before 0.4

  • add support for pytest-xdist, if a slave is detected, push_app wont be called, and dbname gets the gw id appended

from 0.3 to 0.4

  • add pytest_couchdbkit_push_app hook

from 0.2 to 0.3

  • switch dump format to chunked encoding

  • pretty json in dumps

  • attachments in dumps

  • utility functions for loading dumps back to a database

from 0.1 to 0.2

  • use json-lines as extension for the dump

  • condense json to one line per document for humanly acceptable parsinig

  • fail if no couchdbkit_prefix is set

0.1

  • initial stuff

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-couchdbkit-0.5.1.tar.gz (4.8 kB view details)

Uploaded Source

File details

Details for the file pytest-couchdbkit-0.5.1.tar.gz.

File metadata

File hashes

Hashes for pytest-couchdbkit-0.5.1.tar.gz
Algorithm Hash digest
SHA256 1d87a52ec347f4f18b5fcceb5d046f8dc92a37be19268ee17ece30ab8934902a
MD5 df659c60b3e67f00b98fa3d0b0a3ccdc
BLAKE2b-256 a1b70e7b02a3afbd330800a6861b3fbff38d6d3a08bfef69e1a2520cbc4fdf7b

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