Added version check to the polygon test to ensure server version >= 1.9

This commit is contained in:
John Arnfield 2011-08-17 21:23:40 +01:00
parent 10bc93dfa6
commit b037fb3e21

View File

@ -7,6 +7,7 @@ from mongoengine.queryset import (QuerySet, QuerySetManager,
MultipleObjectsReturned, DoesNotExist, MultipleObjectsReturned, DoesNotExist,
QueryFieldList) QueryFieldList)
from mongoengine import * from mongoengine import *
from mongoengine.connection import _get_connection
from mongoengine.tests import query_counter from mongoengine.tests import query_counter
@ -14,7 +15,7 @@ class QuerySetTest(unittest.TestCase):
def setUp(self): def setUp(self):
connect(db='mongoenginetest') connect(db='mongoenginetest')
class Person(Document): class Person(Document):
name = StringField() name = StringField()
age = IntField() age = IntField()
@ -2197,25 +2198,30 @@ class QuerySetTest(unittest.TestCase):
self.assertEqual(events.count(), 1) self.assertEqual(events.count(), 1)
self.assertEqual(events[0].id, event2.id) self.assertEqual(events[0].id, event2.id)
# check that polygon works # check that polygon works for users who have a server >= 1.9
polygon = [ server_version = tuple(
(41.912114,-87.694445), _get_connection().server_info()['version'].split('.')
(41.919395,-87.69084), )
(41.927186,-87.681742), required_version = tuple("1.9.0".split("."))
(41.911731,-87.654276), if server_version >= required_version:
(41.898061,-87.656164), polygon = [
] (41.912114,-87.694445),
events = Event.objects(location__within_polygon=polygon) (41.919395,-87.69084),
self.assertEqual(events.count(), 1) (41.927186,-87.681742),
self.assertEqual(events[0].id, event1.id) (41.911731,-87.654276),
(41.898061,-87.656164),
polygon2 = [ ]
(54.033586,-1.742249), events = Event.objects(location__within_polygon=polygon)
(52.792797,-1.225891), self.assertEqual(events.count(), 1)
(53.389881,-4.40094) self.assertEqual(events[0].id, event1.id)
]
events = Event.objects(location__within_polygon=polygon2) polygon2 = [
self.assertEqual(events.count(), 0) (54.033586,-1.742249),
(52.792797,-1.225891),
(53.389881,-4.40094)
]
events = Event.objects(location__within_polygon=polygon2)
self.assertEqual(events.count(), 0)
Event.drop_collection() Event.drop_collection()