From fad47ffae849fa2fbbdef2aa21a7078c521769b0 Mon Sep 17 00:00:00 2001 From: sonhd91 Date: Mon, 30 Oct 2023 11:48:26 +0700 Subject: [PATCH] [15.0] connector-interfaces: fix test cases mock import --- connector_importer/models/import_type.py | 5 ++++- connector_importer/tests/common.py | 6 +++++- connector_importer/tests/test_event_listeners.py | 9 +++++++-- connector_importer/tests/test_import_type.py | 6 +++--- connector_importer/tests/test_recordset_importer.py | 2 +- connector_importer/tests/test_source.py | 3 ++- connector_importer/utils/misc.py | 2 +- connector_importer_source_sftp/tests/common.py | 7 ++----- .../tests/test_csv_sftp_source.py | 4 +--- .../tests/test_event_listener.py | 3 +-- 10 files changed, 27 insertions(+), 20 deletions(-) diff --git a/connector_importer/models/import_type.py b/connector_importer/models/import_type.py index 0d9bb851a..03132fd57 100644 --- a/connector_importer/models/import_type.py +++ b/connector_importer/models/import_type.py @@ -107,7 +107,10 @@ def _check_options(self): ) def _load_options(self): - return yaml.safe_load(self.options or "") or [] + options = [] + if self.options: + options = yaml.safe_load(self.options) + return options if isinstance(options, list) else [options] def available_importers(self): self.ensure_one() diff --git a/connector_importer/tests/common.py b/connector_importer/tests/common.py index cf4d22545..962ce903d 100644 --- a/connector_importer/tests/common.py +++ b/connector_importer/tests/common.py @@ -80,7 +80,11 @@ def _setup_records(cls): "key": "fake", "options": """ - model: res.partner - importer: fake.partner.importer + importer: + name: fake.partner.importer + options: + record_handler: + match_domain: "[('name', '=', values['name'])]" """, } ) diff --git a/connector_importer/tests/test_event_listeners.py b/connector_importer/tests/test_event_listeners.py index 17bfb4112..dac24af33 100644 --- a/connector_importer/tests/test_event_listeners.py +++ b/connector_importer/tests/test_event_listeners.py @@ -2,7 +2,8 @@ # Copyright 2023 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -import mock +from unittest import mock + from odoo_test_helper import FakeModelLoader from odoo.tools import mute_logger @@ -56,7 +57,11 @@ def setUpClass(cls): { "options": f""" - model: res.partner - importer: fake.partner.importer + importer: + name: fake.partner.importer + options: + record_handler: + match_domain: "[('name', '=', values['name'])]" - model: {FakeImportedModel._name} options: record_handler: diff --git a/connector_importer/tests/test_import_type.py b/connector_importer/tests/test_import_type.py index 7ed666761..0bb0a22bc 100644 --- a/connector_importer/tests/test_import_type.py +++ b/connector_importer/tests/test_import_type.py @@ -42,8 +42,8 @@ def test_available_importers_legacy(self): importers, ( { - "importer": "partner.importer", "model": "res.partner", + "importer": "partner.importer", "is_last_importer": False, "context": {}, "options": { @@ -54,8 +54,8 @@ def test_available_importers_legacy(self): }, }, { - "importer": "user.importer", "model": "res.users", + "importer": "user.importer", "is_last_importer": False, "context": {}, "options": { @@ -66,8 +66,8 @@ def test_available_importers_legacy(self): }, }, { - "importer": "import.withspaces", "model": "another.one", + "importer": "import.withspaces", "is_last_importer": True, "context": {}, "options": { diff --git a/connector_importer/tests/test_recordset_importer.py b/connector_importer/tests/test_recordset_importer.py index 8fd4d2d51..3d8b6af45 100644 --- a/connector_importer/tests/test_recordset_importer.py +++ b/connector_importer/tests/test_recordset_importer.py @@ -2,7 +2,7 @@ # Copyright 2018 Camptocamp SA # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -import mock +from unittest import mock from odoo.tools import mute_logger diff --git a/connector_importer/tests/test_source.py b/connector_importer/tests/test_source.py index 222978f33..b8724d865 100644 --- a/connector_importer/tests/test_source.py +++ b/connector_importer/tests/test_source.py @@ -3,7 +3,8 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -import mock +from unittest import mock + from odoo_test_helper import FakeModelLoader from .common import BaseTestCase diff --git a/connector_importer/utils/misc.py b/connector_importer/utils/misc.py index d7402d3ab..7cb56af70 100644 --- a/connector_importer/utils/misc.py +++ b/connector_importer/utils/misc.py @@ -66,7 +66,7 @@ def to_b64(file_content): """Safe convertion to b64""" try: # py > 3.9 - return base64.encodestring(file_content) + return base64.encodebytes(file_content) except AttributeError: # py <= 3.9 return base64.b64encode(file_content) diff --git a/connector_importer_source_sftp/tests/common.py b/connector_importer_source_sftp/tests/common.py index e53b5b7f3..714021880 100644 --- a/connector_importer_source_sftp/tests/common.py +++ b/connector_importer_source_sftp/tests/common.py @@ -2,10 +2,7 @@ # @author: Simone Orsi # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from odoo.addons.component.tests.common import ( - TransactionComponentCase, - TransactionComponentRegistryCase, -) +from odoo.addons.component.tests.common import TransactionComponentCase from odoo.addons.connector_importer.tests.common import TestImporterMixin @@ -28,7 +25,7 @@ def setUpClass(cls): class SFTPSourceTransactionComponentRegistryCase( - TransactionComponentRegistryCase, TestImporterMixin, TestSourceCSVSFTPMixin + TestImporterMixin, TestSourceCSVSFTPMixin ): @classmethod def setUpClass(cls): diff --git a/connector_importer_source_sftp/tests/test_csv_sftp_source.py b/connector_importer_source_sftp/tests/test_csv_sftp_source.py index f85c73942..7d401ee70 100644 --- a/connector_importer_source_sftp/tests/test_csv_sftp_source.py +++ b/connector_importer_source_sftp/tests/test_csv_sftp_source.py @@ -4,8 +4,7 @@ import base64 import io - -import mock +from unittest import mock from odoo.tools import mute_logger @@ -15,7 +14,6 @@ class TestSourceCSV(SFTPSourceTransactionComponentCase): - extra_fields = [ "chunk_size", "csv_filesize", diff --git a/connector_importer_source_sftp/tests/test_event_listener.py b/connector_importer_source_sftp/tests/test_event_listener.py index d64ff44cc..8c5f5427e 100644 --- a/connector_importer_source_sftp/tests/test_event_listener.py +++ b/connector_importer_source_sftp/tests/test_event_listener.py @@ -4,8 +4,7 @@ import base64 import io - -import mock +from unittest import mock from odoo.tools import mute_logger