+# SPDX-License-Identifier: GPL-2.0-only
+#
+# This file is part of Nominatim. (https://nominatim.org)
+#
+# Copyright (C) 2022 by the Nominatim developer community.
+# For a full list of authors see the git log.
import itertools
import sys
from pathlib import Path
import psycopg2
import pytest
-SRC_DIR = (Path(__file__) / '..' / '..' / '..').resolve()
-
# always test against the source
-sys.path.insert(0, str(SRC_DIR.resolve()))
+SRC_DIR = (Path(__file__) / '..' / '..' / '..').resolve()
+sys.path.insert(0, str(SRC_DIR))
from nominatim.config import Configuration
from nominatim.db import connection
from cursor import CursorForTesting
+@pytest.fixture
+def src_dir():
+ return SRC_DIR
+
+
@pytest.fixture
def temp_db(monkeypatch):
""" Create an empty database for the test. The database name is also
@pytest.fixture
-def def_config():
- cfg = Configuration(None, SRC_DIR.resolve() / 'settings')
+def def_config(src_dir):
+ cfg = Configuration(None, src_dir / 'settings')
cfg.set_libdirs(module='.', osm2pgsql='.',
- php=SRC_DIR / 'lib-php',
- sql=SRC_DIR / 'lib-sql',
- data=SRC_DIR / 'data')
+ php=src_dir / 'lib-php',
+ sql=src_dir / 'lib-sql',
+ data=src_dir / 'data')
return cfg
@pytest.fixture
-def src_dir():
- return SRC_DIR.resolve()
+def project_env(src_dir, tmp_path):
+ projdir = tmp_path / 'project'
+ projdir.mkdir()
+ cfg = Configuration(projdir, src_dir / 'settings')
+ cfg.set_libdirs(module='.', osm2pgsql='.',
+ php=src_dir / 'lib-php',
+ sql=src_dir / 'lib-sql',
+ data=src_dir / 'data')
+ return cfg
@pytest.fixture
country_code VARCHAR(2)""")
-@pytest.fixture
-def word_table(temp_db_conn):
- return mocks.MockWordTable(temp_db_conn)
-
-
@pytest.fixture
def sql_preprocessor_cfg(tmp_path, table_factory, temp_db_with_extensions):
table_factory('country_name', 'partition INT', ((0, ), (1, ), (2, )))