summaryrefslogtreecommitdiff
path: root/odoo/addons/test_new_api
diff options
context:
space:
mode:
authorRaphael Collet <rco@odoo.com>2020-10-20 15:29:46 +0000
committerRaphael Collet <rco@odoo.com>2020-10-21 07:52:55 +0000
commit231bdca3f26d96f578503694e5aec062de2317ed (patch)
tree7ea32beadd5e2c66928bb72af3f2080cd4c050c3 /odoo/addons/test_new_api
parent3b1df8f57e0cd342fe7f9ff7bd34100b2c821569 (diff)
[FIX] core: validation of field parameters
The feature was actually not working as expected. It has been fixed, and a test now ensures it does work as expected. This commit also fixes some invalid parameters, hopefully nothing critical. closes odoo/odoo#60402 Related: odoo/enterprise#14273 Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Diffstat (limited to 'odoo/addons/test_new_api')
-rw-r--r--odoo/addons/test_new_api/tests/test_new_fields.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/odoo/addons/test_new_api/tests/test_new_fields.py b/odoo/addons/test_new_api/tests/test_new_fields.py
index f93baf0e83e..c07a299cfe6 100644
--- a/odoo/addons/test_new_api/tests/test_new_fields.py
+++ b/odoo/addons/test_new_api/tests/test_new_fields.py
@@ -2906,6 +2906,28 @@ class TestSelectionOndeleteAdvanced(common.TransactionCase):
self.registry.setup_models(self.env.cr)
+class TestFieldParametersValidation(common.TransactionCase):
+ def test_invalid_parameter(self):
+ self.addCleanup(self.registry.model_cache.clear)
+
+ class Foo(models.Model):
+ _module = None
+ _name = _description = 'test_new_api.field_parameter_validation'
+
+ name = fields.Char(invalid_parameter=42)
+
+ Foo._build_model(self.registry, self.env.cr)
+ self.addCleanup(self.registry.__delitem__, Foo._name)
+
+ with self.assertLogs('odoo.fields', level='WARNING') as cm:
+ self.registry.setup_models(self.env.cr)
+
+ self.assertTrue(cm.output[0].startswith(
+ "WARNING:odoo.fields:Field test_new_api.field_parameter_validation.name: "
+ "unknown parameter 'invalid_parameter'"
+ ))
+
+
def insert(model, *fnames):
""" Return the expected query string to INSERT the given columns. """
columns = ['create_uid', 'create_date', 'write_uid', 'write_date'] + sorted(fnames)