99from .. import server_env
1010from . import common
1111
12+ NO_DEFAULT = [
13+ "id" ,
14+ "create_uid" ,
15+ "create_date" ,
16+ "write_uid" ,
17+ "write_date" ,
18+ "display_name" ,
19+ "config" ,
20+ "__last_update" ,
21+ ]
22+
1223
1324class TestEnv (common .ServerEnvironmentCase ):
1425 def test_view (self ):
@@ -20,17 +31,20 @@ def _test_default(self, hidden_pwd=False):
2031 model = self .env ["server.config" ]
2132 rec = model .create ({})
2233 fields = model .fields_get ()
23- self .assertTrue (fields )
2434 defaults = rec .default_get (list (fields ))
25- self .assertTrue (defaults )
35+ fields_with_default = {fld for fld in fields if fld not in NO_DEFAULT }
36+ self .assertTrue (fields_with_default )
2637 self .assertIsInstance (defaults , dict )
38+ self .assertEqual (fields_with_default , set (defaults ))
39+ # Check secrets
2740 pass_checked = False
2841 for default in defaults :
29- if "passw " in default :
42+ if "_pass " in default :
3043 check = self .assertEqual if hidden_pwd else self .assertNotEqual
3144 check (defaults [default ], "**********" )
3245 pass_checked = True
3346 self .assertTrue (pass_checked )
47+ return defaults
3448
3549 @patch .dict (odoo_config .options , {"running_env" : "dev" })
3650 def test_default_dev (self ):
@@ -54,10 +68,23 @@ def test_odoosh_dev_from_environ(self):
5468 self ._test_default ()
5569
5670 @patch .dict (odoo_config .options , {"running_env" : "testing" })
57- def test_value_retrival (self ):
71+ def test_value_retrieval (self ):
5872 with self .set_config_dir ("testfiles" ):
5973 parser = server_env ._load_config ()
6074 val = parser .get ("external_service.ftp" , "user" )
6175 self .assertEqual (val , "testing" )
6276 val = parser .get ("external_service.ftp" , "host" )
6377 self .assertEqual (val , "sftp.example.com" )
78+
79+ @patch .dict (odoo_config .options , {"running_env" : "testing" })
80+ def test_default_hidden_password (self ):
81+ with self .load_config (config_dir = "testfiles" ):
82+ model = self .env ["server.config" ]
83+ model ._add_columns ()
84+ self .env .registry .setup_models (self .env .cr )
85+ defaults = self ._test_default (hidden_pwd = True )
86+
87+ self .assertIn ("odoo_I_admin_passwd" , defaults )
88+ self .assertIn ("odoo_I_db_password" , defaults )
89+ self .assertIn ("odoo_I_smtp_password" , defaults )
90+ self .assertIn ("outgoing_mail_provider_promail_I_smtp_pass" , defaults )
0 commit comments