2323import com .iexec .commons .poco .chain .ChainReceipt ;
2424import com .iexec .commons .poco .chain .ChainTask ;
2525import com .iexec .commons .poco .chain .ChainTaskStatus ;
26+ import com .iexec .commons .poco .task .TaskDescription ;
2627import com .iexec .commons .poco .tee .TeeUtils ;
2728import com .iexec .commons .poco .utils .BytesUtils ;
2829import com .iexec .core .chain .IexecHubService ;
4849import org .mockito .MockitoAnnotations ;
4950import org .springframework .context .ApplicationEventPublisher ;
5051
52+ import java .math .BigInteger ;
5153import java .time .Instant ;
5254import java .time .temporal .ChronoUnit ;
5355import java .util .ArrayList ;
@@ -689,6 +691,7 @@ void shouldNotUpdateRunning2Finalized2CompletedWhenTaskNotRunning() {
689691 Task task = getStubTask (maxExecutionTime );
690692 task .changeStatus (INITIALIZED );
691693 task .setTag (TeeUtils .TEE_SCONE_ONLY_TAG );
694+ mockTaskDescriptionFromTask (task );
692695
693696 taskUpdateManager .running2Finalized2Completed (task );
694697 assertThat (task .getCurrentStatus ()).isEqualTo (INITIALIZED );
@@ -701,6 +704,7 @@ void shouldNotUpdateRunning2Finalized2CompletedWhenNoReplicates() {
701704 task .setTag (TeeUtils .TEE_SCONE_ONLY_TAG );
702705
703706 when (replicatesService .getReplicatesList (CHAIN_TASK_ID )).thenReturn (Optional .empty ());
707+ mockTaskDescriptionFromTask (task );
704708
705709 taskUpdateManager .running2Finalized2Completed (task );
706710 assertThat (task .getCurrentStatus ()).isEqualTo (RUNNING );
@@ -714,6 +718,7 @@ void shouldNotUpdateRunning2Finalized2CompletedWhenTaskIsNotTee() {
714718 final ReplicatesList replicatesList = Mockito .spy (new ReplicatesList (CHAIN_TASK_ID ));
715719
716720 when (replicatesService .getReplicatesList (CHAIN_TASK_ID )).thenReturn (Optional .of (replicatesList ));
721+ mockTaskDescriptionFromTask (task );
717722 taskUpdateManager .running2Finalized2Completed (task );
718723 assertThat (task .getCurrentStatus ()).isEqualTo (RUNNING );
719724 }
@@ -728,6 +733,7 @@ void shouldNotUpdateRunning2Finalized2CompletedWhenNoReplicatesOnContributeAndFi
728733
729734 when (replicatesService .getReplicatesList (CHAIN_TASK_ID )).thenReturn (Optional .of (replicatesList ));
730735 when (replicatesList .getNbReplicatesWithCurrentStatus (ReplicateStatus .CONTRIBUTE_AND_FINALIZE_DONE )).thenReturn (0 );
736+ mockTaskDescriptionFromTask (task );
731737
732738 taskUpdateManager .running2Finalized2Completed (task );
733739 assertThat (task .getCurrentStatus ()).isEqualTo (RUNNING );
@@ -744,6 +750,7 @@ void shouldNotUpdateRunning2Finalized2CompletedWhenMoreThanOneReplicatesOnContri
744750 when (replicatesService .getReplicatesList (CHAIN_TASK_ID )).thenReturn (Optional .of (replicatesList ));
745751 when (replicatesList .getNbReplicatesWithCurrentStatus (ReplicateStatus .CONTRIBUTE_AND_FINALIZE_DONE )).thenReturn (2 );
746752 doNothing ().when (applicationEventPublisher ).publishEvent (any ());
753+ mockTaskDescriptionFromTask (task );
747754
748755 taskUpdateManager .running2Finalized2Completed (task );
749756 assertThat (task .getCurrentStatus ()).isEqualTo (FAILED );
@@ -770,6 +777,7 @@ void shouldUpdateRunning2ConsensusReached() {
770777 when (iexecHubService .getConsensusBlock (anyString (), anyLong ())).thenReturn (ChainReceipt .builder ().blockNumber (1L ).build ());
771778 doNothing ().when (applicationEventPublisher ).publishEvent (any ());
772779 when (replicatesList .getNbValidContributedWinners (any ())).thenReturn (2 );
780+ mockTaskDescriptionFromTask (task );
773781
774782 taskUpdateManager .updateTask (task .getChainTaskId ());
775783 assertThat (task .getCurrentStatus ()).isEqualTo (CONSENSUS_REACHED );
@@ -857,6 +865,7 @@ void shouldUpdateRunning2RunningFailedOn1Worker() {
857865 when (replicatesService .getReplicatesList (task .getChainTaskId ())).thenReturn (Optional .of (replicatesList ));
858866 when (workerService .getAliveWorkers ()).thenReturn (workersList );
859867 doNothing ().when (applicationEventPublisher ).publishEvent (any ());
868+ mockTaskDescriptionFromTask (task );
860869
861870 taskUpdateManager .updateTask (task .getChainTaskId ());
862871 assertThat (task .getDateOfStatus (RUNNING_FAILED )).isPresent ();
@@ -893,6 +902,7 @@ void shouldUpdateRunning2RunningFailedOn2Workers() {
893902 when (replicatesService .getReplicatesList (task .getChainTaskId ())).thenReturn (Optional .of (replicatesList ));
894903 when (workerService .getAliveWorkers ()).thenReturn (workersList );
895904 doNothing ().when (applicationEventPublisher ).publishEvent (any ());
905+ mockTaskDescriptionFromTask (task );
896906
897907 taskUpdateManager .updateTask (task .getChainTaskId ());
898908 assertThat (task .getDateOfStatus (RUNNING_FAILED )).isPresent ();
@@ -924,6 +934,7 @@ void shouldNotUpdateRunning2RunningFailedOn1WorkerAsNonTeeTask() {
924934 when (replicatesService .getReplicatesList (task .getChainTaskId ())).thenReturn (Optional .of (replicatesList ));
925935 when (workerService .getAliveWorkers ()).thenReturn (workersList );
926936 doNothing ().when (applicationEventPublisher ).publishEvent (any ());
937+ mockTaskDescriptionFromTask (task );
927938
928939 taskUpdateManager .updateTask (task .getChainTaskId ());
929940 assertThat (task .getDateOfStatus (RUNNING )).isPresent ();
@@ -959,6 +970,7 @@ void shouldNotUpdateRunning2RunningFailedOn2WorkersAsNonTeeTask() {
959970 when (replicatesService .getReplicatesList (task .getChainTaskId ())).thenReturn (Optional .of (replicatesList ));
960971 when (workerService .getAliveWorkers ()).thenReturn (workersList );
961972 doNothing ().when (applicationEventPublisher ).publishEvent (any ());
973+ mockTaskDescriptionFromTask (task );
962974
963975 taskUpdateManager .updateTask (task .getChainTaskId ());
964976 assertThat (task .getDateOfStatus (RUNNING )).isPresent ();
@@ -994,6 +1006,7 @@ void shouldNotUpdateRunning2AllWorkersFailedSinceOneStillComputing() {
9941006 when (replicatesService .getReplicatesList (task .getChainTaskId ())).thenReturn (Optional .of (replicatesList ));
9951007 when (workerService .getAliveWorkers ()).thenReturn (workersList );
9961008 doNothing ().when (applicationEventPublisher ).publishEvent (any ());
1009+ mockTaskDescriptionFromTask (task );
9971010
9981011 taskUpdateManager .updateTask (task .getChainTaskId ());
9991012 assertThat (task .getDateOfStatus (RUNNING_FAILED )).isEmpty ();
@@ -1028,6 +1041,7 @@ void shouldNotUpdateRunning2AllWorkersFailedSinceOneHasReachedComputed() {
10281041 when (replicatesService .getReplicatesList (task .getChainTaskId ())).thenReturn (Optional .of (replicatesList ));
10291042 when (workerService .getAliveWorkers ()).thenReturn (workersList );
10301043 doNothing ().when (applicationEventPublisher ).publishEvent (any ());
1044+ mockTaskDescriptionFromTask (task );
10311045
10321046 taskUpdateManager .updateTask (task .getChainTaskId ());
10331047 assertThat (task .getDateOfStatus (RUNNING_FAILED )).isEmpty ();
@@ -1058,6 +1072,7 @@ void shouldNotUpdateRunning2AllWorkersFailedSinceOneStillHasToBeLaunched() {
10581072 when (replicatesService .getReplicatesList (task .getChainTaskId ())).thenReturn (Optional .of (replicatesList ));
10591073 when (workerService .getAliveWorkers ()).thenReturn (workersList );
10601074 doNothing ().when (applicationEventPublisher ).publishEvent (any ());
1075+ mockTaskDescriptionFromTask (task );
10611076
10621077 taskUpdateManager .updateTask (task .getChainTaskId ());
10631078 assertThat (task .getDateOfStatus (RUNNING_FAILED )).isEmpty ();
@@ -1709,6 +1724,7 @@ void shouldUpdateTaskRunning2Finalized2Completed() {
17091724 doNothing ().when (applicationEventPublisher ).publishEvent (any ());
17101725
17111726 when (taskService .getTaskByChainTaskId (CHAIN_TASK_ID )).thenReturn (Optional .of (task ));
1727+ mockTaskDescriptionFromTask (task );
17121728
17131729 taskUpdateManager .updateTask (CHAIN_TASK_ID );
17141730 assertThat (task .getCurrentStatus ()).isEqualTo (COMPLETED );
@@ -1875,4 +1891,16 @@ void shouldTriggerUpdateTaskAsynchronously() {
18751891 taskUpdateRequestManager .publishRequest (CHAIN_TASK_ID );
18761892 verify (taskUpdateRequestManager ).publishRequest (CHAIN_TASK_ID );
18771893 }
1894+
1895+ // region utils
1896+ private void mockTaskDescriptionFromTask (Task task ) {
1897+ final TaskDescription taskDescription = TaskDescription .builder ()
1898+ .chainTaskId (task .getChainTaskId ())
1899+ .isTeeTask (task .isTeeTask ())
1900+ .trust (BigInteger .valueOf (task .getTrust ()))
1901+ .callback ("" )
1902+ .build ();
1903+ when (iexecHubService .getTaskDescription (task .getChainTaskId ())).thenReturn (taskDescription );
1904+ }
1905+ // endregion
18781906}
0 commit comments