From 5ba7ce138bb14c8de7e434fc374028f173792d2c Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Fri, 20 May 2016 18:00:00 +0200 Subject: [PATCH] [FIX] test_new_api: avoid crappy monkey-patching of `res.partner` --- openerp/addons/test_new_api/models.py | 4 ++ .../addons/test_new_api/tests/test_related.py | 60 +++++++------------ 2 files changed, 25 insertions(+), 39 deletions(-) diff --git a/openerp/addons/test_new_api/models.py b/openerp/addons/test_new_api/models.py index 0a27be61f6c..084d8e97fbb 100644 --- a/openerp/addons/test_new_api/models.py +++ b/openerp/addons/test_new_api/models.py @@ -248,6 +248,10 @@ class MixedModel(models.Model): lang = fields.Selection(string='Language', selection='_get_lang') reference = fields.Reference(string='Related Document', selection='_reference_models') + comment1 = fields.Html(sanitize=False) + comment2 = fields.Html(sanitize=True, strip_classes=False) + comment3 = fields.Html(sanitize=True, strip_classes=True) + comment4 = fields.Html(sanitize=True, strip_style=True) @api.one def _compute_now(self): diff --git a/openerp/addons/test_new_api/tests/test_related.py b/openerp/addons/test_new_api/tests/test_related.py index f7fa58847a8..95ffe60efc5 100644 --- a/openerp/addons/test_new_api/tests/test_related.py +++ b/openerp/addons/test_new_api/tests/test_related.py @@ -125,15 +125,15 @@ class TestHtmlField(common.TransactionCase): def setUp(self): super(TestHtmlField, self).setUp() - self.partner = self.registry('res.partner') + self.model = self.env['test_new_api.mixed'] def test_00_sanitize(self): - cr, uid, context = self.cr, self.uid, {} - old_columns = self.partner._columns - self.partner._columns = dict(old_columns) - self.partner._columns.update({ - 'comment': fields.html('Secure Html', sanitize=False), - }) + self.assertEqual(self.model._fields['comment1'].sanitize, False) + self.assertEqual(self.model._fields['comment2'].sanitize, True) + self.assertEqual(self.model._fields['comment2'].strip_classes, False) + self.assertEqual(self.model._fields['comment3'].sanitize, True) + self.assertEqual(self.model._fields['comment3'].strip_classes, True) + some_ugly_html = """

Oops this should maybe be sanitized % if object.some_field and not object.oriented: @@ -151,40 +151,22 @@ class TestHtmlField(common.TransactionCase):

Youpie

%endif""" - pid = self.partner.create(cr, uid, { - 'name': 'Raoul Poilvache', - 'comment': some_ugly_html, - }, context=context) - partner = self.partner.browse(cr, uid, pid, context=context) - self.assertEqual(partner.comment, some_ugly_html, 'Error in HTML field: content was sanitized but field has sanitize=False') - - self.partner._columns.update({ - 'comment': fields.html('Unsecure Html', sanitize=True, strip_classes=False), + record = self.model.create({ + 'comment1': some_ugly_html, + 'comment2': some_ugly_html, + 'comment3': some_ugly_html, + 'comment4': some_ugly_html, }) - self.partner.write(cr, uid, [pid], { - 'comment': some_ugly_html, - }, context=context) - partner = self.partner.browse(cr, uid, pid, context=context) - # classes are kept - self.assertIn('', partner.comment, 'Error in HTML field: content does not seem to have been sanitized despise sanitize=True') - self.assertIn('', partner.comment, 'Error in HTML field: content does not seem to have been sanitized despise sanitize=True') - self.assertIn('