X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2613ebfa0143cdd1e3220577d48d9aa8341dbf38..828da6a4254db001c05e3e3c2074dd791e33d8a5:/test/bdd/environment.py diff --git a/test/bdd/environment.py b/test/bdd/environment.py index 2bea3180..f0658c33 100644 --- a/test/bdd/environment.py +++ b/test/bdd/environment.py @@ -14,10 +14,15 @@ userconfig = { 'BUILDDIR' : os.path.join(os.path.split(__file__)[0], "../../build"), 'REMOVE_TEMPLATE' : False, 'KEEP_TEST_DB' : False, + 'DB_HOST' : None, + 'DB_PORT' : None, + 'DB_USER' : None, + 'DB_PASS' : None, 'TEMPLATE_DB' : 'test_template_nominatim', 'TEST_DB' : 'test_nominatim', 'API_TEST_DB' : 'test_api_nominatim', 'TEST_SETTINGS_FILE' : '/tmp/nominatim_settings.php', + 'SERVER_MODULE_PATH' : None, 'PHPCOV' : False, # set to output directory to enable code coverage } @@ -30,9 +35,14 @@ class NominatimEnvironment(object): def __init__(self, config): self.build_dir = os.path.abspath(config['BUILDDIR']) self.src_dir = os.path.abspath(os.path.join(os.path.split(__file__)[0], "../..")) + self.db_host = config['DB_HOST'] + self.db_port = config['DB_PORT'] + self.db_user = config['DB_USER'] + self.db_pass = config['DB_PASS'] self.template_db = config['TEMPLATE_DB'] self.test_db = config['TEST_DB'] self.api_test_db = config['API_TEST_DB'] + self.server_module_path = config['SERVER_MODULE_PATH'] self.local_settings_file = config['TEST_SETTINGS_FILE'] self.reuse_template = not config['REMOVE_TEMPLATE'] self.keep_scenario_db = config['KEEP_TEST_DB'] @@ -42,6 +52,19 @@ class NominatimEnvironment(object): self.template_db_done = False + def connect_database(self, dbname): + dbargs = {'database': dbname} + if self.db_host: + dbargs['host'] = self.db_host + if self.db_port: + dbargs['port'] = self.db_port + if self.db_user: + dbargs['user'] = self.db_user + if self.db_pass: + dbargs['password'] = self.db_pass + conn = psycopg2.connect(**dbargs) + return conn + def next_code_coverage_file(self): fn = os.path.join(self.code_coverage_path, "%06d.cov" % self.code_coverage_id) self.code_coverage_id += 1 @@ -50,8 +73,16 @@ class NominatimEnvironment(object): def write_nominatim_config(self, dbname): f = open(self.local_settings_file, 'w') - f.write("