import psycopg2
import psycopg2.extras
import pytest
+import tempfile
SRC_DIR = Path(__file__) / '..' / '..' / '..'
from nominatim.config import Configuration
from nominatim.db import connection
+from nominatim.db.sql_preprocessor import SQLPreprocessor
class _TestingCursor(psycopg2.extras.DictCursor):
""" Extension to the DictCursor class that provides execution
def src_dir():
return SRC_DIR.resolve()
+@pytest.fixture
+def tmp_phplib_dir():
+ with tempfile.TemporaryDirectory() as phpdir:
+ (Path(phpdir) / 'admin').mkdir()
+
+ yield Path(phpdir)
+
@pytest.fixture
def status_table(temp_db_conn):
""" Create an empty version of the status table and
flatnode_file='',
tablespaces=dict(slim_data='', slim_index='',
main_data='', main_index=''))
+
+@pytest.fixture
+def sql_preprocessor(temp_db_conn, tmp_path, def_config, monkeypatch, table_factory):
+ monkeypatch.setenv('NOMINATIM_DATABASE_MODULE_PATH', '.')
+ table_factory('country_name', 'partition INT', (0, 1, 2))
+ return SQLPreprocessor(temp_db_conn, def_config, tmp_path)