X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/f93d0fa95745c9f1e5b1126e8dd4b09a9daa32d2..109af0ef1c55421a166fd2d45586d04fe7f6f969:/test/python/test_tools_import_special_phrases.py?ds=sidebyside diff --git a/test/python/test_tools_import_special_phrases.py b/test/python/test_tools_import_special_phrases.py index b3c60029..7c3d0646 100644 --- a/test/python/test_tools_import_special_phrases.py +++ b/test/python/test_tools_import_special_phrases.py @@ -2,15 +2,12 @@ Tests for import special phrases methods of the class SPImporter. """ -from nominatim.errors import UsageError -from pathlib import Path -import tempfile from shutil import copyfile import pytest from nominatim.tools.special_phrases.sp_importer import SPImporter from nominatim.tools.special_phrases.sp_wiki_loader import SPWikiLoader -from nominatim.tools.special_phrases.sp_csv_loader import SPCsvLoader from nominatim.tools.special_phrases.special_phrase import SpecialPhrase +from nominatim.errors import UsageError from cursor import CursorForTesting @@ -20,30 +17,12 @@ def testfile_dir(src_dir): @pytest.fixture -def sp_importer(temp_db_conn, def_config, temp_phplib_dir_with_migration): +def sp_importer(temp_db_conn, def_config): """ Return an instance of SPImporter. """ loader = SPWikiLoader(def_config, ['en']) - return SPImporter(def_config, temp_phplib_dir_with_migration, temp_db_conn, loader) - - -@pytest.fixture -def temp_phplib_dir_with_migration(src_dir, tmp_path): - """ - Return temporary phpdir with migration subdirectory and - PhraseSettingsToJson.php script inside. - """ - migration_file = (src_dir / 'lib-php' / 'migration' / 'PhraseSettingsToJson.php').resolve() - - phpdir = tmp_path / 'tempphp' - phpdir.mkdir() - - (phpdir / 'migration').mkdir() - migration_dest_path = (phpdir / 'migration' / 'PhraseSettingsToJson.php').resolve() - copyfile(str(migration_file), str(migration_dest_path)) - - return phpdir + return SPImporter(def_config, temp_db_conn, loader) @pytest.fixture @@ -51,8 +30,8 @@ def xml_wiki_content(src_dir): """ return the content of the static xml test file. """ - xml_test_content_path = (src_dir / 'test' / 'testdata' / 'special_phrases_test_content.txt').resolve() - return xml_test_content_path.read_text() + xml_test_content = src_dir / 'test' / 'testdata' / 'special_phrases_test_content.txt' + return xml_test_content.read_text() @pytest.fixture @@ -93,50 +72,6 @@ def test_load_white_and_black_lists(sp_importer): assert isinstance(black_list, dict) and isinstance(white_list, dict) -def test_convert_php_settings(sp_importer, testfile_dir): - """ - Test that _convert_php_settings_if_needed() convert the given - php file to a json file. - """ - php_file = (testfile_dir / 'phrase_settings.php').resolve() - - with tempfile.TemporaryDirectory() as temp_dir: - temp_settings = (Path(temp_dir) / 'phrase_settings.php').resolve() - copyfile(php_file, temp_settings) - sp_importer._convert_php_settings_if_needed(temp_settings) - - assert (Path(temp_dir) / 'phrase_settings.json').is_file() - -def test_convert_settings_wrong_file(sp_importer): - """ - Test that _convert_php_settings_if_needed() raise an exception - if the given file is not a valid file. - """ - with pytest.raises(UsageError, match='random_file is not a valid file.'): - sp_importer._convert_php_settings_if_needed('random_file') - -def test_convert_settings_json_already_exist(sp_importer, testfile_dir): - """ - Test that if we give to '_convert_php_settings_if_needed' a php file path - and that a the corresponding json file already exists, it is returned. - """ - php_file = (testfile_dir / 'phrase_settings.php').resolve() - json_file = (testfile_dir / 'phrase_settings.json').resolve() - - returned = sp_importer._convert_php_settings_if_needed(php_file) - - assert returned == json_file - -def test_convert_settings_giving_json(sp_importer, testfile_dir): - """ - Test that if we give to '_convert_php_settings_if_needed' a json file path - the same path is directly returned - """ - json_file = (testfile_dir / 'phrase_settings.json').resolve() - - returned = sp_importer._convert_php_settings_if_needed(json_file) - - assert returned == json_file def test_create_place_classtype_indexes(temp_db_with_extensions, temp_db_conn, table_factory, sp_importer):