]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/python/api/conftest.py
allow None and str for project_dir in NominatimAPI init
[nominatim.git] / test / python / api / conftest.py
index 05eaddf5fc0f182cfc501504e48b8865fdb9af95..3ca0720b4da24f76a76b0f30e3084af5e87d2802 100644 (file)
@@ -1,29 +1,29 @@
-# SPDX-License-Identifier: GPL-2.0-only
+# SPDX-License-Identifier: GPL-3.0-or-later
 #
 # This file is part of Nominatim. (https://nominatim.org)
 #
-# Copyright (C) 2023 by the Nominatim developer community.
+# Copyright (C) 2024 by the Nominatim developer community.
 # For a full list of authors see the git log.
 """
 Helper fixtures for API call tests.
 """
-from pathlib import Path
 import pytest
+import pytest_asyncio
 import time
 import datetime as dt
 
 import sqlalchemy as sa
 
-import nominatim.api as napi
-from nominatim.db.sql_preprocessor import SQLPreprocessor
-from nominatim.api.search.query_analyzer_factory import make_query_analyzer
-from nominatim.tools import convert_sqlite
-import nominatim.api.logging as loglib
+import nominatim_api as napi
+from nominatim_db.db.sql_preprocessor import SQLPreprocessor
+from nominatim_api.search.query_analyzer_factory import make_query_analyzer
+from nominatim_db.tools import convert_sqlite
+import nominatim_api.logging as loglib
 
 class APITester:
 
     def __init__(self):
-        self.api = napi.NominatimAPI(Path('/invalid'))
+        self.api = napi.NominatimAPI()
         self.async_to_sync(self.api._async_api.setup_database())
 
 
@@ -228,11 +228,9 @@ def frontend(request, event_loop, tmp_path):
 
             apiobj.async_to_sync(_do_sql())
 
-            event_loop.run_until_complete(convert_sqlite.convert(Path('/invalid'),
-                                                                 db, options))
-            outapi = napi.NominatimAPI(Path('/invalid'),
-                                       {'NOMINATIM_DATABASE_DSN': f"sqlite:dbname={db}",
-                                        'NOMINATIM_USE_US_TIGER_DATA': 'yes'})
+            event_loop.run_until_complete(convert_sqlite.convert(None, db, options))
+            outapi = napi.NominatimAPI(environ={'NOMINATIM_DATABASE_DSN': f"sqlite:dbname={db}",
+                                                'NOMINATIM_USE_US_TIGER_DATA': 'yes'})
             testapis.append(outapi)
 
             return outapi
@@ -244,3 +242,9 @@ def frontend(request, event_loop, tmp_path):
 
     for api in testapis:
         api.close()
+
+
+@pytest_asyncio.fixture
+async def api(temp_db):
+    async with napi.NominatimAPIAsync() as api:
+        yield api