Work in progress- Not ready for review yet
Unit tests for the mongo backend
Using a mock mongo database for tests.
These are not to replace existing functional and integration tests.
These are to test the methods in isolation. This will be useful
in storage backend refactoring.
This is not backend agnostic at the moment but can later be re-factored.