X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/a2b486a5b0797430b0f99caf1d183212ad815db5..ca782e2f20164269e8566c511807b6931485d530:/test/bdd/steps/steps_osm_data.py diff --git a/test/bdd/steps/steps_osm_data.py b/test/bdd/steps/steps_osm_data.py index 6471d76d..336fb707 100644 --- a/test/bdd/steps/steps_osm_data.py +++ b/test/bdd/steps/steps_osm_data.py @@ -10,6 +10,7 @@ import os from pathlib import Path from nominatim.tools.exec_utils import run_osm2pgsql +from nominatim.tools.replication import run_osm2pgsql_updates from geometry_alias import ALIASES @@ -17,7 +18,8 @@ def get_osm2pgsql_options(nominatim_env, fname, append): return dict(import_file=fname, osm2pgsql=str(nominatim_env.build_dir / 'osm2pgsql' / 'osm2pgsql'), osm2pgsql_cache=50, - osm2pgsql_style=str(nominatim_env.src_dir / 'settings' / 'import-extratags.style'), + osm2pgsql_style=str(nominatim_env.get_test_config().get_import_style_file()), + osm2pgsql_style_path=nominatim_env.get_test_config().config_dir, threads=1, dsn=nominatim_env.get_libpq_dsn(), flatnode_file='', @@ -47,9 +49,14 @@ def write_opl_file(opl, grid): return fd.name -@given(u'the scene (?P.+)') -def set_default_scene(context, scene): - context.scene = scene +@given('the lua style file') +def lua_style_file(context): + """ Define a custom style file to use for the import. + """ + style = Path(context.nominatim.website_dir.name) / 'custom.lua' + style.write_text(context.text) + context.nominatim.test_env['NOMINATIM_IMPORT_STYLE'] = str(style) + @given(u'the ([0-9.]+ )?grid(?: with origin (?P.*))?') def define_node_grid(context, grid_step, origin): @@ -69,7 +76,7 @@ def define_node_grid(context, grid_step, origin): coords = origin.split(',') if len(coords) != 2: raise RuntimeError('Grid origin expects orgin with x,y coordinates.') - origin(float(coords[0]), float(coords[1])) + origin = (float(coords[0]), float(coords[1])) elif origin in ALIASES: origin = ALIASES[origin] else: @@ -121,6 +128,15 @@ def update_from_osm_file(context): # create an OSM file and import it fname = write_opl_file(context.text, context.osm) try: - run_osm2pgsql(get_osm2pgsql_options(context.nominatim, fname, append=True)) + run_osm2pgsql_updates(context.db, + get_osm2pgsql_options(context.nominatim, fname, append=True)) finally: os.remove(fname) + +@when('indexing') +def index_database(context): + """ + Run the Nominatim indexing step. This will process data previously + loaded with 'updating osm data' + """ + context.nominatim.run_nominatim('index')