From f19f39e9ef8afceac4c728d74c1d3b5196ae2a58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Bidoul=20=28ACSONE=29?= Date: Sun, 20 Nov 2016 23:18:38 +0100 Subject: [PATCH] server_environment_ir_config_parameter: handle empty values better --- .../models/ir_config_parameter.py | 4 ++++ .../tests/test_server_environment_ircp.py | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/server_environment_ir_config_parameter/models/ir_config_parameter.py b/server_environment_ir_config_parameter/models/ir_config_parameter.py index 819ef8f..14bad0c 100644 --- a/server_environment_ir_config_parameter/models/ir_config_parameter.py +++ b/server_environment_ir_config_parameter/models/ir_config_parameter.py @@ -20,6 +20,10 @@ class IrConfigParameter(models.Model): cr, uid, key, default=None, context=context) if serv_config.has_option(SECTION, key): cvalue = serv_config.get(SECTION, key) + if not cvalue: + raise UserError(_("Key %s is empty in " + "server_environment_file") % + (key, )) if cvalue != value: # we write in db on first access; # should we have preloaded values in database at, diff --git a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py index 9566bb1..07fae44 100644 --- a/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py +++ b/server_environment_ir_config_parameter/tests/test_server_environment_ircp.py @@ -49,3 +49,9 @@ class TestEnv(common.SavepointCase): res.unlink() res = self.ICP.search([('key', '=', 'some.param')]) self.assertFalse(res) + + def test_empty(self): + """ Empty config values cause error """ + with self.assertRaises(UserError): + self.ICP.get_param('ircp_empty') + self.assertEqual(self.ICP.get_param('ircp_nonexistant'), False)