X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/6f6910101e495cb7dbda2a295645f6174fce6a54..0da481f207b1aabc5943ea4ab99914d9b1f50b82:/test/python/conftest.py?ds=inline diff --git a/test/python/conftest.py b/test/python/conftest.py index 4b9749c0..f43f09d0 100644 --- a/test/python/conftest.py +++ b/test/python/conftest.py @@ -1,3 +1,4 @@ +import importlib import itertools import sys from pathlib import Path @@ -15,6 +16,9 @@ sys.path.insert(0, str(SRC_DIR.resolve())) from nominatim.config import Configuration from nominatim.db import connection from nominatim.db.sql_preprocessor import SQLPreprocessor +from nominatim.db import properties + +import dummy_tokenizer class _TestingCursor(psycopg2.extras.DictCursor): """ Extension to the DictCursor class that provides execution @@ -144,6 +148,11 @@ def tmp_phplib_dir(): yield Path(phpdir) + +@pytest.fixture +def property_table(table_factory): + table_factory('nominatim_properties', 'property TEXT, value TEXT') + @pytest.fixture def status_table(temp_db_conn): """ Create an empty version of the status table and @@ -281,10 +290,23 @@ def osm2pgsql_options(temp_db): @pytest.fixture def sql_preprocessor(temp_db_conn, tmp_path, monkeypatch, table_factory): - monkeypatch.setenv('NOMINATIM_DATABASE_MODULE_PATH', '.') table_factory('country_name', 'partition INT', (0, 1, 2)) cfg = Configuration(None, SRC_DIR.resolve() / 'settings') cfg.set_libdirs(module='.', osm2pgsql='.', php=SRC_DIR / 'lib-php', sql=tmp_path, data=SRC_DIR / 'data') return SQLPreprocessor(temp_db_conn, cfg) + + +@pytest.fixture +def tokenizer_mock(monkeypatch, property_table, temp_db_conn, dsn): + """ Sets up the configuration so that the test dummy tokenizer will be + loaded. + """ + monkeypatch.setenv('NOMINATIM_TOKENIZER', 'dummy') + + def _import_dummy(module, *args, **kwargs): + return dummy_tokenizer + + monkeypatch.setattr(importlib, "import_module", _import_dummy) + properties.set_property(temp_db_conn, 'tokenizer', 'dummy')