diff --git a/src/WorkflowManager/WorkflowExecuter/Services/WorkflowExecuterService.cs b/src/WorkflowManager/WorkflowExecuter/Services/WorkflowExecuterService.cs old mode 100644 new mode 100755 index 7b4072c35..2837791f7 --- a/src/WorkflowManager/WorkflowExecuter/Services/WorkflowExecuterService.cs +++ b/src/WorkflowManager/WorkflowExecuter/Services/WorkflowExecuterService.cs @@ -270,6 +270,10 @@ private async Task ProcessArtifactReceivedOutputs(ArtifactsReceivedEvent message } } + var currentTask = workflowInstance.Tasks?.Find(t => t.TaskId == taskId); + + currentTask!.OutputArtifacts = validArtifacts; // added here are the parent function saves the object ! + _logger.LogDebug($"adding files to workflowInstance {workflowInstance.Id} :Task {taskId} : {JsonConvert.SerializeObject(validArtifacts)}"); await _workflowInstanceRepository.UpdateTaskOutputArtifactsAsync(workflowInstance.Id, taskId, validArtifacts); } @@ -682,7 +686,7 @@ private async Task HandleOutputArtifacts(WorkflowInstance workflowInstance return false; } - var currentTask = workflowInstance.Tasks?.FirstOrDefault(t => t.TaskId == task.TaskId); + var currentTask = workflowInstance.Tasks?.Find(t => t.TaskId == task.TaskId); if (currentTask is not null) { diff --git a/tests/UnitTests/WorkflowExecuter.Tests/Services/WorkflowExecuterServiceTests.cs b/tests/UnitTests/WorkflowExecuter.Tests/Services/WorkflowExecuterServiceTests.cs old mode 100644 new mode 100755 index d7fdb1048..d8f7a9202 --- a/tests/UnitTests/WorkflowExecuter.Tests/Services/WorkflowExecuterServiceTests.cs +++ b/tests/UnitTests/WorkflowExecuter.Tests/Services/WorkflowExecuterServiceTests.cs @@ -3161,6 +3161,7 @@ public async Task ArtifactReceveid_Valid_ReturnesTrue() Assert.True(result); } + [Fact] public async Task ProcessArtifactReceived_Calls_WorkflowInstanceRepository_UpdateTaskOutputArtifactsAsync() { @@ -3174,7 +3175,7 @@ public async Task ProcessArtifactReceived_Calls_WorkflowInstanceRepository_Updat var workflowInstance = new WorkflowInstance { WorkflowId = "789", Tasks = new List() - { new TaskExecution() { TaskId = "not456" } } + { new TaskExecution() { TaskId = "456" } } }; _workflowInstanceRepository.Setup(w => w.GetByWorkflowInstanceIdAsync(message.WorkflowInstanceId))! .ReturnsAsync(workflowInstance);