This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

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
Release History

Release History

This version
History Node

0.5.1

History Node

0.5

History Node

0.4

History Node

0.3

History Node

0.2

History Node

0.1

History Node

0.0.post1-359fbc961cce

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pytest-couchdbkit-0.5.1.tar.gz (4.8 kB) Copy SHA256 Checksum SHA256 Source Apr 17, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting