]> git.openstreetmap.org Git - nominatim.git/commitdiff
restrict use of os.environ in Configuration
authorSarah Hoffmann <lonvia@denofr.de>
Sun, 1 Sep 2024 14:17:30 +0000 (16:17 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Sun, 1 Sep 2024 14:17:30 +0000 (16:17 +0200)
Only use the OS environment, when the environ parameter is set
to None. Currently it would use the OS env on an empty dict.

src/nominatim_db/config.py
test/python/api/search/test_icu_query_analyzer.py
test/python/api/search/test_legacy_query_analyzer.py
test/python/api/test_api_status.py

index 2cab02377593a6ce71286199105faf49e12732ff..357cc9d7175caf5e0aa4f71fc804a75bb48e2d25 100644 (file)
@@ -61,7 +61,7 @@ class Configuration:
 
     def __init__(self, project_dir: Optional[Union[Path, str]],
                  environ: Optional[Mapping[str, str]] = None) -> None:
 
     def __init__(self, project_dir: Optional[Union[Path, str]],
                  environ: Optional[Mapping[str, str]] = None) -> None:
-        self.environ = environ or os.environ
+        self.environ = os.environ if environ is None else environ
         self.config_dir = paths.CONFIG_DIR
         self._config = dotenv_values(str(self.config_dir / 'env.defaults'))
         if project_dir is not None:
         self.config_dir = paths.CONFIG_DIR
         self._config = dotenv_values(str(self.config_dir / 'env.defaults'))
         if project_dir is not None:
index 473bc149de1fbf16959b64f7d2f4dd1b1c226a6e..ac4bcbb74ba4dcd21739b5096386fc8654654be6 100644 (file)
@@ -38,7 +38,7 @@ async def conn(table_factory):
     table_factory('word',
                   definition='word_id INT, word_token TEXT, type TEXT, word TEXT, info JSONB')
 
     table_factory('word',
                   definition='word_id INT, word_token TEXT, type TEXT, word TEXT, info JSONB')
 
-    async with NominatimAPIAsync(environ={}) as api:
+    async with NominatimAPIAsync() as api:
         async with api.begin() as conn:
             yield conn
 
         async with api.begin() as conn:
             yield conn
 
index a99485ead17c95071ec7a280611b96c1bfbe2bf8..7a4d41d3758fcbf578f0ef1a28b9c04e45637695 100644 (file)
@@ -72,7 +72,7 @@ async def conn(table_factory, temp_db_cursor):
     temp_db_cursor.execute("""CREATE OR REPLACE FUNCTION make_standard_name(name TEXT)
                               RETURNS TEXT AS $$ SELECT lower(name); $$ LANGUAGE SQL;""")
 
     temp_db_cursor.execute("""CREATE OR REPLACE FUNCTION make_standard_name(name TEXT)
                               RETURNS TEXT AS $$ SELECT lower(name); $$ LANGUAGE SQL;""")
 
-    async with NominatimAPIAsync(environ={}) as api:
+    async with NominatimAPIAsync() as api:
         async with api.begin() as conn:
             yield conn
 
         async with api.begin() as conn:
             yield conn
 
index 29eb34d0c9a8b82a7ab6d66e92b5199e7d3c7569..9341b52774f5cfe5c0170dff72e743e1a4be1685 100644 (file)
@@ -45,7 +45,7 @@ def test_status_full(apiobj, frontend):
 def test_status_database_not_found(monkeypatch):
     monkeypatch.setenv('NOMINATIM_DATABASE_DSN', 'dbname=rgjdfkgjedkrgdfkngdfkg')
 
 def test_status_database_not_found(monkeypatch):
     monkeypatch.setenv('NOMINATIM_DATABASE_DSN', 'dbname=rgjdfkgjedkrgdfkngdfkg')
 
-    api = napi.NominatimAPI(environ={})
+    api = napi.NominatimAPI()
 
     result = api.status()
 
 
     result = api.status()