Skip to content

Commit

Permalink
fixup! server_environment: running_env default to test (fix #44)
Browse files Browse the repository at this point in the history
  • Loading branch information
simahawk authored and alexey-pelykh committed Apr 15, 2020
1 parent 547ebae commit c167f54
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 29 deletions.
7 changes: 4 additions & 3 deletions server_environment/serv_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,9 +169,6 @@ def _build_model(cls, pool, cr):
"""
ModelClass = super(ServerConfiguration, cls)._build_model(pool, cr)
ModelClass._add_columns()
ModelClass.running_env = system_base_config['running_env']
# Only show passwords in development
ModelClass.show_passwords = ModelClass.running_env in ('dev',)
ModelClass._arch = None
ModelClass._build_osv()
return ModelClass
Expand All @@ -180,6 +177,10 @@ def _build_model(cls, pool, cr):
def _format_key(cls, section, key):
return '%s_I_%s' % (section, key)

@property
def show_passwords(self):
return system_base_config["running_env"] in ("dev",)

@classmethod
def _format_key_display_name(cls, key_name):
return key_name.replace('_I_', ' | ')
Expand Down
14 changes: 0 additions & 14 deletions server_environment/tests/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,27 +7,13 @@

from odoo.tests import common
from odoo.addons.server_environment import server_env
from odoo.tools.config import config

import odoo.addons.server_environment.models.server_env_mixin as \
server_env_mixin


class ServerEnvironmentCase(common.SavepointCase):

_test_case_running_env = "testing"

def setUp(self):
super().setUp()
self._original_running_env = config.get('running_env')
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()
config['running_env'] = self._original_running_env

@contextmanager
def set_config_dir(self, path):
original_dir = server_env._dir
Expand Down
19 changes: 10 additions & 9 deletions server_environment/tests/test_environment_variable.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,21 @@
# License GPL-3.0 or later (http://www.gnu.org/licenses/agpl).


from odoo.tools.config import config
from unittest.mock import patch

from odoo.tools.config import config as odoo_config

from odoo.addons.server_environment import server_env
from .common import ServerEnvironmentCase


class TestRunningEnvDefault(ServerEnvironmentCase):
def test_running_env_default(self):
"""When var is not provided it defaults to `test`."""
self.assertEqual(odoo_config["running_env"], "test")


@patch.dict(odoo_config.options, {"running_env": "testing"})
class TestEnvironmentVariables(ServerEnvironmentCase):

def test_env_variables(self):
Expand Down Expand Up @@ -45,11 +54,3 @@ 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')
20 changes: 17 additions & 3 deletions server_environment/tests/test_server_environment.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# 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

Expand All @@ -11,7 +16,7 @@ def test_view(self):
view = model.fields_view_get()
self.assertTrue(view)

def test_default(self):
def _test_default(self, hidden_pwd=False):
model = self.env['server.config']
rec = model.create({})
defaults = rec.default_get([])
Expand All @@ -20,11 +25,20 @@ def test_default(self):
pass_checked = False
for default in defaults:
if 'passw' in default:
self.assertNotEqual(defaults[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()
Expand Down

0 comments on commit c167f54

Please sign in to comment.