tests: always create the config file

There is also one database test that uses the API functions.
This commit is contained in:
Sarah Hoffmann 2020-12-19 17:55:46 +01:00
parent f62c65e9d9
commit 33b038ce6f

View File

@ -73,18 +73,28 @@ class NominatimEnvironment(object):
return fn return fn
def write_nominatim_config(self, dbname): def write_nominatim_config(self, dbname):
self.test_env = os.environ dsn = 'pgsql:dbname={}{}{}{}{}'.format(
self.test_env['NOMINATIM_DATABASE_DSN'] = 'pgsql:dbname={}{}{}{}{}'.format(
dbname, dbname,
(';host=' + self.db_host) if self.db_host else '', (';host=' + self.db_host) if self.db_host else '',
(';port=' + self.db_port) if self.db_port else '', (';port=' + self.db_port) if self.db_port else '',
(';user=' + self.db_user) if self.db_user else '', (';user=' + self.db_user) if self.db_user else '',
(';password=' + self.db_pass) if self.db_pass else '' (';password=' + self.db_pass) if self.db_pass else ''
) )
self.test_env = os.environ
self.test_env['NOMINATIM_DATABASE_DSN'] = dsn
self.test_env['NOMINATIM_FLATNODE_FILE'] = '' self.test_env['NOMINATIM_FLATNODE_FILE'] = ''
self.test_env['NOMINATIM_IMPORT_STYLE'] = 'full' self.test_env['NOMINATIM_IMPORT_STYLE'] = 'full'
self.test_env['NOMINATIM_USE_US_TIGER_DATA'] = 'yes' self.test_env['NOMINATIM_USE_US_TIGER_DATA'] = 'yes'
f = open(self.local_settings_file, 'w')
# https://secure.php.net/manual/en/ref.pdo-pgsql.connection.php
f.write("<?php\n @define('CONST_Database_DSN', '{}');\n".format(dsn))
f.write("@define('CONST_Osm2pgsql_Flatnode_File', null);\n")
f.write("@define('CONST_Import_Style', CONST_DataDir.'/settings/import-full.style');\n")
f.write("@define('CONST_Use_US_Tiger_Data', true);\n")
f.close()
def cleanup(self): def cleanup(self):
try: try:
os.remove(self.local_settings_file) os.remove(self.local_settings_file)
@ -151,19 +161,7 @@ class NominatimEnvironment(object):
def setup_api_db(self, context): def setup_api_db(self, context):
f = open(self.local_settings_file, 'w') self.write_nominatim_config(self.api_test_db)
# https://secure.php.net/manual/en/ref.pdo-pgsql.connection.php
f.write("<?php\n @define('CONST_Database_DSN', 'pgsql:dbname=%s%s%s%s%s');\n" %
(self.api_test_db,
(';host=' + self.db_host) if self.db_host else '',
(';port=' + self.db_port) if self.db_port else '',
(';user=' + self.db_user) if self.db_user else '',
(';password=' + self.db_pass) if self.db_pass else ''
))
f.write("@define('CONST_Osm2pgsql_Flatnode_File', null);\n")
f.write("@define('CONST_Import_Style', CONST_DataDir.'/settings/import-full.style');\n")
f.write("@define('CONST_Use_US_Tiger_Data', true);\n")
f.close()
def setup_unknown_db(self, context): def setup_unknown_db(self, context):
self.write_nominatim_config('UNKNOWN_DATABASE_NAME') self.write_nominatim_config('UNKNOWN_DATABASE_NAME')