From f08078ccca8077b09f4b1cbb8991a4ecf7257cc4 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Fri, 19 Feb 2021 18:20:55 +0100 Subject: [PATCH] bdd tests: directly call python code for setup-website --- nominatim/config.py | 9 +++++---- test/bdd/steps/nominatim_environment.py | 4 +++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/nominatim/config.py b/nominatim/config.py index 4de2052e..564884f6 100644 --- a/nominatim/config.py +++ b/nominatim/config.py @@ -17,7 +17,7 @@ class Configuration: Nominatim uses dotenv to configure the software. Configuration options are resolved in the following order: - * from the OS environment + * from the OS environment (or the dirctionary given in `environ` * from the .env file in the project directory of the installation * from the default installation in the configuration directory @@ -25,7 +25,8 @@ class Configuration: avoid conflicts with other environment variables. """ - def __init__(self, project_dir, config_dir): + def __init__(self, project_dir, config_dir, environ=os.environ): + self.environ = environ self.project_dir = project_dir self.config_dir = config_dir self._config = dotenv_values(str((config_dir / 'env.defaults').resolve())) @@ -42,7 +43,7 @@ class Configuration: def __getattr__(self, name): name = 'NOMINATIM_' + name - return os.environ.get(name) or self._config[name] + return self.environ.get(name) or self._config[name] def get_bool(self, name): """ Return the given configuration parameter as a boolean. @@ -100,6 +101,6 @@ class Configuration: merged in. """ env = dict(self._config) - env.update(os.environ) + env.update(self.environ) return env diff --git a/test/bdd/steps/nominatim_environment.py b/test/bdd/steps/nominatim_environment.py index 0edb1159..811faf5c 100644 --- a/test/bdd/steps/nominatim_environment.py +++ b/test/bdd/steps/nominatim_environment.py @@ -8,6 +8,7 @@ import psycopg2.extras sys.path.insert(1, str((Path(__file__) / '..' / '..' / '..' / '..').resolve())) from nominatim.config import Configuration +from nominatim.tools import refresh from steps.utils import run_script class NominatimEnvironment: @@ -104,7 +105,8 @@ class NominatimEnvironment: self.website_dir.cleanup() self.website_dir = tempfile.TemporaryDirectory() - self.run_setup_script('setup-website') + cfg = Configuration(None, self.src_dir / 'settings', environ=self.test_env) + refresh.setup_website(Path(self.website_dir.name) / 'website', self.src_dir / 'lib-php', cfg) def db_drop_database(self, name): -- 2.39.5