@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'),
])
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