X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/f6ec8d2e33d99fb0497c89f8e423a0f1ea3dad7c..c85b74497b385a633ed3f487c77cc0736d5f7328:/test/python/cli/test_cmd_refresh.py diff --git a/test/python/cli/test_cmd_refresh.py b/test/python/cli/test_cmd_refresh.py index b6281c7a..ed3a68ba 100644 --- a/test/python/cli/test_cmd_refresh.py +++ b/test/python/cli/test_cmd_refresh.py @@ -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,14 +72,41 @@ 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'] + + @pytest.mark.parametrize('params', [('--data-object', 'w234'), + ('--data-object', 'N23', '--data-object', 'N24'), + ('--data-area', 'R7723'), + ('--data-area', 'r7723', '--data-area', 'r2'), + ('--data-area', 'R9284425', '--data-object', 'n1234567894567')]) + def test_refresh_objects(self, params, mock_func_factory): + func_mock = mock_func_factory(nominatim.tools.refresh, 'invalidate_osm_object') + + assert self.call_nominatim('refresh', *params) == 0 + + assert func_mock.called == len(params)/2 + + + @pytest.mark.parametrize('func', ('--data-object', '--data-area')) + @pytest.mark.parametrize('param', ('234', 'a55', 'R 453', 'Rel')) + def test_refresh_objects_bad_param(self, func, param, mock_func_factory): + func_mock = mock_func_factory(nominatim.tools.refresh, 'invalidate_osm_object') + + self.call_nominatim('refresh', func, param) == 1 + assert func_mock.called == 0