summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/base_import/models/test_models.py101
-rw-r--r--addons/base_import/tests/test_base_import.py242
2 files changed, 149 insertions, 194 deletions
diff --git a/addons/base_import/models/test_models.py b/addons/base_import/models/test_models.py
index 274f7c84d5f..91aa8611a1c 100644
--- a/addons/base_import/models/test_models.py
+++ b/addons/base_import/models/test_models.py
@@ -1,101 +1,76 @@
-from openerp.osv import orm, fields
+# -*- coding: utf-8 -*-
+from odoo import fields, models
-def name(n): return 'base_import.tests.models.%s' % n
-class char(orm.Model):
+def name(suffix_name):
+ return 'base_import.tests.models.%s' % suffix_name
+
+
+class Char(models.Model):
_name = name('char')
- _columns = {
- 'value': fields.char('unknown')
- }
+ value = fields.Char()
-class char_required(orm.Model):
+class CharRequired(models.Model):
_name = name('char.required')
- _columns = {
- 'value': fields.char('unknown', required=True)
- }
+ value = fields.Char(required=True)
-class char_readonly(orm.Model):
+class CharReadonly(models.Model):
_name = name('char.readonly')
- _columns = {
- 'value': fields.char('unknown', readonly=True)
- }
+ value = fields.Char(readonly=True)
-class char_states(orm.Model):
+class CharStates(models.Model):
_name = name('char.states')
- _columns = {
- 'value': fields.char('unknown', readonly=True, states={'draft': [('readonly', False)]})
- }
+ value = fields.Char(readonly=True, states={'draft': [('readonly', False)]})
-class char_noreadonly(orm.Model):
+class CharNoreadonly(models.Model):
_name = name('char.noreadonly')
- _columns = {
- 'value': fields.char('unknown', readonly=True, states={'draft': [('invisible', True)]})
- }
+ value = fields.Char(readonly=True, states={'draft': [('invisible', True)]})
-class char_stillreadonly(orm.Model):
+class CharStillreadonly(models.Model):
_name = name('char.stillreadonly')
- _columns = {
- 'value': fields.char('unknown', readonly=True, states={'draft': [('readonly', True)]})
- }
+ value = fields.Char(readonly=True, states={'draft': [('readonly', True)]})
# TODO: complex field (m2m, o2m, m2o)
-class m2o(orm.Model):
+class M2o(models.Model):
_name = name('m2o')
- _columns = {
- 'value': fields.many2one(name('m2o.related'))
- }
-class m2o_related(orm.Model):
+ value = fields.Many2one(name('m2o.related'))
+
+class M2oRelated(models.Model):
_name = name('m2o.related')
- _columns = {
- 'value': fields.integer()
- }
- _defaults = {
- 'value': 42
- }
+ value = fields.Integer(default=42)
-class m2o_required(orm.Model):
+class M2oRequired(models.Model):
_name = name('m2o.required')
- _columns = {
- 'value': fields.many2one(name('m2o.required.related'), required=True)
- }
-class m2o_required_related(orm.Model):
+ value = fields.Many2one(name('m2o.required.related'), required=True)
+
+class M2oRequiredRelated(models.Model):
_name = name('m2o.required.related')
- _columns = {
- 'value': fields.integer()
- }
- _defaults = {
- 'value': 42
- }
+ value = fields.Integer(default=42)
-class o2m(orm.Model):
+class O2m(models.Model):
_name = name('o2m')
- _columns = {
- 'value': fields.one2many(name('o2m.child'), 'parent_id')
- }
-class o2m_child(orm.Model):
+ value = fields.One2many(name('o2m.child'), 'parent_id')
+
+class O2mChild(models.Model):
_name = name('o2m.child')
- _columns = {
- 'parent_id': fields.many2one(name('o2m')),
- 'value': fields.integer()
- }
+ parent_id = fields.Many2one(name('o2m'))
+ value = fields.Integer()
-class preview_model(orm.Model):
+class PreviewModel(models.Model):
_name = name('preview')
- _columns = {
- 'name': fields.char('Name'),
- 'somevalue': fields.integer('Some Value', required=True),
- 'othervalue': fields.integer('Other Variable'),
- }
+ name = fields.Char('Name')
+ somevalue = fields.Integer(string='Some Value', required=True)
+ othervalue = fields.Integer(string='Other Variable')
diff --git a/addons/base_import/tests/test_base_import.py b/addons/base_import/tests/test_base_import.py
index b65cf7dc9cc..ee44734d29b 100644
--- a/addons/base_import/tests/test_base_import.py
+++ b/addons/base_import/tests/test_base_import.py
@@ -1,43 +1,49 @@
-# -*- encoding: utf-8 -*-
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
import csv
import io
import unittest
-from openerp.tests.common import TransactionCase, can_import
-from openerp.modules.module import get_module_resource
-from openerp.tools import mute_logger
+from odoo.tests.common import TransactionCase, can_import
+from odoo.modules.module import get_module_resource
+from odoo.tools import mute_logger
-from .. import models
ID_FIELD = {
'id': 'id',
'name': 'id',
'string': "External ID",
+
'required': False,
'fields': [],
'type': 'id',
}
-def make_field(name='value', string='unknown', required=False, fields=[], field_type='id'):
+
+def make_field(name='value', string='Value', required=False, fields=[], field_type='id'):
return [
ID_FIELD,
{'id': name, 'name': name, 'string': string, 'required': required, 'fields': fields, 'type': field_type},
]
+
def sorted_fields(fields):
""" recursively sort field lists to ease comparison """
recursed = [dict(field, fields=sorted_fields(field['fields'])) for field in fields]
return sorted(recursed, key=lambda field: field['id'])
+
class BaseImportCase(TransactionCase):
+
def assertEqualFields(self, fields1, fields2):
self.assertEqual(sorted_fields(fields1), sorted_fields(fields2))
-class test_basic_fields(BaseImportCase):
+
+class TestBasicFields(BaseImportCase):
+
def get_fields(self, field):
- return self.registry('base_import.import')\
- .get_fields(self.cr, self.uid, 'base_import.tests.models.' + field)
+ return self.env['base_import.import'].get_fields('base_import.tests.models.' + field)
def test_base(self):
""" A basic field is not required """
@@ -83,39 +89,36 @@ class test_basic_fields(BaseImportCase):
{'id': 'value', 'name': '.id', 'string': 'Database ID', 'required': True, 'fields': [], 'type': 'id'},
]))
-class test_o2m(BaseImportCase):
+
+class TestO2M(BaseImportCase):
+
def get_fields(self, field):
- return self.registry('base_import.import')\
- .get_fields(self.cr, self.uid, 'base_import.tests.models.' + field)
+ return self.env['base_import.import'].get_fields('base_import.tests.models.' + field)
def test_shallow(self):
self.assertEqualFields(self.get_fields('o2m'), make_field(field_type='one2many', fields=[
ID_FIELD,
# FIXME: should reverse field be ignored?
- {'id': 'parent_id', 'name': 'parent_id', 'string': 'unknown', 'type': 'many2one', 'required': False, 'fields': [
+ {'id': 'parent_id', 'name': 'parent_id', 'string': 'Parent id', 'type': 'many2one', 'required': False, 'fields': [
{'id': 'parent_id', 'name': 'id', 'string': 'External ID', 'required': False, 'fields': [], 'type': 'id'},
{'id': 'parent_id', 'name': '.id', 'string': 'Database ID', 'required': False, 'fields': [], 'type': 'id'},
]},
- {'id': 'value', 'name': 'value', 'string': 'unknown', 'required': False, 'fields': [], 'type': 'integer'},
+ {'id': 'value', 'name': 'value', 'string': 'Value', 'required': False, 'fields': [], 'type': 'integer'},
]))
-class test_match_headers_single(TransactionCase):
- def test_match_by_name(self):
- match = self.registry('base_import.import')._match_header(
- 'f0', [{'name': 'f0'}], {})
+class TestMatchHeadersSingle(TransactionCase):
+
+ def test_match_by_name(self):
+ match = self.env['base_import.import']._match_header('f0', [{'name': 'f0'}], {})
self.assertEqual(match, [{'name': 'f0'}])
def test_match_by_string(self):
- match = self.registry('base_import.import')._match_header(
- 'some field', [{'name': 'bob', 'string': "Some Field"}], {})
-
+ match = self.env['base_import.import']._match_header('some field', [{'name': 'bob', 'string': "Some Field"}], {})
self.assertEqual(match, [{'name': 'bob', 'string': "Some Field"}])
def test_nomatch(self):
- match = self.registry('base_import.import')._match_header(
- 'should not be', [{'name': 'bob', 'string': "wheee"}], {})
-
+ match = self.env['base_import.import']._match_header('should not be', [{'name': 'bob', 'string': "wheee"}], {})
self.assertEqual(match, [])
def test_recursive_match(self):
@@ -127,9 +130,7 @@ class test_match_headers_single(TransactionCase):
{'name': 'f1', 'string': "Sub field 2", 'fields': []},
]
}
- match = self.registry('base_import.import')._match_header(
- 'f0/f1', [f], {})
-
+ match = self.env['base_import.import']._match_header('f0/f1', [f], {})
self.assertEqual(match, [f, f['fields'][1]])
def test_recursive_nomatch(self):
@@ -143,21 +144,20 @@ class test_match_headers_single(TransactionCase):
{'name': 'f1', 'string': "Sub field 2", 'fields': []},
]
}
- match = self.registry('base_import.import')._match_header(
- 'f0/f2', [f], {})
-
+ match = self.env['base_import.import']._match_header('f0/f2', [f], {})
self.assertEqual(match, [])
-class test_match_headers_multiple(TransactionCase):
+
+class TestMatchHeadersMultiple(TransactionCase):
+
def test_noheaders(self):
self.assertEqual(
- self.registry('base_import.import')._match_headers(
- [], [], {}),
- (None, None)
+ self.env['base_import.import']._match_headers([], [], {}), (None, None)
)
+
def test_nomatch(self):
self.assertEqual(
- self.registry('base_import.import')._match_headers(
+ self.env['base_import.import']._match_headers(
iter([
['foo', 'bar', 'baz', 'qux'],
['v1', 'v2', 'v3', 'v4'],
@@ -190,47 +190,47 @@ class test_match_headers_multiple(TransactionCase):
})
)
-class test_preview(TransactionCase):
+
+class TestPreview(TransactionCase):
+
def make_import(self):
- Import = self.registry('base_import.import')
- id = Import.create(self.cr, self.uid, {
+ import_wizard = self.env['base_import.import'].create({
'res_model': 'res.users',
'file': u"로그인,언어\nbob,1\n".encode('euc_kr'),
'file_type': 'text/csv',
'file_name': 'kr_data.csv',
})
- return Import, id
+ return import_wizard
- @mute_logger('openerp.addons.base_import.models')
+ @mute_logger('openerp.addons.base_import.models.base_import')
def test_encoding(self):
- Import, id = self.make_import()
- result = Import.parse_preview(self.cr, self.uid, id, {
- 'quoting': '"',
- 'separator': ',',
+ import_wizard = self.make_import()
+ result = import_wizard.parse_preview({
+ 'quoting': '"',
+ 'separator': ',',
})
self.assertTrue('error' in result)
- @mute_logger('openerp.addons.base_import.models')
+ @mute_logger('openerp.addons.base_import.models.base_import')
def test_csv_errors(self):
- Import, id = self.make_import()
+ import_wizard = self.make_import()
- result = Import.parse_preview(self.cr, self.uid, id, {
- 'quoting': 'foo',
- 'separator': ',',
- 'encoding': 'euc_kr',
+ result = import_wizard.parse_preview({
+ 'quoting': 'foo',
+ 'separator': ',',
+ 'encoding': 'euc_kr',
})
self.assertTrue('error' in result)
- result = Import.parse_preview(self.cr, self.uid, id, {
- 'quoting': '"',
- 'separator': 'bob',
- 'encoding': 'euc_kr',
+ result = import_wizard.parse_preview({
+ 'quoting': '"',
+ 'separator': 'bob',
+ 'encoding': 'euc_kr',
})
self.assertTrue('error' in result)
def test_csv_success(self):
- Import = self.registry('base_import.import')
- id = Import.create(self.cr, self.uid, {
+ import_wizard = self.env['base_import.import'].create({
'res_model': 'base_import.tests.models.preview',
'file': 'name,Some Value,Counter\n'
'foo,1,2\n'
@@ -239,7 +239,7 @@ class test_preview(TransactionCase):
'file_type': 'text/csv'
})
- result = Import.parse_preview(self.cr, self.uid, id, {
+ result = import_wizard.parse_preview({
'quoting': '"',
'separator': ',',
'headers': True,
@@ -250,9 +250,9 @@ class test_preview(TransactionCase):
# Order depends on iteration order of fields_get
self.assertItemsEqual(result['fields'], [
ID_FIELD,
- {'id': 'name', 'name': 'name', 'string': 'Name', 'required':False, 'fields': [], 'type': 'char'},
- {'id': 'somevalue', 'name': 'somevalue', 'string': 'Some Value', 'required':True, 'fields': [], 'type': 'integer'},
- {'id': 'othervalue', 'name': 'othervalue', 'string': 'Other Variable', 'required':False, 'fields': [], 'type': 'integer'},
+ {'id': 'name', 'name': 'name', 'string': 'Name', 'required': False, 'fields': [], 'type': 'char'},
+ {'id': 'somevalue', 'name': 'somevalue', 'string': 'Some Value', 'required': True, 'fields': [], 'type': 'integer'},
+ {'id': 'othervalue', 'name': 'othervalue', 'string': 'Other Variable', 'required': False, 'fields': [], 'type': 'integer'},
])
self.assertEqual(result['preview'], [
['foo', '1', '2'],
@@ -264,17 +264,15 @@ class test_preview(TransactionCase):
@unittest.skipUnless(can_import('xlrd'), "XLRD module not available")
def test_xls_success(self):
-
- Import = self.registry('base_import.import')
xls_file_path = get_module_resource('base_import', 'tests', 'test.xls')
file_content = open(xls_file_path, 'rb').read()
- id = Import.create(self.cr, self.uid, {
+ import_wizard = self.env['base_import.import'].create({
'res_model': 'base_import.tests.models.preview',
'file': file_content,
'file_type': 'application/vnd.ms-excel'
})
- result = Import.parse_preview(self.cr, self.uid, id, {
+ result = import_wizard.parse_preview({
'headers': True,
})
self.assertIsNone(result.get('error'))
@@ -282,9 +280,9 @@ class test_preview(TransactionCase):
self.assertEqual(result['headers'], ['name', 'Some Value', 'Counter'])
self.assertItemsEqual(result['fields'], [
ID_FIELD,
- {'id': 'name', 'name': 'name', 'string': 'Name', 'required':False, 'fields': [], 'type': 'char'},
- {'id': 'somevalue', 'name': 'somevalue', 'string': 'Some Value', 'required':True, 'fields': [], 'type': 'integer'},
- {'id': 'othervalue', 'name': 'othervalue', 'string': 'Other Variable', 'required':False, 'fields': [], 'type': 'integer'},
+ {'id': 'name', 'name': 'name', 'string': 'Name', 'required': False, 'fields': [], 'type': 'char'},
+ {'id': 'somevalue', 'name': 'somevalue', 'string': 'Some Value', 'required': True, 'fields': [], 'type': 'integer'},
+ {'id': 'othervalue', 'name': 'othervalue', 'string': 'Other Variable', 'required': False, 'fields': [], 'type': 'integer'},
])
self.assertEqual(result['preview'], [
['foo', '1', '2'],
@@ -296,16 +294,15 @@ class test_preview(TransactionCase):
@unittest.skipUnless(can_import('xlrd.xlsx'), "XLRD/XLSX not available")
def test_xlsx_success(self):
- Import = self.registry('base_import.import')
xlsx_file_path = get_module_resource('base_import', 'tests', 'test.xlsx')
file_content = open(xlsx_file_path, 'rb').read()
- id = Import.create(self.cr, self.uid, {
+ import_wizard = self.env['base_import.import'].create({
'res_model': 'base_import.tests.models.preview',
'file': file_content,
'file_type': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
})
- result = Import.parse_preview(self.cr, self.uid, id, {
+ result = import_wizard.parse_preview({
'headers': True,
})
self.assertIsNone(result.get('error'))
@@ -313,9 +310,9 @@ class test_preview(TransactionCase):
self.assertEqual(result['headers'], ['name', 'Some Value', 'Counter'])
self.assertItemsEqual(result['fields'], [
ID_FIELD,
- {'id': 'name', 'name': 'name', 'string': 'Name', 'required':False, 'fields': [], 'type': 'char'},
- {'id': 'somevalue', 'name': 'somevalue', 'string': 'Some Value', 'required':True, 'fields': [], 'type': 'integer'},
- {'id': 'othervalue', 'name': 'othervalue', 'string': 'Other Variable', 'required':False, 'fields': [], 'type': 'integer'},
+ {'id': 'name', 'name': 'name', 'string': 'Name', 'required': False, 'fields': [], 'type': 'char'},
+ {'id': 'somevalue', 'name': 'somevalue', 'string': 'Some Value', 'required': True, 'fields': [], 'type': 'integer'},
+ {'id': 'othervalue', 'name': 'othervalue', 'string': 'Other Variable', 'required': False, 'fields': [], 'type': 'integer'},
])
self.assertEqual(result['preview'], [
['foo', '1', '2'],
@@ -327,16 +324,15 @@ class test_preview(TransactionCase):
@unittest.skipUnless(can_import('odf'), "ODFPY not available")
def test_ods_success(self):
- Import = self.registry('base_import.import')
ods_file_path = get_module_resource('base_import', 'tests', 'test.ods')
file_content = open(ods_file_path, 'rb').read()
- id = Import.create(self.cr, self.uid, {
+ import_wizard = self.env['base_import.import'].create({
'res_model': 'base_import.tests.models.preview',
'file': file_content,
'file_type': 'application/vnd.oasis.opendocument.spreadsheet'
})
- result = Import.parse_preview(self.cr, self.uid, id, {
+ result = import_wizard.parse_preview({
'headers': True,
})
self.assertIsNone(result.get('error'))
@@ -344,9 +340,9 @@ class test_preview(TransactionCase):
self.assertEqual(result['headers'], ['name', 'Some Value', 'Counter'])
self.assertItemsEqual(result['fields'], [
ID_FIELD,
- {'id': 'name', 'name': 'name', 'string': 'Name', 'required':False, 'fields': [], 'type': 'char'},
- {'id': 'somevalue', 'name': 'somevalue', 'string': 'Some Value', 'required':True, 'fields': [], 'type': 'integer'},
- {'id': 'othervalue', 'name': 'othervalue', 'string': 'Other Variable', 'required':False, 'fields': [], 'type': 'integer'},
+ {'id': 'name', 'name': 'name', 'string': 'Name', 'required': False, 'fields': [], 'type': 'char'},
+ {'id': 'somevalue', 'name': 'somevalue', 'string': 'Some Value', 'required': True, 'fields': [], 'type': 'integer'},
+ {'id': 'othervalue', 'name': 'othervalue', 'string': 'Other Variable', 'required': False, 'fields': [], 'type': 'integer'},
])
self.assertEqual(result['preview'], [
['foo', '1', '2'],
@@ -356,13 +352,13 @@ class test_preview(TransactionCase):
# Ensure we only have the response fields we expect
self.assertItemsEqual(result.keys(), ['matches', 'headers', 'fields', 'preview', 'headers_type', 'options', 'debug'])
+
class test_convert_import_data(TransactionCase):
""" Tests conversion of base_import.import input into data which
can be fed to Model.load
"""
def test_all(self):
- Import = self.registry('base_import.import')
- id = Import.create(self.cr, self.uid, {
+ import_wizard = self.env['base_import.import'].create({
'res_model': 'base_import.tests.models.preview',
'file': 'name,Some Value,Counter\n'
'foo,1,2\n'
@@ -371,10 +367,10 @@ class test_convert_import_data(TransactionCase):
'file_type': 'text/csv'
})
- record = Import.browse(self.cr, self.uid, id)
- data, fields = Import._convert_import_data(
- record, ['name', 'somevalue', 'othervalue'],
- {'quoting': '"', 'separator': ',', 'headers': True,})
+ data, fields = import_wizard._convert_import_data(
+ ['name', 'somevalue', 'othervalue'],
+ {'quoting': '"', 'separator': ',', 'headers': True}
+ )
self.assertItemsEqual(fields, ['name', 'somevalue', 'othervalue'])
self.assertItemsEqual(data, [
@@ -387,8 +383,7 @@ class test_convert_import_data(TransactionCase):
""" If ``False`` is provided as field mapping for a column,
that column should be removed from importable data
"""
- Import = self.registry('base_import.import')
- id = Import.create(self.cr, self.uid, {
+ import_wizard = self.env['base_import.import'].create({
'res_model': 'base_import.tests.models.preview',
'file': 'name,Some Value,Counter\n'
'foo,1,2\n'
@@ -396,10 +391,10 @@ class test_convert_import_data(TransactionCase):
'qux,5,6\n',
'file_type': 'text/csv'
})
- record = Import.browse(self.cr, self.uid, id)
- data, fields = Import._convert_import_data(
- record, ['name', False, 'othervalue'],
- {'quoting': '"', 'separator': ',', 'headers': True,})
+ data, fields = import_wizard._convert_import_data(
+ ['name', False, 'othervalue'],
+ {'quoting': '"', 'separator': ',', 'headers': True}
+ )
self.assertItemsEqual(fields, ['name', 'othervalue'])
self.assertItemsEqual(data, [
@@ -412,8 +407,7 @@ class test_convert_import_data(TransactionCase):
""" If a row is composed only of empty values (due to having
filtered out non-empty values from it), it should be removed
"""
- Import = self.registry('base_import.import')
- id = Import.create(self.cr, self.uid, {
+ import_wizard = self.env['base_import.import'].create({
'res_model': 'base_import.tests.models.preview',
'file': 'name,Some Value,Counter\n'
'foo,1,2\n'
@@ -421,10 +415,10 @@ class test_convert_import_data(TransactionCase):
',5,6\n',
'file_type': 'text/csv'
})
- record = Import.browse(self.cr, self.uid, id)
- data, fields = Import._convert_import_data(
- record, ['name', False, 'othervalue'],
- {'quoting': '"', 'separator': ',', 'headers': True,})
+ data, fields = import_wizard._convert_import_data(
+ ['name', False, 'othervalue'],
+ {'quoting': '"', 'separator': ',', 'headers': True}
+ )
self.assertItemsEqual(fields, ['name', 'othervalue'])
self.assertItemsEqual(data, [
@@ -433,8 +427,7 @@ class test_convert_import_data(TransactionCase):
])
def test_empty_rows(self):
- Import = self.registry('base_import.import')
- id = Import.create(self.cr, self.uid, {
+ import_wizard = self.env['base_import.import'].create({
'res_model': 'base_import.tests.models.preview',
'file': 'name,Some Value\n'
'foo,1\n'
@@ -444,10 +437,10 @@ class test_convert_import_data(TransactionCase):
'\t \n',
'file_type': 'text/csv'
})
- record = Import.browse(self.cr, self.uid, id)
- data, fields = Import._convert_import_data(
- record, ['name', 'somevalue'],
- {'quoting': '"', 'separator': ',', 'headers': True,})
+ data, fields = import_wizard._convert_import_data(
+ ['name', 'somevalue'],
+ {'quoting': '"', 'separator': ',', 'headers': True}
+ )
self.assertItemsEqual(fields, ['name', 'somevalue'])
self.assertItemsEqual(data, [
@@ -456,45 +449,33 @@ class test_convert_import_data(TransactionCase):
])
def test_nofield(self):
- Import = self.registry('base_import.import')
-
- id = Import.create(self.cr, self.uid, {
+ import_wizard = self.env['base_import.import'].create({
'res_model': 'base_import.tests.models.preview',
'file': 'name,Some Value,Counter\n'
'foo,1,2\n',
'file_type': 'text/csv'
})
-
- record = Import.browse(self.cr, self.uid, id)
- self.assertRaises(
- ValueError,
- Import._convert_import_data,
- record, [],
- {'quoting': '"', 'separator': ',', 'headers': True,})
+ self.assertRaises(ValueError, import_wizard._convert_import_data, [], {'quoting': '"', 'separator': ',', 'headers': True})
def test_falsefields(self):
- Import = self.registry('base_import.import')
-
- id = Import.create(self.cr, self.uid, {
+ import_wizard = self.env['base_import.import'].create({
'res_model': 'base_import.tests.models.preview',
'file': 'name,Some Value,Counter\n'
'foo,1,2\n',
'file_type': 'text/csv'
})
- record = Import.browse(self.cr, self.uid, id)
self.assertRaises(
ValueError,
- Import._convert_import_data,
- record, [False, False, False],
- {'quoting': '"', 'separator': ',', 'headers': True,})
+ import_wizard._convert_import_data,
+ [False, False, False],
+ {'quoting': '"', 'separator': ',', 'headers': True})
def test_newline_import(self):
"""
Ensure importing keep newlines
"""
- Import = self.registry('base_import.import')
output = io.BytesIO()
writer = csv.writer(output, quoting=csv.QUOTE_ALL)
@@ -503,18 +484,19 @@ class test_convert_import_data(TransactionCase):
writer.writerow(["name", "Some Value"])
writer.writerow(data_row)
- id = Import.create(self.cr, self.uid, {
+ import_wizard = self.env['base_import.import'].create({
'res_model': 'base_import.tests.models.preview',
'file': output.getvalue(),
'file_type': 'text/csv',
})
- record = Import.browse(self.cr, self.uid, id)
- data, _ = Import._convert_import_data(
- record, ['name', 'somevalue'],
- {'quoting': '"', 'separator': ',', 'headers': True,})
+ data, _ = import_wizard._convert_import_data(
+ ['name', 'somevalue'],
+ {'quoting': '"', 'separator': ',', 'headers': True}
+ )
self.assertItemsEqual(data, [data_row])
+
class test_failures(TransactionCase):
def test_big_attachments(self):
"""
@@ -533,14 +515,12 @@ class test_failures(TransactionCase):
['foo', im.tobytes().encode('base64')]
])
- Import = self.env['base_import.import']
- imp = Import.create({
+ import_wizard = self.env['base_import.import'].create({
'res_model': 'ir.attachment',
'file': fout.getvalue(),
'file_type': 'text/csv'
})
- [results] = imp.do(
+ results = import_wizard.do(
['name', 'db_datas'],
{'headers': True, 'separator': ',', 'quoting': '"'})
- self.assertFalse(
- results, "results should be empty on successful import")
+ self.assertFalse(results, "results should be empty on successful import")