Skip to content

Commit 5cd863b

Browse files
committed
fix test
Signed-off-by: Ma, Xiangxiang <xiangxiang.ma@intel.com>
1 parent 6cad942 commit 5cd863b

File tree

3 files changed

+32
-4
lines changed

3 files changed

+32
-4
lines changed

application/backend/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ dev = [
3333
"flaky~=3.8",
3434
"testfixtures~=8.2",
3535
"httpx~=0.24",
36+
"freezegun~=1.5",
3637
]
3738
lint = [
3839
"ruff~=0.11.2",

application/backend/tests/unit/services/test_job_service.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
# Copyright (C) 2025 Intel Corporation
22
# SPDX-License-Identifier: Apache-2.0
33
import asyncio
4+
from datetime import datetime, timezone
45
from unittest.mock import AsyncMock, MagicMock, patch
56

67
import pytest
8+
from freezegun import freeze_time
79
from sqlalchemy.exc import IntegrityError
810

911
from exceptions import DuplicateJobException, ResourceNotFoundException
@@ -147,14 +149,25 @@ def test_get_pending_train_job(self, fxt_job_repository, fxt_job, job_exists, ex
147149
fxt_job_repository.get_pending_job_by_type.assert_called_once_with(JobType.TRAINING)
148150

149151
@pytest.mark.parametrize(
150-
"has_message,message,expected_updates",
152+
"has_message,message",
151153
[
152-
(True, "Test message", {"status": JobStatus.COMPLETED, "message": "Test message", "progress": 100}),
153-
(False, None, {"status": JobStatus.COMPLETED, "progress": 100}),
154+
(True, "Test message"),
155+
(False, None),
154156
],
155157
)
156-
def test_update_job_status_success(self, fxt_job_repository, fxt_job, has_message, message, expected_updates):
158+
@freeze_time("2025-01-01 00:00:00")
159+
def test_update_job_status_success(self, fxt_job_repository, fxt_job, has_message, message):
157160
"""Test updating job status successfully with and without message."""
161+
# Expected updates include end_time since status is COMPLETED
162+
frozen_time = datetime(2025, 1, 1, 0, 0, 0, tzinfo=timezone.utc)
163+
expected_updates = {
164+
"status": JobStatus.COMPLETED,
165+
"end_time": frozen_time,
166+
"progress": 100,
167+
}
168+
if has_message:
169+
expected_updates["message"] = message
170+
158171
# Create an updated job object that the repository would return
159172
updated_job = fxt_job.model_copy(update=expected_updates)
160173
fxt_job_repository.get_by_id.return_value = fxt_job

application/backend/uv.lock

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)