Skip to content

Commit 8c4d419

Browse files
authored
Merge pull request #8129 from fstagni/90_fix_test
[9.0] fix Test_TransformationInfo tests
2 parents 8edb622 + 0ca41c2 commit 8c4d419

File tree

2 files changed

+24
-17
lines changed

2 files changed

+24
-17
lines changed

src/DIRAC/TransformationSystem/Utilities/TransformationInfo.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from collections import OrderedDict, defaultdict
33
from itertools import zip_longest
44

5-
from DIRAC import gLogger, S_OK
5+
from DIRAC import S_OK, gLogger
66
from DIRAC.Core.Utilities.List import breakListIntoChunks
77
from DIRAC.Core.Utilities.Proxy import UserProxy
88
from DIRAC.DataManagementSystem.Client.DataManager import DataManager
@@ -14,7 +14,7 @@
1414
class TransformationInfo:
1515
"""Hold information about a transformation."""
1616

17-
def __init__(self, transformationID, transInfoDict, enabled, tClient, fcClient, jobMon):
17+
def __init__(self, transformationID, transInfoDict, enabled, tClient, fcClient, jobMon, jobStatusUtility=None):
1818
"""Store clients etc."""
1919
self.log = gLogger.getSubLogger(__name__ + f"[{transformationID}]")
2020
self.enabled = enabled
@@ -26,7 +26,7 @@ def __init__(self, transformationID, transInfoDict, enabled, tClient, fcClient,
2626
self.transType = transInfoDict["Type"]
2727
self.author = transInfoDict["Author"]
2828
self.authorGroup = transInfoDict["AuthorGroup"]
29-
self.jobStatusUtility = JobStatusUtility()
29+
self.jobStatusUtility = jobStatusUtility or JobStatusUtility()
3030

3131
def checkTasksStatus(self):
3232
"""Check the status for the task of given transformation and taskID"""

src/DIRAC/TransformationSystem/test/Test_TransformationInfo.py

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
"""Test the Transformationinfo."""
22
from collections import OrderedDict
33
from contextlib import contextmanager
4+
from unittest.mock import MagicMock as Mock
5+
from unittest.mock import patch
46

57
import pytest
6-
from unittest.mock import MagicMock as Mock, patch
78

8-
from DIRAC import S_OK, S_ERROR
99
import DIRAC
10-
import DIRAC.TransformationSystem.Client.TransformationClient
1110
import DIRAC.Resources.Catalog.FileCatalogClient
11+
import DIRAC.TransformationSystem.Client.TransformationClient
1212
import DIRAC.WorkloadManagementSystem.Client.JobMonitoringClient
13+
from DIRAC import S_ERROR, S_OK
14+
from DIRAC.tests.Utilities.utils import MatchStringWith
1315
from DIRAC.TransformationSystem.Utilities.JobInfo import JobInfo
1416
from DIRAC.TransformationSystem.Utilities.TransformationInfo import TransformationInfo
1517

16-
from DIRAC.tests.Utilities.utils import MatchStringWith
17-
1818
# pylint: disable=W0212, redefined-outer-name
1919

2020

@@ -63,10 +63,15 @@ def tiFixture():
6363
)
6464

6565
tri = TransformationInfo(
66-
transformationID=1234, transInfoDict=transInfoDict, enabled=False, tClient=tMock, fcClient=fcMock, jobMon=jmMock
66+
transformationID=1234,
67+
transInfoDict=transInfoDict,
68+
enabled=False,
69+
tClient=tMock,
70+
fcClient=fcMock,
71+
jobMon=jmMock,
72+
jobStatusUtility=jsucMock,
6773
)
6874
tri.log = Mock(name="LogMock")
69-
tri.jobStatusUtility = jsucMock
7075
return tri
7176

7277

@@ -216,23 +221,25 @@ def test_setTaskStatus(tiFixture):
216221
def test_updateJobStatus(tiFixture):
217222
"""DIRAC.TransformationSystem.Utilities.TransformationInfo updateJobStatus................"""
218223

219-
tiFixture.jobStateClient.setJobStatus = Mock()
220-
tiFixture.jobStateClient.setJobStatus.return_value = S_OK()
224+
tiFixture.jobStatusUtility.setJobStatus = Mock()
225+
tiFixture.jobStatusUtility.setJobStatus.return_value = S_OK()
221226
tiFixture.enabled = False
222227
res = tiFixture._TransformationInfo__updateJobStatus(1234, "Failed", minorstatus=None)
223228
assert res["OK"]
224229
assert res["Value"] == "DisabledMode"
225-
tiFixture.jobStateClient.setJobStatus.assert_not_called()
230+
tiFixture.jobStatusUtility.setJobStatus.assert_not_called()
226231

227-
tiFixture.jobStateClient.setJobStatus.reset()
228-
tiFixture.jobStateClient.setJobStatus.return_value = S_OK("added record")
232+
tiFixture.jobStatusUtility.setJobStatus.reset()
233+
tiFixture.jobStatusUtility.setJobStatus.return_value = S_OK("added record")
229234
tiFixture.enabled = True
230235
res = tiFixture._TransformationInfo__updateJobStatus(1234, "Failed", minorstatus=None)
231236
assert res["OK"]
232237
assert res["Value"] == "added record"
233-
tiFixture.jobStateClient.setJobStatus.assert_called_once_with(1234, "Failed", None, "DataRecoveryAgent", None, True)
238+
tiFixture.jobStatusUtility.setJobStatus.assert_called_once_with(
239+
1234, status="Failed", minorStatus=None, source="DataRecoveryAgent", dateTime=None, force=True
240+
)
234241

235-
tiFixture.jobStateClient.setJobStatus.return_value = S_ERROR("Error setting job status")
242+
tiFixture.jobStatusUtility.setJobStatus.return_value = S_ERROR("Error setting job status")
236243
tiFixture.enabled = True
237244
with pytest.raises(RuntimeError) as re:
238245
tiFixture._TransformationInfo__updateJobStatus(1234, "Failed", minorstatus=None)

0 commit comments

Comments
 (0)