Added schema option to define in the integration tests
This commit is contained in:
parent
352d4217bc
commit
22fdbd0f4e
@ -9,11 +9,11 @@ import time
|
|||||||
class ImportHelper:
|
class ImportHelper:
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def import_test_dataset(cls, username, api_key, host):
|
def import_test_dataset(cls, username, api_key, host, schema):
|
||||||
requests.packages.urllib3.disable_warnings()
|
requests.packages.urllib3.disable_warnings()
|
||||||
url = "https://{0}.{1}/api/v1/imports/"\
|
url = "{0}://{1}.{2}/api/v1/imports/"\
|
||||||
"?type_guessing=false&privacy=public&api_key={2}".format(
|
"?type_guessing=false&privacy=public&api_key={3}".format(
|
||||||
username, host, api_key)
|
schema, username, host, api_key)
|
||||||
dataset = {
|
dataset = {
|
||||||
'file': open('fixtures/geocoder_api_test_dataset.csv', 'rb')}
|
'file': open('fixtures/geocoder_api_test_dataset.csv', 'rb')}
|
||||||
response = requests.post(url, files=dataset)
|
response = requests.post(url, files=dataset)
|
||||||
@ -27,7 +27,8 @@ class ImportHelper:
|
|||||||
username,
|
username,
|
||||||
host,
|
host,
|
||||||
api_key,
|
api_key,
|
||||||
response_json['item_queue_id']
|
response_json['item_queue_id'],
|
||||||
|
schema
|
||||||
)
|
)
|
||||||
if table_name:
|
if table_name:
|
||||||
return table_name
|
return table_name
|
||||||
@ -35,10 +36,10 @@ class ImportHelper:
|
|||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_imported_table_name(cls, username, host, api_key, import_id):
|
def get_imported_table_name(cls, username, host, api_key, import_id, schema):
|
||||||
requests.packages.urllib3.disable_warnings()
|
requests.packages.urllib3.disable_warnings()
|
||||||
import_url = "https://{0}.{1}/api/v1/imports/{2}?api_key={3}".format(
|
import_url = "{0}://{1}.{2}/api/v1/imports/{3}?api_key={4}".format(
|
||||||
username, host, import_id, api_key)
|
schema, username, host, import_id, api_key)
|
||||||
import_data_response = requests.get(import_url)
|
import_data_response = requests.get(import_url)
|
||||||
if import_data_response.status_code != 200:
|
if import_data_response.status_code != 200:
|
||||||
print "Error getting the table name from " \
|
print "Error getting the table name from " \
|
||||||
@ -49,10 +50,10 @@ class ImportHelper:
|
|||||||
return import_data_json['table_name']
|
return import_data_json['table_name']
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def clean_test_dataset(cls, username, api_key, table_name, host):
|
def clean_test_dataset(cls, username, api_key, table_name, host, schema):
|
||||||
requests.packages.urllib3.disable_warnings()
|
requests.packages.urllib3.disable_warnings()
|
||||||
url = "https://{0}.{1}/api/v2/sql?q=drop table {2}&api_key={3}".format(
|
url = "{0}://{1}.{2}/api/v2/sql?q=drop table {3}&api_key={4}".format(
|
||||||
username, host, table_name, api_key
|
schema, username, host, table_name, api_key
|
||||||
)
|
)
|
||||||
response = requests.get(url)
|
response = requests.get(url)
|
||||||
if response.status_code != 200:
|
if response.status_code != 200:
|
||||||
|
@ -10,11 +10,13 @@ class IntegrationTestHelper:
|
|||||||
username = os.environ["GEOCODER_API_TEST_USERNAME"]
|
username = os.environ["GEOCODER_API_TEST_USERNAME"]
|
||||||
api_key = os.environ["GEOCODER_API_TEST_API_KEY"]
|
api_key = os.environ["GEOCODER_API_TEST_API_KEY"]
|
||||||
host = os.environ["GEOCODER_API_TEST_HOST"]
|
host = os.environ["GEOCODER_API_TEST_HOST"]
|
||||||
|
schema = os.environ["GEOCODER_API_TEST_SCHEMA"]
|
||||||
table_name = os.environ["GEOCODER_API_TEST_TABLE_NAME"]
|
table_name = os.environ["GEOCODER_API_TEST_TABLE_NAME"]
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"username": username,
|
"username": username,
|
||||||
"api_key": api_key,
|
"api_key": api_key,
|
||||||
|
"schema": schema,
|
||||||
"host": host,
|
"host": host,
|
||||||
"table_name": table_name
|
"table_name": table_name
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,8 @@ class TestAdmin0Functions(TestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
||||||
self.sql_api_url = "https://{0}.{1}/api/v1/sql".format(
|
self.sql_api_url = "{0}://{1}.{2}/api/v1/sql".format(
|
||||||
|
self.env_variables['schema'],
|
||||||
self.env_variables['username'],
|
self.env_variables['username'],
|
||||||
self.env_variables['host'],
|
self.env_variables['host'],
|
||||||
self.env_variables['api_key']
|
self.env_variables['api_key']
|
||||||
|
@ -8,7 +8,8 @@ class TestAdmin1Functions(TestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
||||||
self.sql_api_url = "https://{0}.{1}/api/v1/sql".format(
|
self.sql_api_url = "{0}://{1}.{2}/api/v1/sql".format(
|
||||||
|
self.env_variables['schema'],
|
||||||
self.env_variables['username'],
|
self.env_variables['username'],
|
||||||
self.env_variables['host'],
|
self.env_variables['host'],
|
||||||
self.env_variables['api_key']
|
self.env_variables['api_key']
|
||||||
|
@ -8,7 +8,8 @@ class TestDataObservatoryFunctions(TestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
||||||
self.sql_api_url = "https://{0}.{1}/api/v1/sql".format(
|
self.sql_api_url = "{0}://{1}.{2}/api/v1/sql".format(
|
||||||
|
self.env_variables['schema'],
|
||||||
self.env_variables['username'],
|
self.env_variables['username'],
|
||||||
self.env_variables['host'],
|
self.env_variables['host'],
|
||||||
self.env_variables['api_key']
|
self.env_variables['api_key']
|
||||||
|
@ -8,7 +8,8 @@ class TestPostalcodeFunctions(TestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
||||||
self.sql_api_url = "https://{0}.{1}/api/v1/sql".format(
|
self.sql_api_url = "{0}://{1}.{2}/api/v1/sql".format(
|
||||||
|
self.env_variables['schema'],
|
||||||
self.env_variables['username'],
|
self.env_variables['username'],
|
||||||
self.env_variables['host'],
|
self.env_variables['host'],
|
||||||
self.env_variables['api_key']
|
self.env_variables['api_key']
|
||||||
|
@ -8,7 +8,8 @@ class TestIsolinesFunctions(TestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
||||||
self.sql_api_url = "https://{0}.{1}/api/v1/sql".format(
|
self.sql_api_url = "{0}://{1}.{2}/api/v1/sql".format(
|
||||||
|
self.env_variables['schema'],
|
||||||
self.env_variables['username'],
|
self.env_variables['username'],
|
||||||
self.env_variables['host'],
|
self.env_variables['host'],
|
||||||
self.env_variables['api_key']
|
self.env_variables['api_key']
|
||||||
|
@ -8,7 +8,8 @@ class TestNameplaceFunctions(TestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
||||||
self.sql_api_url = "https://{0}.{1}/api/v1/sql".format(
|
self.sql_api_url = "{0}://{1}.{2}/api/v1/sql".format(
|
||||||
|
self.env_variables['schema'],
|
||||||
self.env_variables['username'],
|
self.env_variables['username'],
|
||||||
self.env_variables['host'],
|
self.env_variables['host'],
|
||||||
self.env_variables['api_key']
|
self.env_variables['api_key']
|
||||||
|
@ -8,7 +8,8 @@ class TestPostalcodeFunctions(TestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
||||||
self.sql_api_url = "https://{0}.{1}/api/v1/sql".format(
|
self.sql_api_url = "{0}://{1}.{2}/api/v1/sql".format(
|
||||||
|
self.env_variables['schema'],
|
||||||
self.env_variables['username'],
|
self.env_variables['username'],
|
||||||
self.env_variables['host'],
|
self.env_variables['host'],
|
||||||
self.env_variables['api_key']
|
self.env_variables['api_key']
|
||||||
|
@ -8,7 +8,8 @@ class TestRoutingFunctions(TestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
||||||
self.sql_api_url = "https://{0}.{1}/api/v1/sql".format(
|
self.sql_api_url = "{0}://{1}.{2}/api/v1/sql".format(
|
||||||
|
self.env_variables['schema'],
|
||||||
self.env_variables['username'],
|
self.env_variables['username'],
|
||||||
self.env_variables['host'],
|
self.env_variables['host'],
|
||||||
self.env_variables['api_key']
|
self.env_variables['api_key']
|
||||||
|
@ -8,7 +8,8 @@ class TestStreetFunctions(TestCase):
|
|||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
self.env_variables = IntegrationTestHelper.get_environment_variables()
|
||||||
self.sql_api_url = "https://{0}.{1}/api/v1/sql".format(
|
self.sql_api_url = "{0}://{1}.{2}/api/v1/sql".format(
|
||||||
|
self.env_variables['schema'],
|
||||||
self.env_variables['username'],
|
self.env_variables['username'],
|
||||||
self.env_variables['host'],
|
self.env_variables['host'],
|
||||||
self.env_variables['api_key']
|
self.env_variables['api_key']
|
||||||
|
@ -8,12 +8,13 @@ from helpers.import_helper import ImportHelper
|
|||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
opts, args = getopt.getopt(sys.argv[1:], "h", ["help", "host="])
|
opts, args = getopt.getopt(sys.argv[1:], "h", ["help", "host=", "schema="])
|
||||||
|
|
||||||
if len(args) < 2:
|
if len(args) < 2:
|
||||||
usage()
|
usage()
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
|
schema = "https"
|
||||||
host = "cartodb.com"
|
host = "cartodb.com"
|
||||||
username = args[0]
|
username = args[0]
|
||||||
api_key = args[1]
|
api_key = args[1]
|
||||||
@ -24,26 +25,31 @@ def main():
|
|||||||
sys.exit()
|
sys.exit()
|
||||||
elif o in ("--host"):
|
elif o in ("--host"):
|
||||||
host = opts[0][1]
|
host = opts[0][1]
|
||||||
|
elif o in ("--schema"):
|
||||||
|
schema = opts[1][1]
|
||||||
else:
|
else:
|
||||||
assert False, "unhandled option"
|
assert False, "unhandled option"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
table_name = ImportHelper.import_test_dataset(username, api_key, host)
|
table_name = ImportHelper.import_test_dataset(username, api_key, host,
|
||||||
set_environment_variables(username, api_key, table_name, host)
|
schema)
|
||||||
|
set_environment_variables(username, api_key, table_name, host, schema)
|
||||||
execute_tests()
|
execute_tests()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print e.message
|
print e.message
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
finally:
|
finally:
|
||||||
clean_environment_variables()
|
clean_environment_variables()
|
||||||
ImportHelper.clean_test_dataset(username, api_key, table_name, host)
|
ImportHelper.clean_test_dataset(username, api_key, table_name, host,
|
||||||
|
schema)
|
||||||
|
|
||||||
|
|
||||||
def usage():
|
def usage():
|
||||||
print """Usage: run_tests.py [options] username api_key
|
print """Usage: run_tests.py [options] username api_key
|
||||||
Options:
|
Options:
|
||||||
-h: Show this help
|
-h: Show this help
|
||||||
--host: take that host as base (by default is cartodb.com)"""
|
--host: take that host as base (by default is cartodb.com)
|
||||||
|
--schema: define the url schema [http/https] (by default https)"""
|
||||||
|
|
||||||
|
|
||||||
def execute_tests():
|
def execute_tests():
|
||||||
@ -59,11 +65,12 @@ def execute_tests():
|
|||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
def set_environment_variables(username, api_key, table_name, host):
|
def set_environment_variables(username, api_key, table_name, host, schema):
|
||||||
os.environ["GEOCODER_API_TEST_USERNAME"] = username
|
os.environ["GEOCODER_API_TEST_USERNAME"] = username
|
||||||
os.environ["GEOCODER_API_TEST_API_KEY"] = api_key
|
os.environ["GEOCODER_API_TEST_API_KEY"] = api_key
|
||||||
os.environ["GEOCODER_API_TEST_TABLE_NAME"] = table_name
|
os.environ["GEOCODER_API_TEST_TABLE_NAME"] = table_name
|
||||||
os.environ["GEOCODER_API_TEST_HOST"] = host
|
os.environ["GEOCODER_API_TEST_HOST"] = host
|
||||||
|
os.environ["GEOCODER_API_TEST_SCHEMA"] = schema
|
||||||
|
|
||||||
|
|
||||||
def clean_environment_variables():
|
def clean_environment_variables():
|
||||||
@ -71,6 +78,7 @@ def clean_environment_variables():
|
|||||||
del os.environ["GEOCODER_API_TEST_API_KEY"]
|
del os.environ["GEOCODER_API_TEST_API_KEY"]
|
||||||
del os.environ["GEOCODER_API_TEST_TABLE_NAME"]
|
del os.environ["GEOCODER_API_TEST_TABLE_NAME"]
|
||||||
del os.environ["GEOCODER_API_TEST_HOST"]
|
del os.environ["GEOCODER_API_TEST_HOST"]
|
||||||
|
del os.environ["GEOCODER_API_TEST_SCHEMA"]
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
Loading…
Reference in New Issue
Block a user