diff options
| author | Xavier Morel <xmo@odoo.com> | 2015-02-27 13:19:02 +0100 |
|---|---|---|
| committer | Xavier Morel <xmo@odoo.com> | 2015-02-27 14:11:21 +0100 |
| commit | 68f14c68709bbb50cb7fb66d288955e1d769c5ff (patch) | |
| tree | 9795af6132f87c136ddccdcdbeff6638ec174fa3 /addons/base_import/tests | |
| parent | 05905b794eb1e9eaee85e2ee235e42f0f0072556 (diff) | |
[FIX] handling of big fields in CSV
fixes #2742
Diffstat (limited to 'addons/base_import/tests')
| -rw-r--r-- | addons/base_import/tests/test_cases.py | 32 |
1 files changed, 29 insertions, 3 deletions
diff --git a/addons/base_import/tests/test_cases.py b/addons/base_import/tests/test_cases.py index bad79bc7cdc..768754df07c 100644 --- a/addons/base_import/tests/test_cases.py +++ b/addons/base_import/tests/test_cases.py @@ -210,9 +210,6 @@ class test_preview(TransactionCase): }) self.assertTrue('error' in result) - def test_csv_errors(self): - Import, id = self.make_import() - result = Import.parse_preview(self.cr, self.uid, id, { 'quoting': '"', 'separator': 'bob', @@ -356,3 +353,32 @@ class test_convert_import_data(TransactionCase): Import._convert_import_data, record, [False, False, False], {'quoting': '"', 'separator': ',', 'headers': True,}) + +class test_failures(TransactionCase): + def test_big_attachments(self): + """ + Ensure big fields (e.g. b64-encoded image data) can be imported and + we're not hitting limits of the default CSV parser config + """ + import csv, cStringIO + from PIL import Image + + im = Image.new('RGB', (1920, 1080)) + fout = cStringIO.StringIO() + + writer = csv.writer(fout, dialect=None) + writer.writerows([ + ['name', 'db_datas'], + ['foo', im.tobytes().encode('base64')] + ]) + + Import = self.env['base_import.import'] + imp = Import.create({ + 'res_model': 'ir.attachment', + 'file': fout.getvalue() + }) + [results] = imp.do( + ['name', 'db_datas'], + {'headers': True, 'separator': ',', 'quoting': '"'}) + self.assertFalse( + results, "results should be empty on successful import") |
