Skip to main content

A Python library to ease testing applications that rely on MongoDB as a datastore

Project description

================
MongoDB Test Util
================

This library provides a handful of useful functionality for easing the testing
of systems that rely on *MongoDB* as a datastore

-------------------------
Start and Teardown mongod
-------------------------

For most use cases, you can use this snippet to startup a ``mongod`` instance
for your test environment::

from mongo_test.handlers import startup_handle
startup_handle()

To tear an instance down if one exists::

from mongo_test.handlers import teardown_handle
teardown_handle()

--------
Fixtures
--------

*MongoTest* allows you to specify fixtures in *yaml*, with a few conveniences.
A sample yaml file would look something like::

`user_fixture.yml`
configuration:
collection: users
drop: true
simple_user:
_id: !oid 1
username: idbentley
first_name: Ian
last_name: Bentley

``!oid`` is a custom *yaml* constructor provided by *MongoTest*. This constructor
allows you to create object ids based on an integer seed. You can access the
constructor directly from python, which allows you to write assertions on
document identity::

from mongo_test.fixtures import oid_con
user = db.coll.find({name: 'ian.bentley@gmail.com'})
assert user['_id'] = oid_con(1)

------------------
A complete example
------------------

See the tests for a complete simple example.

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

MongoTest-0.1.2.tar.gz (3.7 kB view details)

Uploaded Source

File details

Details for the file MongoTest-0.1.2.tar.gz.

File metadata

  • Download URL: MongoTest-0.1.2.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for MongoTest-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7ef84129876c3305272a635cc57705067f6f8a8fff5764fb2877a9fe4ccac29c
MD5 ad882f421b0dd44b0471671f90c86e42
BLAKE2b-256 daf22cc94307b4b235f27f1e30846d49e55684d4591ccee9acf13d936f9dd99d

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