Added InvalidDocumentError

Ensures defined documents are valid and users don't override core methods
by accident.

fixes #275
This commit is contained in:
Ross Lawley
2011-09-09 17:36:40 +01:00
parent 60f0491f62
commit 050542c29b
3 changed files with 20 additions and 2 deletions

View File

@@ -12,7 +12,7 @@ import weakref
from fixtures import Base, Mixin, PickleEmbedded, PickleTest
from mongoengine import *
from mongoengine.base import _document_registry, NotRegistered
from mongoengine.base import _document_registry, NotRegistered, InvalidDocumentError
from mongoengine.connection import _get_db
@@ -2336,6 +2336,15 @@ class DocumentTest(unittest.TestCase):
pickle_doc.reload()
self.assertEquals(resurrected, pickle_doc)
def throw_invalid_document_error(self):
# test handles people trying to upsert
def throw_invalid_document_error():
class Blog(Document):
validate = DictField()
self.assertRaises(InvalidDocumentError, throw_invalid_document_error)
if __name__ == '__main__':
unittest.main()