def test_geospatial_positive_query_with_point_helper_method(self): """ Perform a positive geospatial query for a point with helper method """ records = [] query = self.as_connection.query("test", "demo") query.where(p.geo_contains_point("loc_polygon", -121.7, 37.2)) def callback(input_tuple): _, _, record = input_tuple records.append(record) query.foreach(callback) assert len(records) == 1 expected = [{ 'coordinates': [[[-122.500000, 37.000000], [-121.000000, 37.000000], [-121.000000, 38.080000], [-122.500000, 38.080000], [-122.500000, 37.000000]]], 'type': 'Polygon' }] for r in records: assert r['loc_polygon'].unwrap() in expected
def test_geospatial_positive_query_with_point_helper_method(self): """ Perform a positive geospatial query for a point with helper method """ records = [] query = self.as_connection.query("test", "demo") query.where(p.geo_contains_point("loc_polygon", -121.7, 37.2)) def callback(input_tuple): _, _, record = input_tuple records.append(record) query.foreach(callback) assert len(records) == 1 expected = [{'coordinates': [[[-122.500000, 37.000000], [-121.000000, 37.000000], [-121.000000, 38.080000], [-122.500000, 38.080000], [-122.500000, 37.000000]]], 'type': 'Polygon'}] for r in records: assert r['loc_polygon'].unwrap() in expected
def test_geospatial_query_point_incorrect_param_helper_method(self): """ Perform a positive geospatial query for a point with incorrect params for helper method """ query = TestGeospatial.client.query("test", "demo") try: query.where(p.geo_contains_point("loc_polygon", -121.7, 37)) except e.ParamError as exception: assert exception.code == -2
def test_geospatial_query_circle_incorrect_param_within_radius_helper_method(self): """ Perform a positive geospatial query for a circle with incorrect params for helper method """ records = [] query = TestGeospatial.client.query("test", "demo") try: query.where(p.geo_contains_point("loc_polygon", -122.0, 37.5, 250)) except ParamError as exception: assert exception.code == -2L assert exception.msg == "predicate is invalid."
def test_geospatial_contains_point_pred(self, bin_name, idx_type): records = [] query = self.as_connection.query("test", "demo") lat = -122.45 lon = 37.5 predicate = p.geo_contains_point(bin_name, lat, lon, idx_type) def callback(input_tuple): _, _, record = input_tuple records.append(record) query.where(predicate) query.foreach(callback) assert len(records) == 1
def test_geospatial_contains_point_pred(self, bin_name, idx_type): records = [] query = self.as_connection.query("test", "demo") lat = -122.45 lon = 37.5 predicate = p.geo_contains_point( bin_name, lat, lon, idx_type) def callback(input_tuple): _, _, record = input_tuple records.append(record) query.where(predicate) query.foreach(callback) assert len(records) == 1