[Checkins] SVN: zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/ more tests and fixes

Andreas Jung andreas at andreas-jung.com
Fri Jul 2 03:45:29 EDT 2010


Log message for revision 114096:
  more tests and fixes
  

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-02 07:41:17 UTC (rev 114095)
+++ zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/storage.py	2010-07-02 07:45:28 UTC (rev 114096)
@@ -57,6 +57,8 @@
         raise errors.NoRevisionFound('No revision %d found for document with ID %s found' % (revision, id))
 
     def remove(self, id):
+        if self.revisions.find({'_oid' : id}).count() == 0:
+            raise errors.NoDocumentFound('No document with ID %s found' % id)
         self.metadata.remove({'_oid' : id})
         self.revisions.remove({'_oid' : id})
 

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-02 07:41:17 UTC (rev 114095)
+++ zopyx.versioning/trunk/zopyx/versioning/storages/mongodb/tests/test_storage.py	2010-07-02 07:45:28 UTC (rev 114096)
@@ -37,3 +37,14 @@
         with self.assertRaises(errors.NoDocumentFound):
             revisions = self.storage.list_revisions('do.such.document')
 
+    def testRemoveNonExistingDocument(self):
+        with self.assertRaises(errors.NoDocumentFound):
+            self.storage.remove('do.such.document')
+
+    def testRemoveExistingDocument(self):
+        version_data = {'text' : u'hello world', 'subject' : [u'kw1', u'kw2']}
+        self.storage.store('42', json_encode(version_data), 'ajung')
+        self.storage.remove('42')
+        with self.assertRaises(errors.NoDocumentFound):
+            self.storage.remove('42')
+



More information about the checkins mailing list