# Copyright 2018 Camptocamp (https://www.camptocamp.com). # License GPL-3.0 or later (http://www.gnu.org/licenses/agpl). from unittest.mock import patch from odoo.tools.config import config as odoo_config from odoo.addons.server_environment import server_env from . import common class TestEnv(common.ServerEnvironmentCase): def test_view(self): model = self.env['server.config'] view = model.fields_view_get() self.assertTrue(view) def _test_default(self, hidden_pwd=False): model = self.env['server.config'] rec = model.create({}) defaults = rec.default_get([]) self.assertTrue(defaults) self.assertIsInstance(defaults, dict) pass_checked = False for default in defaults: if 'passw' in default: check = self.assertEqual if hidden_pwd else self.assertNotEqual check(defaults[default], "**********") pass_checked = True self.assertTrue(pass_checked) @patch.dict(odoo_config.options, {"running_env": "dev"}) def test_default_dev(self): self._test_default() @patch.dict(odoo_config.options, {"running_env": "whatever"}) def test_default_non_dev_env(self): self._test_default(hidden_pwd=True) @patch.dict(odoo_config.options, {"running_env": "testing"}) def test_value_retrival(self): with self.set_config_dir('testfiles'): parser = server_env._load_config() val = parser.get('external_service.ftp', 'user') self.assertEqual(val, 'testing') val = parser.get('external_service.ftp', 'host') self.assertEqual(val, 'sftp.example.com')