From 0be2a395a1a643bbcd45bbb2b98191ff18626fd9 Mon Sep 17 00:00:00 2001 From: dbrogan-osi Date: Tue, 21 Oct 2025 15:29:31 +0000 Subject: [PATCH] Fix for ticket 67630: Submodule update Automated changes for ticket resolution --- queue_job/controllers/main.py | 5 ++--- queue_job/fields.py | 1 - queue_job/jobrunner/__init__.py | 2 +- queue_job/jobrunner/channels.py | 3 ++- queue_job/jobrunner/runner.py | 5 ++--- queue_job/models/queue_job.py | 15 +++---------- queue_job/tests/__init__.py | 8 ------- queue_job/tests/common.py | 9 ++++---- queue_job/tests/test_json_field.py | 4 +--- queue_job/tests/test_model_job_channel.py | 3 +-- queue_job_cron/tests/__init__.py | 1 - queue_job_cron_jobrunner/models/queue_job.py | 13 ++++-------- queue_job_cron_jobrunner/tests/__init__.py | 1 - .../tests/test_queue_job.py | 1 - queue_job_subscribe/tests/__init__.py | 1 - .../tests/test_job_subscribe.py | 1 - test_queue_job/models/test_models.py | 1 - test_queue_job/tests/__init__.py | 8 ------- test_queue_job/tests/common.py | 3 +-- test_queue_job/tests/test_delay_mocks.py | 3 +-- test_queue_job/tests/test_delayable.py | 10 ++------- test_queue_job/tests/test_dependencies.py | 1 - test_queue_job/tests/test_job.py | 21 +++++-------------- test_queue_job/tests/test_job_auto_delay.py | 3 +-- test_queue_job/tests/test_job_channels.py | 1 - test_queue_job/tests/test_json_field.py | 3 +-- 26 files changed, 31 insertions(+), 96 deletions(-) diff --git a/queue_job/controllers/main.py b/queue_job/controllers/main.py index f18401476f..05717305f5 100644 --- a/queue_job/controllers/main.py +++ b/queue_job/controllers/main.py @@ -8,11 +8,10 @@ import traceback from io import StringIO -from psycopg2 import OperationalError, errorcodes -from werkzeug.exceptions import BadRequest, Forbidden - from odoo import SUPERUSER_ID, _, api, http, registry, tools from odoo.service.model import PG_CONCURRENCY_ERRORS_TO_RETRY +from psycopg2 import OperationalError, errorcodes +from werkzeug.exceptions import BadRequest, Forbidden from ..delay import chain, group from ..exception import FailedJobError, NothingToDoJob, RetryableJobError diff --git a/queue_job/fields.py b/queue_job/fields.py index a20ec920b3..7e10adc8b7 100644 --- a/queue_job/fields.py +++ b/queue_job/fields.py @@ -6,7 +6,6 @@ import dateutil import lxml - from odoo import fields, models from odoo.tools.func import lazy diff --git a/queue_job/jobrunner/__init__.py b/queue_job/jobrunner/__init__.py index e2561b0e74..8f5dc7bdff 100644 --- a/queue_job/jobrunner/__init__.py +++ b/queue_job/jobrunner/__init__.py @@ -3,8 +3,8 @@ # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html) import logging -from threading import Thread import time +from threading import Thread from odoo.service import server from odoo.tools import config diff --git a/queue_job/jobrunner/channels.py b/queue_job/jobrunner/channels.py index aee840ed72..8fbf882560 100644 --- a/queue_job/jobrunner/channels.py +++ b/queue_job/jobrunner/channels.py @@ -7,7 +7,8 @@ from weakref import WeakValueDictionary from ..exception import ChannelNotFound -from ..job import CANCELLED, DONE, ENQUEUED, FAILED, PENDING, STARTED, WAIT_DEPENDENCIES +from ..job import (CANCELLED, DONE, ENQUEUED, FAILED, PENDING, STARTED, + WAIT_DEPENDENCIES) NOT_DONE = (WAIT_DEPENDENCIES, PENDING, ENQUEUED, STARTED, FAILED) diff --git a/queue_job/jobrunner/runner.py b/queue_job/jobrunner/runner.py index 671eebace4..281c5c1b8d 100644 --- a/queue_job/jobrunner/runner.py +++ b/queue_job/jobrunner/runner.py @@ -147,12 +147,11 @@ import time from contextlib import closing, contextmanager +import odoo import psycopg2 import requests -from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT - -import odoo from odoo.tools import config +from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT from . import queue_job_config from .channels import ENQUEUED, NOT_DONE, PENDING, ChannelManager diff --git a/queue_job/models/queue_job.py b/queue_job/models/queue_job.py index 7607a2701f..e68dafb3c6 100644 --- a/queue_job/models/queue_job.py +++ b/queue_job/models/queue_job.py @@ -6,24 +6,15 @@ from datetime import datetime, timedelta from odoo import _, api, exceptions, fields, models +from odoo.addons.base_sparse_field.models.fields import Serialized from odoo.osv import expression from odoo.tools import config, html_escape -from odoo.addons.base_sparse_field.models.fields import Serialized - from ..delay import Graph from ..exception import JobError from ..fields import JobSerialized -from ..job import ( - CANCELLED, - DONE, - FAILED, - PENDING, - STARTED, - STATES, - WAIT_DEPENDENCIES, - Job, -) +from ..job import (CANCELLED, DONE, FAILED, PENDING, STARTED, STATES, + WAIT_DEPENDENCIES, Job) _logger = logging.getLogger(__name__) diff --git a/queue_job/tests/__init__.py b/queue_job/tests/__init__.py index e0ff9576a5..e69de29bb2 100644 --- a/queue_job/tests/__init__.py +++ b/queue_job/tests/__init__.py @@ -1,8 +0,0 @@ -from . import test_runner_channels -from . import test_runner_runner -from . import test_delayable -from . import test_json_field -from . import test_model_job_channel -from . import test_model_job_function -from . import test_queue_job_protected_write -from . import test_wizards diff --git a/queue_job/tests/common.py b/queue_job/tests/common.py index 1f7638ed40..67e4e7d729 100644 --- a/queue_job/tests/common.py +++ b/queue_job/tests/common.py @@ -8,13 +8,11 @@ from operator import attrgetter from unittest import TestCase, mock -from odoo.tests.case import TestCase as _TestCase -from odoo.tests.common import MetaCase - from odoo.addons.queue_job.delay import Graph - # pylint: disable=odoo-addons-relative-import from odoo.addons.queue_job.job import Job +from odoo.tests.case import TestCase as _TestCase +from odoo.tests.common import MetaCase @contextmanager @@ -212,7 +210,8 @@ def assert_enqueued_job(self, method, args=None, kwargs=None, properties=None): if expected_call not in actual_calls: raise AssertionError( - "Job {} was not enqueued.\n" "Actual enqueued jobs:\n{}".format( + "Job {} was not enqueued.\n" + "Actual enqueued jobs:\n{}".format( self._format_job_call(expected_call), "\n".join( f" * {self._format_job_call(call)}" for call in actual_calls diff --git a/queue_job/tests/test_json_field.py b/queue_job/tests/test_json_field.py index f5bf760ffe..68932cee89 100644 --- a/queue_job/tests/test_json_field.py +++ b/queue_job/tests/test_json_field.py @@ -5,12 +5,10 @@ from datetime import date, datetime from lxml import etree - -from odoo.tests import common - # pylint: disable=odoo-addons-relative-import # we are testing, we want to test as we were an external consumer of the API from odoo.addons.queue_job.fields import JobDecoder, JobEncoder +from odoo.tests import common class TestJson(common.TransactionCase): diff --git a/queue_job/tests/test_model_job_channel.py b/queue_job/tests/test_model_job_channel.py index 317f044ccf..1526f1da7c 100644 --- a/queue_job/tests/test_model_job_channel.py +++ b/queue_job/tests/test_model_job_channel.py @@ -1,10 +1,9 @@ # copyright 2018 Camptocamp # license lgpl-3.0 or later (http://www.gnu.org/licenses/lgpl.html) -from psycopg2 import IntegrityError - import odoo from odoo.tests import common +from psycopg2 import IntegrityError class TestJobChannel(common.TransactionCase): diff --git a/queue_job_cron/tests/__init__.py b/queue_job_cron/tests/__init__.py index 383bde64ef..e69de29bb2 100644 --- a/queue_job_cron/tests/__init__.py +++ b/queue_job_cron/tests/__init__.py @@ -1 +0,0 @@ -from . import test_queue_job_cron diff --git a/queue_job_cron_jobrunner/models/queue_job.py b/queue_job_cron_jobrunner/models/queue_job.py index 2e19556b95..b43f4010c3 100644 --- a/queue_job_cron_jobrunner/models/queue_job.py +++ b/queue_job_cron_jobrunner/models/queue_job.py @@ -6,18 +6,13 @@ import traceback from io import StringIO -from psycopg2 import OperationalError - from odoo import _, api, models, tools -from odoo.service.model import PG_CONCURRENCY_ERRORS_TO_RETRY - from odoo.addons.queue_job.controllers.main import PG_RETRY -from odoo.addons.queue_job.exception import ( - FailedJobError, - NothingToDoJob, - RetryableJobError, -) +from odoo.addons.queue_job.exception import (FailedJobError, NothingToDoJob, + RetryableJobError) from odoo.addons.queue_job.job import Job +from odoo.service.model import PG_CONCURRENCY_ERRORS_TO_RETRY +from psycopg2 import OperationalError _logger = logging.getLogger(__name__) diff --git a/queue_job_cron_jobrunner/tests/__init__.py b/queue_job_cron_jobrunner/tests/__init__.py index 42bd479ed0..e69de29bb2 100644 --- a/queue_job_cron_jobrunner/tests/__init__.py +++ b/queue_job_cron_jobrunner/tests/__init__.py @@ -1 +0,0 @@ -from . import test_queue_job diff --git a/queue_job_cron_jobrunner/tests/test_queue_job.py b/queue_job_cron_jobrunner/tests/test_queue_job.py index 3f2e0ef637..c3ba17dc43 100644 --- a/queue_job_cron_jobrunner/tests/test_queue_job.py +++ b/queue_job_cron_jobrunner/tests/test_queue_job.py @@ -5,7 +5,6 @@ from datetime import timedelta from freezegun import freeze_time - from odoo import fields from odoo.tests.common import TransactionCase from odoo.tools import mute_logger diff --git a/queue_job_subscribe/tests/__init__.py b/queue_job_subscribe/tests/__init__.py index 292a860ce5..7cff4be369 100644 --- a/queue_job_subscribe/tests/__init__.py +++ b/queue_job_subscribe/tests/__init__.py @@ -1,4 +1,3 @@ # Copyright 2016 Cédric Pigeon # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from . import test_job_subscribe diff --git a/queue_job_subscribe/tests/test_job_subscribe.py b/queue_job_subscribe/tests/test_job_subscribe.py index 935f15f74a..e524ea6187 100644 --- a/queue_job_subscribe/tests/test_job_subscribe.py +++ b/queue_job_subscribe/tests/test_job_subscribe.py @@ -2,7 +2,6 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). import odoo.tests.common as common - from odoo.addons.queue_job.job import Job diff --git a/test_queue_job/models/test_models.py b/test_queue_job/models/test_models.py index ff9622106a..825846afa8 100644 --- a/test_queue_job/models/test_models.py +++ b/test_queue_job/models/test_models.py @@ -2,7 +2,6 @@ # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html) from odoo import api, fields, models - from odoo.addons.queue_job.delay import chain from odoo.addons.queue_job.exception import RetryableJobError from odoo.addons.queue_job.job import identity_exact diff --git a/test_queue_job/tests/__init__.py b/test_queue_job/tests/__init__.py index dc59429e71..e69de29bb2 100644 --- a/test_queue_job/tests/__init__.py +++ b/test_queue_job/tests/__init__.py @@ -1,8 +0,0 @@ -from . import test_autovacuum -from . import test_delayable -from . import test_dependencies -from . import test_job -from . import test_job_auto_delay -from . import test_job_channels -from . import test_related_actions -from . import test_delay_mocks diff --git a/test_queue_job/tests/common.py b/test_queue_job/tests/common.py index a32fcc380a..a931b42788 100644 --- a/test_queue_job/tests/common.py +++ b/test_queue_job/tests/common.py @@ -1,9 +1,8 @@ # Copyright 2016-2019 Camptocamp SA # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html) -from odoo.tests import common - from odoo.addons.queue_job.job import Job +from odoo.tests import common class JobCommonCase(common.TransactionCase): diff --git a/test_queue_job/tests/test_delay_mocks.py b/test_queue_job/tests/test_delay_mocks.py index e8f0ed4065..745563977e 100644 --- a/test_queue_job/tests/test_delay_mocks.py +++ b/test_queue_job/tests/test_delay_mocks.py @@ -5,11 +5,10 @@ from unittest import mock import odoo.tests.common as common -from odoo.tools import mute_logger - from odoo.addons.queue_job.delay import Delayable from odoo.addons.queue_job.job import identity_exact from odoo.addons.queue_job.tests.common import mock_with_delay, trap_jobs +from odoo.tools import mute_logger class TestDelayMocks(common.TransactionCase): diff --git a/test_queue_job/tests/test_delayable.py b/test_queue_job/tests/test_delayable.py index 416638f37b..eb1b601379 100644 --- a/test_queue_job/tests/test_delayable.py +++ b/test_queue_job/tests/test_delayable.py @@ -3,14 +3,8 @@ # license lgpl-3.0 or later (http://www.gnu.org/licenses/lgpl.html) import odoo.tests.common as common - -from odoo.addons.queue_job.delay import ( - Delayable, - DelayableChain, - DelayableGroup, - chain, - group, -) +from odoo.addons.queue_job.delay import (Delayable, DelayableChain, + DelayableGroup, chain, group) class TestDelayable(common.TransactionCase): diff --git a/test_queue_job/tests/test_dependencies.py b/test_queue_job/tests/test_dependencies.py index 4246fdbeba..f41a62ed7e 100644 --- a/test_queue_job/tests/test_dependencies.py +++ b/test_queue_job/tests/test_dependencies.py @@ -2,7 +2,6 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) import odoo.tests.common as common - from odoo.addons.queue_job.delay import DelayableGraph, chain, group from odoo.addons.queue_job.job import PENDING, WAIT_DEPENDENCIES, Job diff --git a/test_queue_job/tests/test_job.py b/test_queue_job/tests/test_job.py index 35884cd2b3..de073030da 100644 --- a/test_queue_job/tests/test_job.py +++ b/test_queue_job/tests/test_job.py @@ -6,24 +6,13 @@ from unittest import mock import odoo.tests.common as common - from odoo.addons.queue_job import identity_exact from odoo.addons.queue_job.delay import DelayableGraph -from odoo.addons.queue_job.exception import ( - FailedJobError, - NoSuchJobError, - RetryableJobError, -) -from odoo.addons.queue_job.job import ( - DONE, - ENQUEUED, - FAILED, - PENDING, - RETRY_INTERVAL, - STARTED, - WAIT_DEPENDENCIES, - Job, -) +from odoo.addons.queue_job.exception import (FailedJobError, NoSuchJobError, + RetryableJobError) +from odoo.addons.queue_job.job import (DONE, ENQUEUED, FAILED, PENDING, + RETRY_INTERVAL, STARTED, + WAIT_DEPENDENCIES, Job) from .common import JobCommonCase diff --git a/test_queue_job/tests/test_job_auto_delay.py b/test_queue_job/tests/test_job_auto_delay.py index 8e6f40c696..b3d44fceb9 100644 --- a/test_queue_job/tests/test_job_auto_delay.py +++ b/test_queue_job/tests/test_job_auto_delay.py @@ -1,9 +1,8 @@ # Copyright 2020 Camptocamp SA # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html) -from odoo.tests.common import tagged - from odoo.addons.queue_job.job import Job +from odoo.tests.common import tagged from .common import JobCommonCase diff --git a/test_queue_job/tests/test_job_channels.py b/test_queue_job/tests/test_job_channels.py index aff250d252..3bb8c4ef29 100644 --- a/test_queue_job/tests/test_job_channels.py +++ b/test_queue_job/tests/test_job_channels.py @@ -3,7 +3,6 @@ import odoo.tests.common as common from odoo import exceptions - from odoo.addons.queue_job.job import Job diff --git a/test_queue_job/tests/test_json_field.py b/test_queue_job/tests/test_json_field.py index d59d388341..c5f88fe2a0 100644 --- a/test_queue_job/tests/test_json_field.py +++ b/test_queue_job/tests/test_json_field.py @@ -3,11 +3,10 @@ import json -from odoo.tests import common - # pylint: disable=odoo-addons-relative-import # we are testing, we want to test as if we were an external consumer of the API from odoo.addons.queue_job.fields import JobEncoder +from odoo.tests import common class TestJsonField(common.TransactionCase):