]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/python/conftest.py
simplify token precomputation
[nominatim.git] / test / python / conftest.py
index 4b7cccc39f09992b73c48d348ebd150a4942d8b9..4b9749c01f4c2f2d9159f30fc53961107705ce90 100644 (file)
@@ -5,6 +5,7 @@ from pathlib import Path
 import psycopg2
 import psycopg2.extras
 import pytest
 import psycopg2
 import psycopg2.extras
 import pytest
+import tempfile
 
 SRC_DIR = Path(__file__) / '..' / '..' / '..'
 
 
 SRC_DIR = Path(__file__) / '..' / '..' / '..'
 
@@ -32,8 +33,6 @@ class _TestingCursor(psycopg2.extras.DictCursor):
         """ Execute a query and return the result as a set of tuples.
         """
         self.execute(sql, params)
         """ Execute a query and return the result as a set of tuples.
         """
         self.execute(sql, params)
-        if self.rowcount == 1:
-            return set(tuple(self.fetchone()))
 
         return set((tuple(row) for row in self))
 
 
         return set((tuple(row) for row in self))
 
@@ -127,12 +126,24 @@ def table_factory(temp_db_cursor):
 
 @pytest.fixture
 def def_config():
 
 @pytest.fixture
 def def_config():
-    return Configuration(None, SRC_DIR.resolve() / 'settings')
+    cfg = Configuration(None, SRC_DIR.resolve() / 'settings')
+    cfg.set_libdirs(module='.', osm2pgsql='.',
+                    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()
 
 
 @pytest.fixture
 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
 @pytest.fixture
 def status_table(temp_db_conn):
     """ Create an empty version of the status table and
@@ -269,7 +280,11 @@ def osm2pgsql_options(temp_db):
                                  main_data='', main_index=''))
 
 @pytest.fixture
                                  main_data='', main_index=''))
 
 @pytest.fixture
-def sql_preprocessor(temp_db_conn, tmp_path, def_config, monkeypatch, table_factory):
+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))
     monkeypatch.setenv('NOMINATIM_DATABASE_MODULE_PATH', '.')
     table_factory('country_name', 'partition INT', (0, 1, 2))
-    return SQLPreprocessor(temp_db_conn, def_config, tmp_path)
+    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)