diff --git a/test/README.md b/test/README.md index d1e8028..1eb6229 100644 --- a/test/README.md +++ b/test/README.md @@ -18,3 +18,4 @@ This suite of tests test the following parts of the geocoding API through the SQ - Named places functions - Postal code functions - Ip address functions +- Street address functions (This will call Heremaps or Google so it will cost you 2 credits) diff --git a/test/fixtures/geocoder_api_test_dataset.csv b/test/fixtures/geocoder_api_test_dataset.csv index b27327b..072a95c 100644 --- a/test/fixtures/geocoder_api_test_dataset.csv +++ b/test/fixtures/geocoder_api_test_dataset.csv @@ -1,3 +1,3 @@ -id,country,province,city,postalcode,ip -1,Spain,Castilla y León,Valladolid,47010,8.8.8.8 -2,USA,New York,Manhattn,10001,8.8.8.8 \ No newline at end of file +id,country,province,city,postalcode,ip,street +1,Spain,Castilla y León,Valladolid,47010,8.8.8.8,Calle Amor de Dios +2,USA,New York,Manhattn,10001,8.8.8.8,NonExistentStreet diff --git a/test/integration/test_street_functions.py b/test/integration/test_street_functions.py new file mode 100644 index 0000000..5af715c --- /dev/null +++ b/test/integration/test_street_functions.py @@ -0,0 +1,32 @@ +from unittest import TestCase +from nose.tools import assert_raises +from nose.tools import assert_not_equal, assert_equal +from ..helpers.integration_test_helper import IntegrationTestHelper + + +class TestStreetFunctions(TestCase): + + def setUp(self): + self.env_variables = IntegrationTestHelper.get_environment_variables() + self.sql_api_url = "https://{0}.{1}/api/v2/sql".format( + self.env_variables['username'], + self.env_variables['host'], + self.env_variables['api_key'] + ) + + def test_if_select_with_street_point_is_ok(self): + query = "SELECT cdb_geocode_street_point_v2_(street) " \ + "as geometry FROM {0} LIMIT 1&api_key={1}".format( + self.env_variables['table_name'], + self.env_variables['api_key']) + geometry = IntegrationTestHelper.execute_query(self.sql_api_url, query) + assert_not_equal(geometry, None) + + def test_if_select_with_street_without_api_key_raise_error(self): + query = "SELECT cdb_geocode_street_point_v2_(street) " \ + "as geometry FROM {0} LIMIT 1".format( + self.env_variables['table_name']) + try: + IntegrationTestHelper.execute_query(self.sql_api_url, query) + except Exception as e: + assert_equal(e.message[0], "The api_key must be provided")