[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