Mongomallard
This commit is contained in:
parent
ede9fcfb00
commit
dcc5d3c858
24 changed files with 584 additions and 1102 deletions
|
|
@ -8,6 +8,7 @@ from mongoengine import *
|
|||
__all__ = ("GeoQueriesTest",)
|
||||
|
||||
|
||||
@unittest.skip("geo queries not implemented")
|
||||
class GeoQueriesTest(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
|
|
|
|||
|
|
@ -760,10 +760,10 @@ class QuerySetTest(unittest.TestCase):
|
|||
self.assertEqual(q, 0)
|
||||
|
||||
fresh_o1 = Organization.objects.get(id=o1.id)
|
||||
fresh_o1.employees.append(p2) # Dereferences
|
||||
fresh_o1.employees.append(p2)
|
||||
fresh_o1.save(cascade=False) # Saves
|
||||
|
||||
self.assertEqual(q, 3)
|
||||
self.assertEqual(q, 2)
|
||||
|
||||
def test_slave_okay(self):
|
||||
"""Ensures that a query can take slave_okay syntax
|
||||
|
|
@ -2879,19 +2879,6 @@ class QuerySetTest(unittest.TestCase):
|
|||
(u'Wilson Jr', 19, u'Corumba-GO'),
|
||||
(u'Gabriel Falcao', 23, u'New York')])
|
||||
|
||||
def test_scalar_decimal(self):
|
||||
from decimal import Decimal
|
||||
class Person(Document):
|
||||
name = StringField()
|
||||
rating = DecimalField()
|
||||
|
||||
Person.drop_collection()
|
||||
Person(name="Wilson Jr", rating=Decimal('1.0')).save()
|
||||
|
||||
ulist = list(Person.objects.scalar('name', 'rating'))
|
||||
self.assertEqual(ulist, [(u'Wilson Jr', Decimal('1.0'))])
|
||||
|
||||
|
||||
def test_scalar_reference_field(self):
|
||||
class State(Document):
|
||||
name = StringField()
|
||||
|
|
@ -3144,7 +3131,6 @@ class QuerySetTest(unittest.TestCase):
|
|||
objectid_field = ObjectIdField(default=ObjectId)
|
||||
reference_field = ReferenceField(Simple, default=lambda: Simple().save())
|
||||
map_field = MapField(IntField(), default=lambda: {"simple": 1})
|
||||
decimal_field = DecimalField(default=1.0)
|
||||
complex_datetime_field = ComplexDateTimeField(default=datetime.now)
|
||||
url_field = URLField(default="http://mongoengine.org")
|
||||
dynamic_field = DynamicField(default=1)
|
||||
|
|
@ -3175,30 +3161,25 @@ class QuerySetTest(unittest.TestCase):
|
|||
id = ObjectIdField('_id')
|
||||
name = StringField()
|
||||
age = IntField()
|
||||
price = DecimalField()
|
||||
|
||||
User.drop_collection()
|
||||
User(name="Bob Dole", age=89, price=Decimal('1.11')).save()
|
||||
User(name="Barack Obama", age=51, price=Decimal('2.22')).save()
|
||||
User(name="Bob Dole", age=89).save()
|
||||
User(name="Barack Obama", age=51).save()
|
||||
|
||||
users = User.objects.only('name', 'price').as_pymongo()
|
||||
users = User.objects.only('name').as_pymongo()
|
||||
results = list(users)
|
||||
self.assertTrue(isinstance(results[0], dict))
|
||||
self.assertTrue(isinstance(results[1], dict))
|
||||
self.assertEqual(results[0]['name'], 'Bob Dole')
|
||||
self.assertEqual(results[0]['price'], 1.11)
|
||||
self.assertEqual(results[1]['name'], 'Barack Obama')
|
||||
self.assertEqual(results[1]['price'], 2.22)
|
||||
|
||||
# Test coerce_types
|
||||
users = User.objects.only('name', 'price').as_pymongo(coerce_types=True)
|
||||
users = User.objects.only('name').as_pymongo(coerce_types=True)
|
||||
results = list(users)
|
||||
self.assertTrue(isinstance(results[0], dict))
|
||||
self.assertTrue(isinstance(results[1], dict))
|
||||
self.assertEqual(results[0]['name'], 'Bob Dole')
|
||||
self.assertEqual(results[0]['price'], Decimal('1.11'))
|
||||
self.assertEqual(results[1]['name'], 'Barack Obama')
|
||||
self.assertEqual(results[1]['price'], Decimal('2.22'))
|
||||
|
||||
def test_as_pymongo_json_limit_fields(self):
|
||||
|
||||
|
|
@ -3222,6 +3203,7 @@ class QuerySetTest(unittest.TestCase):
|
|||
serialized_user = User.objects.exclude('password_salt').only('email').to_json()
|
||||
self.assertEqual('[{"email": "ross@example.com"}]', serialized_user)
|
||||
|
||||
@unittest.skip("not implemented")
|
||||
def test_no_dereference(self):
|
||||
|
||||
class Organization(Document):
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@ class TransformTest(unittest.TestCase):
|
|||
|
||||
BlogPost.drop_collection()
|
||||
|
||||
@unittest.skip("unsupported")
|
||||
def test_query_pk_field_name(self):
|
||||
"""Ensure that the correct "primary key" field name is used when
|
||||
querying
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue