X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2bab0ca060ff224091b20a0ac808a3febaba04b1..4cc788f69e1191d2dd985aeac143597566529f24:/test/python/cli/test_cmd_refresh.py?ds=sidebyside diff --git a/test/python/cli/test_cmd_refresh.py b/test/python/cli/test_cmd_refresh.py index 01b1f6e0..8121946f 100644 --- a/test/python/cli/test_cmd_refresh.py +++ b/test/python/cli/test_cmd_refresh.py @@ -2,7 +2,7 @@ # # This file is part of Nominatim. (https://nominatim.org) # -# Copyright (C) 2024 by the Nominatim developer community. +# Copyright (C) 2025 by the Nominatim developer community. # For a full list of authors see the git log. """ Tests for command line interface wrapper for refresk command. @@ -13,6 +13,7 @@ import nominatim_db.tools.refresh import nominatim_db.tools.postcodes import nominatim_db.indexer.indexer + class TestRefresh: @pytest.fixture(autouse=True) @@ -20,12 +21,10 @@ class TestRefresh: self.call_nominatim = cli_call self.tokenizer_mock = cli_tokenizer_mock - @pytest.mark.parametrize("command,func", [ ('address-levels', 'load_address_levels_from_config'), ('wiki-data', 'import_wikipedia_articles'), ('importance', 'recompute_importance'), - ('website', 'setup_website'), ]) def test_refresh_command(self, mock_func_factory, command, func): mock_func_factory(nominatim_db.tools.refresh, 'create_functions') @@ -34,31 +33,26 @@ class TestRefresh: assert self.call_nominatim('refresh', '--' + command) == 0 assert func_mock.called == 1 - def test_refresh_word_count(self): assert self.call_nominatim('refresh', '--word-count') == 0 assert self.tokenizer_mock.update_statistics_called - def test_refresh_word_tokens(self): assert self.call_nominatim('refresh', '--word-tokens') == 0 assert self.tokenizer_mock.update_word_tokens_called - - def test_refresh_postcodes(self, mock_func_factory, place_table): + def test_refresh_postcodes(self, async_mock_func_factory, mock_func_factory, place_table): func_mock = mock_func_factory(nominatim_db.tools.postcodes, 'update_postcodes') - idx_mock = mock_func_factory(nominatim_db.indexer.indexer.Indexer, 'index_postcodes') + idx_mock = async_mock_func_factory(nominatim_db.indexer.indexer.Indexer, 'index_postcodes') assert self.call_nominatim('refresh', '--postcodes') == 0 assert func_mock.called == 1 assert idx_mock.called == 1 - def test_refresh_postcodes_no_place_table(self): # Do nothing without the place table assert self.call_nominatim('refresh', '--postcodes') == 0 - def test_refresh_create_functions(self, mock_func_factory): func_mock = mock_func_factory(nominatim_db.tools.refresh, 'create_functions') @@ -66,17 +60,14 @@ class TestRefresh: assert func_mock.called == 1 assert self.tokenizer_mock.update_sql_functions_called - def test_refresh_wikidata_file_not_found(self, monkeypatch): monkeypatch.setenv('NOMINATIM_WIKIPEDIA_DATA_PATH', 'gjoiergjeroi345Q') assert self.call_nominatim('refresh', '--wiki-data') == 1 - def test_refresh_secondary_importance_file_not_found(self): assert self.call_nominatim('refresh', '--secondary-importance') == 1 - def test_refresh_secondary_importance_new_table(self, mock_func_factory): mocks = [mock_func_factory(nominatim_db.tools.refresh, 'import_secondary_importance'), mock_func_factory(nominatim_db.tools.refresh, 'create_functions')] @@ -85,14 +76,13 @@ class TestRefresh: assert mocks[0].called == 1 assert mocks[1].called == 1 - def test_refresh_importance_computed_after_wiki_import(self, monkeypatch, mock_func_factory): calls = [] monkeypatch.setattr(nominatim_db.tools.refresh, 'import_wikipedia_articles', lambda *args, **kwargs: calls.append('import') or 0) monkeypatch.setattr(nominatim_db.tools.refresh, 'recompute_importance', lambda *args, **kwargs: calls.append('update')) - func_mock = mock_func_factory(nominatim.tools.refresh, 'create_functions') + func_mock = mock_func_factory(nominatim_db.tools.refresh, 'create_functions') assert self.call_nominatim('refresh', '--importance', '--wiki-data') == 0 @@ -103,7 +93,8 @@ class TestRefresh: ('--data-object', 'N23', '--data-object', 'N24'), ('--data-area', 'R7723'), ('--data-area', 'r7723', '--data-area', 'r2'), - ('--data-area', 'R9284425', '--data-object', 'n1234567894567')]) + ('--data-area', 'R9284425', + '--data-object', 'n1234567894567')]) def test_refresh_objects(self, params, mock_func_factory): func_mock = mock_func_factory(nominatim_db.tools.refresh, 'invalidate_osm_object') @@ -111,7 +102,6 @@ class TestRefresh: 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):