[Checkins] SVN: zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/ more tests
Andreas Jung
andreas at andreas-jung.com
Mon Jul 5 08:14:01 EDT 2010
Log message for revision 114200:
more tests
Changed:
U zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py
U zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/tests/test_storage.py
-=-
Modified: zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py
===================================================================
--- zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py 2010-07-05 10:47:40 UTC (rev 114199)
+++ zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py 2010-07-05 12:14:01 UTC (rev 114200)
@@ -36,6 +36,7 @@
self.collections.remove()
def store(self, id, version_data, revision_metadata, collection_content=[]):
+
id_entry = self.metadata.find_one({'_oid' : id})
if id_entry is None:
revision = 0
Modified: zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/tests/test_storage.py
===================================================================
--- zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/tests/test_storage.py 2010-07-05 10:47:40 UTC (rev 114199)
+++ zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/tests/test_storage.py 2010-07-05 12:14:01 UTC (rev 114200)
@@ -23,6 +23,11 @@
self.storage = MongoDBStorage('localhost', 10200, 'test-db')
self.storage.clear()
+ def testClear(self):
+ self.assertEqual(self.storage.metadata.find().count(), 0)
+ self.assertEqual(self.storage.revisions.find().count(), 0)
+ self.assertEqual(self.storage.collections.find().count(), 0)
+
def testInterface(self):
verifyClass(IVersionStorage, MongoDBStorage)
@@ -52,3 +57,25 @@
with self.assertRaises(errors.NoDocumentFound):
self.storage.remove('42')
+ def testStoreCollection(self):
+
+ # two objects first
+ no_data = anyjson.serialize({})
+ rev1 = self.storage.store('child1', no_data, no_data)
+ rev2 = self.storage.store('child2', no_data, no_data)
+ rev3 = self.storage.store('child3', no_data, no_data)
+
+ self.assertEqual(self.storage.revisions.find().count(), 3)
+
+ version_data = {'text' : u'hello world', 'subject' : [u'kw1', u'kw2']}
+ self.storage.store('folder',
+ anyjson.serialize(version_data),
+ anyjson.serialize({}),
+ [dict(_oid='child1', _rev=rev1),
+ dict(_old='child2', _rev=rev2),
+ dict(_old='child3', _rev=rev3),
+ ])
+ self.assertEqual(self.storage.collections.find().count(), 1)
+
+ self.storage.remove('folder')
+ self.assertEqual(self.storage.collections.find().count(), 0)
More information about the checkins
mailing list