Various fixes again
This commit is contained in:
@@ -253,13 +253,13 @@ class DeltaTest(unittest.TestCase):
|
||||
self.assertEqual(doc.embedded_field.list_field[2].list_field,
|
||||
[1, 2, {'hello': 'world'}])
|
||||
|
||||
del(doc.embedded_field.list_field[2].list_field[2]['hello'])
|
||||
del doc.embedded_field.list_field[2].list_field[2]['hello']
|
||||
self.assertEqual(doc._delta(),
|
||||
({}, {'embedded_field.list_field.2.list_field.2.hello': 1}))
|
||||
doc.save()
|
||||
doc = doc.reload(10)
|
||||
|
||||
del(doc.embedded_field.list_field[2].list_field)
|
||||
del doc.embedded_field.list_field[2].list_field
|
||||
self.assertEqual(doc._delta(),
|
||||
({}, {'embedded_field.list_field.2.list_field': 1}))
|
||||
|
||||
@@ -593,13 +593,13 @@ class DeltaTest(unittest.TestCase):
|
||||
self.assertEqual(doc.embedded_field.list_field[2].list_field,
|
||||
[1, 2, {'hello': 'world'}])
|
||||
|
||||
del(doc.embedded_field.list_field[2].list_field[2]['hello'])
|
||||
del doc.embedded_field.list_field[2].list_field[2]['hello']
|
||||
self.assertEqual(doc._delta(),
|
||||
({}, {'db_embedded_field.db_list_field.2.db_list_field.2.hello': 1}))
|
||||
doc.save()
|
||||
doc = doc.reload(10)
|
||||
|
||||
del(doc.embedded_field.list_field[2].list_field)
|
||||
del doc.embedded_field.list_field[2].list_field
|
||||
self.assertEqual(doc._delta(), ({},
|
||||
{'db_embedded_field.db_list_field.2.db_list_field': 1}))
|
||||
|
||||
@@ -615,7 +615,7 @@ class DeltaTest(unittest.TestCase):
|
||||
SON([('_cls', 'Person'), ('name', 'James'), ('age', 34)]), {}))
|
||||
|
||||
p.doc = 123
|
||||
del(p.doc)
|
||||
del p.doc
|
||||
self.assertEqual(p._delta(), (
|
||||
SON([('_cls', 'Person'), ('name', 'James'), ('age', 34)]), {}))
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ class DynamicTest(unittest.TestCase):
|
||||
obj = collection.find_one()
|
||||
self.assertEqual(sorted(obj.keys()), ['_cls', '_id', 'misc', 'name'])
|
||||
|
||||
del(p.misc)
|
||||
del p.misc
|
||||
p.save()
|
||||
|
||||
p = self.Person.objects.get()
|
||||
@@ -340,7 +340,7 @@ class DynamicTest(unittest.TestCase):
|
||||
person = Person.objects.first()
|
||||
person.attrval = "This works"
|
||||
|
||||
person["phone"] = "555-1212" # but this should too
|
||||
person["phone"] = "555-1212" # but this should too
|
||||
|
||||
# Same thing two levels deep
|
||||
person["address"]["city"] = "Lundenne"
|
||||
@@ -356,7 +356,6 @@ class DynamicTest(unittest.TestCase):
|
||||
|
||||
self.assertEqual(Person.objects.first().address.city, "Londinium")
|
||||
|
||||
|
||||
person = Person.objects.first()
|
||||
person["age"] = 35
|
||||
person.save()
|
||||
|
||||
@@ -143,7 +143,7 @@ class IndexesTest(unittest.TestCase):
|
||||
meta = {
|
||||
'indexes': [
|
||||
{
|
||||
'fields': ('title',),
|
||||
'fields': ('title',),
|
||||
},
|
||||
],
|
||||
'allow_inheritance': True,
|
||||
|
||||
@@ -1897,11 +1897,11 @@ class InstanceTest(unittest.TestCase):
|
||||
self.assertEqual(BlogPost.objects.count(), 0)
|
||||
|
||||
def test_reverse_delete_rule_cascade_triggers_pre_delete_signal(self):
|
||||
''' ensure the pre_delete signal is triggered upon a cascading deletion
|
||||
""" ensure the pre_delete signal is triggered upon a cascading deletion
|
||||
setup a blog post with content, an author and editor
|
||||
delete the author which triggers deletion of blogpost via cascade
|
||||
blog post's pre_delete signal alters an editor attribute
|
||||
'''
|
||||
"""
|
||||
class Editor(self.Person):
|
||||
review_queue = IntField(default=0)
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
from fields import *
|
||||
from file_tests import *
|
||||
from geo import *
|
||||
from geo import *
|
||||
|
||||
@@ -946,7 +946,7 @@ class FieldTest(unittest.TestCase):
|
||||
BlogPost.drop_collection()
|
||||
|
||||
def test_reverse_list_sorting(self):
|
||||
'''Ensure that a reverse sorted list field properly sorts values'''
|
||||
"""Ensure that a reverse sorted list field properly sorts values"""
|
||||
|
||||
class Category(EmbeddedDocument):
|
||||
count = IntField()
|
||||
@@ -1334,7 +1334,6 @@ class FieldTest(unittest.TestCase):
|
||||
def test_atomic_update_dict_field(self):
|
||||
"""Ensure that the entire DictField can be atomically updated."""
|
||||
|
||||
|
||||
class Simple(Document):
|
||||
mapping = DictField(field=ListField(IntField(required=True)))
|
||||
|
||||
@@ -1349,7 +1348,7 @@ class FieldTest(unittest.TestCase):
|
||||
self.assertEqual({"ints": [3, 4]}, e.mapping)
|
||||
|
||||
def create_invalid_mapping():
|
||||
e.update(set__mapping={"somestrings": ["foo", "bar",]})
|
||||
e.update(set__mapping={"somestrings": ["foo", "bar", ]})
|
||||
|
||||
self.assertRaises(ValueError, create_invalid_mapping)
|
||||
|
||||
@@ -1460,7 +1459,7 @@ class FieldTest(unittest.TestCase):
|
||||
|
||||
class Action(EmbeddedDocument):
|
||||
operation = StringField()
|
||||
object = StringField()
|
||||
object = StringField()
|
||||
|
||||
class Log(Document):
|
||||
name = StringField()
|
||||
@@ -3774,7 +3773,7 @@ class EmbeddedDocumentListFieldTestCase(unittest.TestCase):
|
||||
class A(Document):
|
||||
my_list = ListField(EmbeddedDocumentField(EmbeddedWithUnique))
|
||||
|
||||
a1 = A(my_list=[]).save()
|
||||
A(my_list=[]).save()
|
||||
self.assertRaises(NotUniqueError, lambda: A(my_list=[]).save())
|
||||
|
||||
class EmbeddedWithSparseUnique(EmbeddedDocument):
|
||||
@@ -3783,9 +3782,8 @@ class EmbeddedDocumentListFieldTestCase(unittest.TestCase):
|
||||
class B(Document):
|
||||
my_list = ListField(EmbeddedDocumentField(EmbeddedWithSparseUnique))
|
||||
|
||||
b1 = B(my_list=[]).save()
|
||||
b2 = B(my_list=[]).save()
|
||||
|
||||
B(my_list=[]).save()
|
||||
B(my_list=[]).save()
|
||||
|
||||
def test_filtered_delete(self):
|
||||
"""
|
||||
@@ -3824,6 +3822,7 @@ class EmbeddedDocumentListFieldTestCase(unittest.TestCase):
|
||||
and doesn't interfere with the rest of field functionalities.
|
||||
"""
|
||||
custom_data = {'a': 'a_value', 'b': [1, 2]}
|
||||
|
||||
class CustomData(Document):
|
||||
a_field = IntField()
|
||||
c_field = IntField(custom_data=custom_data)
|
||||
|
||||
@@ -12,7 +12,7 @@ import gridfs
|
||||
from nose.plugins.skip import SkipTest
|
||||
from mongoengine import *
|
||||
from mongoengine.connection import get_db
|
||||
from mongoengine.python_support import PY3, b, StringIO
|
||||
from mongoengine.python_support import b, StringIO
|
||||
|
||||
try:
|
||||
from PIL import Image
|
||||
@@ -112,7 +112,7 @@ class FileTest(unittest.TestCase):
|
||||
result.the_file.delete()
|
||||
|
||||
# Ensure deleted file returns None
|
||||
self.assertTrue(result.the_file.read() == None)
|
||||
self.assertTrue(result.the_file.read() is None)
|
||||
|
||||
def test_file_fields_stream_after_none(self):
|
||||
"""Ensure that a file field can be written to after it has been saved as
|
||||
@@ -138,7 +138,7 @@ class FileTest(unittest.TestCase):
|
||||
result = StreamFile.objects.first()
|
||||
self.assertTrue(streamfile == result)
|
||||
self.assertEqual(result.the_file.read(), text + more_text)
|
||||
#self.assertEqual(result.the_file.content_type, content_type)
|
||||
# self.assertEqual(result.the_file.content_type, content_type)
|
||||
result.the_file.seek(0)
|
||||
self.assertEqual(result.the_file.tell(), 0)
|
||||
self.assertEqual(result.the_file.read(len(text)), text)
|
||||
@@ -148,7 +148,7 @@ class FileTest(unittest.TestCase):
|
||||
result.the_file.delete()
|
||||
|
||||
# Ensure deleted file returns None
|
||||
self.assertTrue(result.the_file.read() == None)
|
||||
self.assertTrue(result.the_file.read() is None)
|
||||
|
||||
def test_file_fields_set(self):
|
||||
|
||||
|
||||
@@ -115,7 +115,7 @@ class GeoFieldTest(unittest.TestCase):
|
||||
expected = "Invalid LineString:\nBoth values (%s) in point must be float or int" % repr(coord[0])
|
||||
self._test_for_expected_error(Location, coord, expected)
|
||||
|
||||
Location(loc=[[1, 2], [3, 4], [5, 6], [1,2]]).validate()
|
||||
Location(loc=[[1, 2], [3, 4], [5, 6], [1, 2]]).validate()
|
||||
|
||||
def test_polygon_validation(self):
|
||||
class Location(Document):
|
||||
@@ -226,7 +226,7 @@ class GeoFieldTest(unittest.TestCase):
|
||||
expected = "Invalid MultiLineString:\nBoth values (%s) in point must be float or int" % repr(coord[0][0])
|
||||
self._test_for_expected_error(Location, coord, expected)
|
||||
|
||||
Location(loc=[[[1, 2], [3, 4], [5, 6], [1,2]]]).validate()
|
||||
Location(loc=[[[1, 2], [3, 4], [5, 6], [1, 2]]]).validate()
|
||||
|
||||
def test_multipolygon_validation(self):
|
||||
class Location(Document):
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
import unittest
|
||||
from mongoengine.base.datastructures import StrictDict, SemiStrictDict
|
||||
|
||||
|
||||
class TestStrictDict(unittest.TestCase):
|
||||
def strict_dict_class(self, *args, **kwargs):
|
||||
return StrictDict.create(*args, **kwargs)
|
||||
|
||||
def setUp(self):
|
||||
self.dtype = self.strict_dict_class(("a", "b", "c"))
|
||||
|
||||
def test_init(self):
|
||||
d = self.dtype(a=1, b=1, c=1)
|
||||
self.assertEqual((d.a, d.b, d.c), (1, 1, 1))
|
||||
@@ -38,8 +41,9 @@ class TestStrictDict(unittest.TestCase):
|
||||
|
||||
def test_setattr_raises_on_nonexisting_attr(self):
|
||||
d = self.dtype()
|
||||
|
||||
def _f():
|
||||
d.x=1
|
||||
d.x = 1
|
||||
self.assertRaises(AttributeError, _f)
|
||||
|
||||
def test_setattr_getattr_special(self):
|
||||
|
||||
Reference in New Issue
Block a user