]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/python/test_db_sql_preprocessor.py
better error reporting when API script does not exist
[nominatim.git] / test / python / test_db_sql_preprocessor.py
index 6a254ef3b8e6943342168349dc04aa43598af80e..2ca0c66112e8b8f094a2045e681cb3fa6bc10eae 100644 (file)
@@ -1,10 +1,10 @@
 """
 Tests for SQL preprocessing.
 """
-from pathlib import Path
-
 import pytest
 
+from nominatim.db.sql_preprocessor import SQLPreprocessor
+
 @pytest.fixture
 def sql_factory(tmp_path):
     def _mk_sql(sql_body):
@@ -24,11 +24,20 @@ def sql_factory(tmp_path):
     ("'{{db.partitions|join}}'", '012'),
     ("{% if 'country_name' in db.tables %}'yes'{% else %}'no'{% endif %}", "yes"),
     ("{% if 'xxx' in db.tables %}'yes'{% else %}'no'{% endif %}", "no"),
+    ("'{{db.tablespace.address_data}}'", ""),
+    ("'{{db.tablespace.search_data}}'", 'TABLESPACE "dsearch"'),
+    ("'{{db.tablespace.address_index}}'", 'TABLESPACE "iaddress"'),
+    ("'{{db.tablespace.aux_data}}'", 'TABLESPACE "daux"')
     ])
-def test_load_file_simple(sql_preprocessor, sql_factory, temp_db_conn, temp_db_cursor, expr, ret):
+def test_load_file_simple(sql_preprocessor_cfg, sql_factory,
+                          temp_db_conn, temp_db_cursor, monkeypatch,
+                          expr, ret):
+    monkeypatch.setenv('NOMINATIM_TABLESPACE_SEARCH_DATA', 'dsearch')
+    monkeypatch.setenv('NOMINATIM_TABLESPACE_ADDRESS_INDEX', 'iaddress')
+    monkeypatch.setenv('NOMINATIM_TABLESPACE_AUX_DATA', 'daux')
     sqlfile = sql_factory("RETURN {};".format(expr))
 
-    sql_preprocessor.run_sql_file(temp_db_conn, sqlfile)
+    SQLPreprocessor(temp_db_conn, sql_preprocessor_cfg).run_sql_file(temp_db_conn, sqlfile)
 
     assert temp_db_cursor.scalar('SELECT test()') == ret