Fixing is_destination for HERE isolines

This commit is contained in:
antoniocarlon
2020-03-18 12:09:12 +01:00
parent a2790c90d9
commit 09e24e13d3
3 changed files with 15 additions and 2 deletions

View File

@@ -115,7 +115,7 @@ class HereMapsRoutingIsoline(Traceable):
def __parse_source_param(self, source, options):
key = 'start'
if 'is_destination' in options and options['is_destination']:
if 'is_destination' in options and options['is_destination'].lower() == 'true':
key = 'destination'
return {key: source}

View File

@@ -10,7 +10,7 @@ from setuptools import setup, find_packages
setup(
name='cartodb_services',
version='0.23.1',
version='0.23.2',
description='CartoDB Services API Python Library',

View File

@@ -133,6 +133,7 @@ class HereMapsRoutingIsolineTestCase(unittest.TestCase):
self.isoline_url = "{0}{1}".format(HereMapsRoutingIsoline.PRODUCTION_ROUTING_BASE_URL,
HereMapsRoutingIsoline.ISOLINE_PATH)
def test_calculate_isodistance_with_valid_params(self, req_mock):
url = "{0}?start=geo%2133.0%2C1.0&mode=shortest%3Bcar".format(self.isoline_url)
req_mock.register_uri('GET', url, text=self.GOOD_RESPONSE)
@@ -204,6 +205,17 @@ class HereMapsRoutingIsolineTestCase(unittest.TestCase):
'fastest;car;traffic:false;motorway:-1')
def test_source_parameters_works_properly(self, req_mock):
req_mock.register_uri('GET', requests_mock.ANY,
text=self.GOOD_RESPONSE)
response = self.routing.calculate_isochrone('geo!33.0,1.0', 'car',
['1000', '2000'],
['is_destination=false'])
parsed_url = urlparse(req_mock.request_history[0].url)
url_params = parse_qs(parsed_url.query)
self.assertEqual(url_params['start'][0], 'geo!33.0,1.0')
def test_destination_parameters_works_properly(self, req_mock):
req_mock.register_uri('GET', requests_mock.ANY,
text=self.GOOD_RESPONSE)
response = self.routing.calculate_isochrone('geo!33.0,1.0', 'car',
@@ -211,6 +223,7 @@ class HereMapsRoutingIsolineTestCase(unittest.TestCase):
['is_destination=true'])
parsed_url = urlparse(req_mock.request_history[0].url)
url_params = parse_qs(parsed_url.query)
self.assertEqual(url_params['destination'][0], 'geo!33.0,1.0')
def test_isodistance_with_nonstandard_url(self, req_mock):