]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/python/config/test_config.py
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / test / python / config / test_config.py
index 69ad01accaf91feb65e8d215f7175b909fd4959f..8f90b5da16e3fb266f675612b6432762fe6355d5 100644 (file)
@@ -1,30 +1,36 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of Nominatim. (https://nominatim.org)
+#
+# Copyright (C) 2024 by the Nominatim developer community.
+# For a full list of authors see the git log.
 """
 Test for loading dotenv configuration.
 """
 from pathlib import Path
 import pytest
 
-from nominatim.config import Configuration, flatten_config_list
-from nominatim.errors import UsageError
+from nominatim_db.config import Configuration, flatten_config_list
+from nominatim_db.errors import UsageError
 
 @pytest.fixture
-def make_config(src_dir):
+def make_config():
     """ Create a configuration object from the given project directory.
     """
     def _mk_config(project_dir=None):
-        return Configuration(project_dir, src_dir / 'settings')
+        return Configuration(project_dir)
 
     return _mk_config
 
 @pytest.fixture
-def make_config_path(src_dir, tmp_path):
+def make_config_path(tmp_path):
     """ Create a configuration object with project and config directories
         in a temporary directory.
     """
     def _mk_config():
         (tmp_path / 'project').mkdir()
         (tmp_path / 'config').mkdir()
-        conf = Configuration(tmp_path / 'project', src_dir / 'settings')
+        conf = Configuration(tmp_path / 'project')
         conf.config_dir = tmp_path / 'config'
         return conf
 
@@ -134,8 +140,8 @@ def test_get_bool(make_config, monkeypatch, value, result):
 def test_get_bool_empty(make_config):
     config = make_config()
 
-    assert config.DATABASE_MODULE_PATH == ''
-    assert not config.get_bool('DATABASE_MODULE_PATH')
+    assert config.TOKENIZER_CONFIG == ''
+    assert not config.get_bool('TOKENIZER_CONFIG')
 
 
 @pytest.mark.parametrize("value,result", [('0', 0), ('1', 1),
@@ -161,17 +167,34 @@ def test_get_int_bad_values(make_config, monkeypatch, value):
 def test_get_int_empty(make_config):
     config = make_config()
 
-    assert config.DATABASE_MODULE_PATH == ''
+    assert config.TOKENIZER_CONFIG == ''
 
     with pytest.raises(UsageError):
-        config.get_int('DATABASE_MODULE_PATH')
+        config.get_int('TOKENIZER_CONFIG')
+
+
+@pytest.mark.parametrize("value,outlist", [('sd', ['sd']),
+                                           ('dd,rr', ['dd', 'rr']),
+                                           (' a , b ', ['a', 'b'])])
+def test_get_str_list_success(make_config, monkeypatch, value, outlist):
+    config = make_config()
+
+    monkeypatch.setenv('NOMINATIM_MYLIST', value)
+
+    assert config.get_str_list('MYLIST') == outlist
+
+
+def test_get_str_list_empty(make_config):
+    config = make_config()
+
+    assert config.get_str_list('LANGUAGES') is None
 
 
 def test_get_path_empty(make_config):
     config = make_config()
 
-    assert config.DATABASE_MODULE_PATH == ''
-    assert not config.get_path('DATABASE_MODULE_PATH')
+    assert config.TOKENIZER_CONFIG == ''
+    assert not config.get_path('TOKENIZER_CONFIG')
 
 
 def test_get_path_absolute(make_config, monkeypatch):
@@ -199,7 +222,7 @@ def test_get_import_style_intern(make_config, src_dir, monkeypatch):
 
     monkeypatch.setenv('NOMINATIM_IMPORT_STYLE', 'street')
 
-    expected = src_dir / 'settings' / 'import-street.style'
+    expected = src_dir / 'settings' / 'import-street.lua'
 
     assert config.get_import_style_file() == expected