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.
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
Release history Release notifications | RSS feed
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)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ef84129876c3305272a635cc57705067f6f8a8fff5764fb2877a9fe4ccac29c |
|
MD5 | ad882f421b0dd44b0471671f90c86e42 |
|
BLAKE2b-256 | daf22cc94307b4b235f27f1e30846d49e55684d4591ccee9acf13d936f9dd99d |