From b4fa0dd4fc6f91b3b1b038e9447bd8eaf59cc397 Mon Sep 17 00:00:00 2001 From: Mario de Frutos Date: Thu, 26 Jan 2017 17:46:36 +0100 Subject: [PATCH] Added integration tests for the new DO functions --- .../test_data_observatory_functions.py | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/test/integration/test_data_observatory_functions.py b/test/integration/test_data_observatory_functions.py index 0461f7b..5224269 100644 --- a/test/integration/test_data_observatory_functions.py +++ b/test/integration/test_data_observatory_functions.py @@ -290,3 +290,35 @@ class TestDataObservatoryFunctions(TestCase): IntegrationTestHelper.execute_query(self.sql_api_url, query) except Exception as e: assert_equal(e.message[0], "The api_key must be provided") + + def test_if_obs_get_meta_is_ok(self): + query = "SELECT obs_getmeta(ST_SetSRID(ST_Point(-73.9, 40.7), 4326), '[{\"numer_id\": \"us.census.acs.B01003001\"}]', 1, 1, 1000) as metadata LIMIT 1;&api_key={0}".format(self.env_variables['api_key']) + result = IntegrationTestHelper.execute_query(self.sql_api_url, query) + assert_not_equal(result['metadata'], None) + + def test_if_obs_get_meta_without_api_key_raise_error(self): + query = "SELECT obs_getmeta(ST_SetSRID(ST_Point(-73.9, 40.7), 4326), '[{\"numer_id\": \"us.census.acs.B01003001\"}]', 1, 1, 1000) LIMIT 1;" + try: + IntegrationTestHelper.execute_query(self.sql_api_url, query) + except Exception as e: + assert_equal(e.message[0], "The api_key must be provided") + + def test_if_obs_get_data_is_ok(self): + query_1 = "SELECT id as data_id FROM obs_getdata(ARRAY['36047'], obs_getmeta(st_setsrid(st_point(-73.9, 40.7), 4326), '[{\"numer_id\": \"us.census.acs.B01003001\", \"geom_id\": \"us.census.tiger.county\"}]', 1, 1, 1000)) LIMIT 1;&api_key={0}".format(self.env_variables['api_key']) + query_2 = "SELECT id as data_id FROM obs_getdata(ARRAY[(ST_SetSRID(ST_Point(-73.9, 40.7), 4326), 1)::geomval], obs_getmeta(st_setsrid(st_point(-73.9, 40.7), 4326), '[{\"numer_id\": \"us.census.acs.B01003001\"}]')) LIMIT 1;&api_key={0}".format(self.env_variables['api_key']) + result_1 = IntegrationTestHelper.execute_query(self.sql_api_url, query_1) + assert_not_equal(result_1['data_id'], None) + result_2 = IntegrationTestHelper.execute_query(self.sql_api_url, query_2) + assert_not_equal(result_2['data_id'], None) + + def test_if_obs_get_data_without_api_key_raise_error(self): + query_1 = "SELECT id FROM obs_getdata(ARRAY['36047'], obs_getmeta(st_setsrid(st_point(-73.9, 40.7), 4326), '[{\"numer_id\": \"us.census.acs.B01003001\", \"geom_id\": \"us.census.tiger.county\"}]', 1, 1, 1000))" + query_2 = "SELECT id FROM obs_getdata(ARRAY[(ST_SetSRID(ST_Point(-73.9, 40.7), 4326), 1)::geomval], obs_getmeta(st_setsrid(st_point(-73.9, 40.7), 4326), '[{\"numer_id\": \"us.census.acs.B01003001\"}]'));" + try: + IntegrationTestHelper.execute_query(self.sql_api_url, query_1) + except Exception as e: + assert_equal(e.message[0], "The api_key must be provided") + try: + IntegrationTestHelper.execute_query(self.sql_api_url, query_2) + except Exception as e: + assert_equal(e.message[0], "The api_key must be provided")