fix pre-commit
Some checks failed
CI/CD Pipeline / Telegram Notify Success (push) Has been cancelled
CI/CD Pipeline / Run Tests (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (push) Has been cancelled
CI/CD Pipeline / Code Quality Checks (pull_request) Successful in 1m42s
CI/CD Pipeline / Run Tests (pull_request) Successful in 2m25s
CI/CD Pipeline / Telegram Notify Success (pull_request) Successful in 1m34s

This commit is contained in:
2026-03-17 13:55:34 +01:00
parent 3d298ce352
commit 25176f31b4
31 changed files with 653 additions and 553 deletions

View File

@@ -16,27 +16,25 @@ class ExchangeTasksTest(SimpleTestCase):
with patch(
"apps.exchange.tasks.BackgroundJobService.get_by_task_id_or_none",
return_value=background_job,
) as get_job_mock:
with patch(
"apps.exchange.tasks.ExchangeConnection.objects.filter",
) as filter_mock:
with patch(
"apps.exchange.tasks.ExchangeConnectionService.copy_parsers_data",
return_value={
"mode": "all",
"tables": ["fake_table"],
"rows_by_table": {"fake_table": 3},
"total_rows": 3,
"truncate_before_copy": True,
},
) as copy_mock:
filter_mock.return_value.first.return_value = connection
) as get_job_mock, patch(
"apps.exchange.tasks.ExchangeConnection.objects.filter",
) as filter_mock, patch(
"apps.exchange.tasks.ExchangeConnectionService.copy_parsers_data",
return_value={
"mode": "all",
"tables": ["fake_table"],
"rows_by_table": {"fake_table": 3},
"total_rows": 3,
"truncate_before_copy": True,
},
) as copy_mock:
filter_mock.return_value.first.return_value = connection
result = copy_parsers_data_async.run(
connection_id=11,
payload={"mode": "all", "truncate_before_copy": True},
requested_by_id=7,
)
result = copy_parsers_data_async.run(
connection_id=11,
payload={"mode": "all", "truncate_before_copy": True},
requested_by_id=7,
)
finally:
copy_parsers_data_async.pop_request()
@@ -56,34 +54,33 @@ class ExchangeTasksTest(SimpleTestCase):
truncate_before_copy=True,
)
def test_copy_parsers_data_async_creates_job_and_fails_when_connection_missing(self):
def test_copy_parsers_data_async_creates_job_and_fails_when_connection_missing(
self,
):
background_job = MagicMock()
copy_parsers_data_async.push_request(id=None)
try:
with patch("apps.exchange.tasks.uuid.uuid4", return_value="generated-task-id"):
with patch(
"apps.exchange.tasks.BackgroundJobService.get_by_task_id_or_none",
return_value=None,
):
with patch(
"apps.exchange.tasks.BackgroundJobService.create_job",
return_value=background_job,
) as create_job_mock:
with patch(
"apps.exchange.tasks.ExchangeConnection.objects.filter",
) as filter_mock:
filter_mock.return_value.first.return_value = None
with self.assertRaisesMessage(
ValueError,
"Active exchange connection not found: 42",
):
copy_parsers_data_async.run(
connection_id=42,
payload={"mode": "all"},
requested_by_id=3,
)
with patch(
"apps.exchange.tasks.uuid.uuid4", return_value="generated-task-id"
), patch(
"apps.exchange.tasks.BackgroundJobService.get_by_task_id_or_none",
return_value=None,
), patch(
"apps.exchange.tasks.BackgroundJobService.create_job",
return_value=background_job,
) as create_job_mock, patch(
"apps.exchange.tasks.ExchangeConnection.objects.filter",
) as filter_mock, self.assertRaisesMessage(
ValueError,
"Active exchange connection not found: 42",
):
filter_mock.return_value.first.return_value = None
copy_parsers_data_async.run(
connection_id=42,
payload={"mode": "all"},
requested_by_id=3,
)
finally:
copy_parsers_data_async.pop_request()
@@ -93,7 +90,9 @@ class ExchangeTasksTest(SimpleTestCase):
user_id=3,
meta={"connection_id": 42, "mode": "all"},
)
background_job.fail.assert_called_once_with(error="Активное подключение не найдено")
background_job.fail.assert_called_once_with(
error="Активное подключение не найдено"
)
def test_copy_parsers_data_async_marks_failure_and_reraises(self):
background_job = MagicMock()
@@ -104,22 +103,22 @@ class ExchangeTasksTest(SimpleTestCase):
with patch(
"apps.exchange.tasks.BackgroundJobService.get_by_task_id_or_none",
return_value=background_job,
):
with patch(
"apps.exchange.tasks.ExchangeConnection.objects.filter",
) as filter_mock:
with patch(
"apps.exchange.tasks.ExchangeConnectionService.copy_parsers_data",
side_effect=RuntimeError("copy failed"),
):
with patch("apps.exchange.tasks.logger.exception") as logger_mock:
filter_mock.return_value.first.return_value = connection
with self.assertRaisesMessage(RuntimeError, "copy failed"):
copy_parsers_data_async.run(
connection_id=9,
payload={"mode": "selected", "tables": ["fake_table"]},
)
), patch(
"apps.exchange.tasks.ExchangeConnection.objects.filter",
) as filter_mock, patch(
"apps.exchange.tasks.ExchangeConnectionService.copy_parsers_data",
side_effect=RuntimeError("copy failed"),
), patch(
"apps.exchange.tasks.logger.exception"
) as logger_mock, self.assertRaisesMessage(RuntimeError, "copy failed"):
filter_mock.return_value.first.return_value = connection
copy_parsers_data_async.run(
connection_id=9,
payload={
"mode": "selected",
"tables": ["fake_table"],
},
)
finally:
copy_parsers_data_async.pop_request()