diff --git a/server_environment/server_env.py b/server_environment/server_env.py index 4d2af55c..51dfd7e3 100644 --- a/server_environment/server_env.py +++ b/server_environment/server_env.py @@ -58,14 +58,20 @@ "off": False, } -if not system_base_config.get("running_env", False): - raise Exception( - "The parameter 'running_env' has not be set neither in base config " - "file option -c or in openerprc.\n" - "We strongly recommend against using the rc file but instead use an " - "explicit config file with this content:\n" - "[options]\nrunning_env = dev" - ) + +def _load_running_env(): + if not system_base_config.get("running_env"): + _logger.warning("`running_env` not found. Using default = `test`.") + _logger.warning( + "We strongly recommend against using the rc file but instead use an " + "explicit config file or env variable." + ) + # safe default + system_base_config["running_env"] = "test" + + +_load_running_env() + ck_path = None if _dir: diff --git a/server_environment/tests/common.py b/server_environment/tests/common.py index 781ce256..43682a46 100644 --- a/server_environment/tests/common.py +++ b/server_environment/tests/common.py @@ -13,10 +13,15 @@ class ServerEnvironmentCase(common.SavepointCase): + + _test_case_running_env = "testing" + def setUp(self): super().setUp() self._original_running_env = config.get("running_env") - config["running_env"] = "testing" + if self._test_case_running_env is not None: + config["running_env"] = self._test_case_running_env + server_env._load_running_env() def tearDown(self): super().tearDown() diff --git a/server_environment/tests/test_environment_variable.py b/server_environment/tests/test_environment_variable.py index 17474067..8ea3b51f 100644 --- a/server_environment/tests/test_environment_variable.py +++ b/server_environment/tests/test_environment_variable.py @@ -2,6 +2,8 @@ # License GPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo.tools.config import config + from odoo.addons.server_environment import server_env from .common import ServerEnvironmentCase @@ -25,3 +27,11 @@ def test_env_variables_override(self): parser = server_env._load_config() val = parser.get("external_service.ftp", "user") self.assertEqual(val, "foo") + + +class TestRunningEnv(ServerEnvironmentCase): + + _test_case_running_env = "" # empty -> no env set + + def test_running_env_default(self): + self.assertEqual(config["running_env"], "test")