mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-15 10:57:58 +00:00
Initial implementation of GeoTIFF import functionality
This commit is contained in:
committed by
Sarah Hoffmann
parent
3381a92d92
commit
c85b74497b
@@ -40,6 +40,7 @@ class TestCliImportWithDb:
|
||||
mock_func_factory(nominatim.data.country_info, 'setup_country_tables'),
|
||||
mock_func_factory(nominatim.tools.database_import, 'import_osm_data'),
|
||||
mock_func_factory(nominatim.tools.refresh, 'import_wikipedia_articles'),
|
||||
mock_func_factory(nominatim.tools.refresh, 'import_osm_views_geotiff'),
|
||||
mock_func_factory(nominatim.tools.database_import, 'truncate_data_tables'),
|
||||
mock_func_factory(nominatim.tools.database_import, 'load_data'),
|
||||
mock_func_factory(nominatim.tools.database_import, 'create_tables'),
|
||||
|
||||
@@ -24,6 +24,7 @@ class TestRefresh:
|
||||
@pytest.mark.parametrize("command,func", [
|
||||
('address-levels', 'load_address_levels_from_config'),
|
||||
('wiki-data', 'import_wikipedia_articles'),
|
||||
('osm-views', 'import_osm_views_geotiff')
|
||||
('importance', 'recompute_importance'),
|
||||
('website', 'setup_website'),
|
||||
])
|
||||
@@ -71,15 +72,21 @@ class TestRefresh:
|
||||
|
||||
assert self.call_nominatim('refresh', '--wiki-data') == 1
|
||||
|
||||
def test_refresh_osm_views_geotiff_file_not_found(self, monkeypatch):
|
||||
monkeypatch.setenv('NOMINATIM_OSM_VIEWS_DATA_PATH', 'gjoiergjeroi345Q')
|
||||
|
||||
def test_refresh_importance_computed_after_wiki_import(self, monkeypatch):
|
||||
assert self.call_nominatim('refresh', '--osm-views') == 1
|
||||
|
||||
def test_refresh_importance_computed_after_wiki_and_osm_views_import(self, monkeypatch):
|
||||
calls = []
|
||||
monkeypatch.setattr(nominatim.tools.refresh, 'import_wikipedia_articles',
|
||||
lambda *args, **kwargs: calls.append('import') or 0)
|
||||
monkeypatch.setattr(nominatim.tools.refresh, 'import_osm_views_geotiff',
|
||||
lambda *args, **kwargs: calls.append('import') or 0)
|
||||
monkeypatch.setattr(nominatim.tools.refresh, 'recompute_importance',
|
||||
lambda *args, **kwargs: calls.append('update'))
|
||||
|
||||
assert self.call_nominatim('refresh', '--importance', '--wiki-data') == 0
|
||||
assert self.call_nominatim('refresh', '--importance', '--wiki-data', '--osm-views') == 0
|
||||
|
||||
assert calls == ['import', 'update']
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ NOMINATIM_DROP_TABLES = [
|
||||
'address_levels',
|
||||
'location_area', 'location_area_country', 'location_area_large_100',
|
||||
'location_road_1',
|
||||
'osmviews'
|
||||
'place', 'planet_osm_nodes', 'planet_osm_rels', 'planet_osm_ways',
|
||||
'search_name_111',
|
||||
'wikipedia_article', 'wikipedia_redirect'
|
||||
|
||||
@@ -17,6 +17,10 @@ def test_refresh_import_wikipedia_not_existing(dsn):
|
||||
assert refresh.import_wikipedia_articles(dsn, Path('.')) == 1
|
||||
|
||||
|
||||
def test_refresh_import_osm_views_geotiff_not_existing(dsn):
|
||||
assert refresh.import_osm_views_geotiff(dsn, Path('.')) == 1
|
||||
|
||||
|
||||
@pytest.mark.parametrize("replace", (True, False))
|
||||
def test_refresh_import_wikipedia(dsn, src_dir, table_factory, temp_db_cursor, replace):
|
||||
if replace:
|
||||
@@ -30,6 +34,17 @@ def test_refresh_import_wikipedia(dsn, src_dir, table_factory, temp_db_cursor, r
|
||||
assert temp_db_cursor.table_rows('wikipedia_redirect') > 0
|
||||
|
||||
|
||||
@pytest.mark.parametrize("replace", (True, False))
|
||||
def test_refresh_import_osm_views_geotiff(dsn, src_dir, table_factory, temp_db_cursor, replace):
|
||||
if replace:
|
||||
table_factory('osmviews')
|
||||
|
||||
# use the small osm views GeoTIFF file for the API testdb
|
||||
assert refresh.import_osm_views_geotiff(dsn, src_dir / 'test' / 'testdb') == 0
|
||||
|
||||
assert temp_db_cursor.table_rows('osmviews') > 0
|
||||
|
||||
|
||||
def test_recompute_importance(placex_table, table_factory, temp_db_conn, temp_db_cursor):
|
||||
temp_db_cursor.execute("""CREATE OR REPLACE FUNCTION compute_importance(extratags HSTORE,
|
||||
country_code varchar(2),
|
||||
|
||||
Reference in New Issue
Block a user