diff options
Diffstat (limited to 'odoo/addons/test_new_api/tests/test_new_fields.py')
| -rw-r--r-- | odoo/addons/test_new_api/tests/test_new_fields.py | 56 |
1 files changed, 56 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 8284f4652c6..caa4eedf4bf 100644 --- a/odoo/addons/test_new_api/tests/test_new_fields.py +++ b/odoo/addons/test_new_api/tests/test_new_fields.py @@ -998,6 +998,62 @@ class TestFields(common.TransactionCase): self.assertEqual(count(message), 1) self.assertEqual(count(message1), 0) + def test_90_binary_svg(self): + from odoo.addons.base.tests.test_mimetypes import SVG + # This should work without problems + self.env['test_new_api.binary_svg'].create({ + 'name': 'Test without attachment', + 'image_wo_attachment': SVG, + }) + # And this gives error + with self.assertRaises(UserError): + self.env['test_new_api.binary_svg'].sudo( + self.env.ref('base.user_demo'), + ).create({ + 'name': 'Test without attachment', + 'image_wo_attachment': SVG, + }) + + def test_91_binary_svg_attachment(self): + from odoo.addons.base.tests.test_mimetypes import SVG + # This doesn't neuter SVG with admin + record = self.env['test_new_api.binary_svg'].create({ + 'name': 'Test without attachment', + 'image_attachment': SVG, + }) + attachment = self.env['ir.attachment'].search([ + ('res_model', '=', record._name), + ('res_field', '=', 'image_attachment'), + ('res_id', '=', record.id), + ]) + self.assertEqual(attachment.mimetype, 'image/svg+xml') + # ...but this should be neutered with demo user + record = self.env['test_new_api.binary_svg'].sudo( + self.env.ref('base.user_demo'), + ).create({ + 'name': 'Test without attachment', + 'image_attachment': SVG, + }) + attachment = self.env['ir.attachment'].search([ + ('res_model', '=', record._name), + ('res_field', '=', 'image_attachment'), + ('res_id', '=', record.id), + ]) + self.assertEqual(attachment.mimetype, 'text/plain') + + def test_92_binary_self_avatar_svg(self): + from odoo.addons.base.tests.test_mimetypes import SVG + demo_user = self.env.ref('base.user_demo') + # User demo changes his own avatar + demo_user.sudo(demo_user).image = SVG + # The SVG file should have been neutered + attachment = self.env['ir.attachment'].search([ + ('res_model', '=', demo_user.partner_id._name), + ('res_field', '=', 'image'), + ('res_id', '=', demo_user.partner_id.id), + ]) + self.assertEqual(attachment.mimetype, 'text/plain') + class TestX2many(common.TransactionCase): def test_search_many2many(self): |
