Skip to content

Commit 2323464

Browse files
committed
fixup for tests
Signed-off-by: Neil South <neil.south@answerdigital.com>
1 parent 87cafbd commit 2323464

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

src/WorkflowManager/WorkflowExecuter/Services/WorkflowExecuterService.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -252,13 +252,15 @@ private async Task ProcessArtifactReceivedOutputs(ArtifactsReceivedEvent message
252252
{
253253

254254
var artifactsInStorage = (await _storageService.VerifyObjectsExistAsync(workflowInstance.BucketId, message.Artifacts.Select(a => a.Path).ToList(), default)) ?? new Dictionary<string, bool>();
255-
var messageArtifactsInStorage = message.Artifacts.Where(m => artifactsInStorage.First(a => a.Key == m.Path).Value).ToList();
256-
257-
var validArtifacts = new Dictionary<string, string>();
258-
messageArtifactsInStorage.ForEach(m => validArtifacts.Add(task.Artifacts.Output.First(t => t.Type == m.Type).Name, m.Path));
255+
if (artifactsInStorage.Any())
256+
{
257+
var messageArtifactsInStorage = message.Artifacts.Where(m => artifactsInStorage.First(a => a.Key == m.Path).Value).ToList();
259258

260-
await _workflowInstanceRepository.UpdateTaskOutputArtifactsAsync(workflowInstance.Id, taskId, validArtifacts);
259+
var validArtifacts = new Dictionary<string, string>();
260+
messageArtifactsInStorage.ForEach(m => validArtifacts.Add(task.Artifacts.Output.First(t => t.Type == m.Type).Name, m.Path));
261261

262+
await _workflowInstanceRepository.UpdateTaskOutputArtifactsAsync(workflowInstance.Id, taskId, validArtifacts);
263+
}
262264
}
263265

264266
private async Task<bool> AllRequiredArtifactsReceivedAsync(ArtifactsReceivedEvent message, WorkflowInstance workflowInstance,

tests/UnitTests/WorkflowExecuter.Tests/Services/WorkflowExecuterServiceTests.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3164,11 +3164,12 @@ public async Task ArtifactReceveid_Valid_ReturnesTrue()
31643164
[Fact]
31653165
public async Task ProcessArtifactReceived_Calls_WorkflowInstanceRepository_UpdateTaskOutputArtifactsAsync()
31663166
{
3167+
var artifactPath = "some path here";
31673168
//incoming artifacts
31683169
var message = new ArtifactsReceivedEvent
31693170
{
31703171
WorkflowInstanceId = "123", TaskId = "456",
3171-
Artifacts = new List<Messaging.Common.Artifact>() { new Messaging.Common.Artifact() { Type = ArtifactType.CT, Path = "some path here" } }
3172+
Artifacts = new List<Messaging.Common.Artifact>() { new Messaging.Common.Artifact() { Type = ArtifactType.CT, Path = artifactPath } }
31723173
};
31733174
var workflowInstance = new WorkflowInstance
31743175
{
@@ -3187,6 +3188,8 @@ public async Task ProcessArtifactReceived_Calls_WorkflowInstanceRepository_Updat
31873188
_workflowRepository.Setup(w => w.GetByWorkflowIdAsync("789"))!
31883189
.ReturnsAsync(workflowTemplate);
31893190

3191+
_storageService.Setup(s => s.VerifyObjectsExistAsync(It.IsAny<string>(), It.IsAny<List<string>>(), It.IsAny<CancellationToken>())).ReturnsAsync(new Dictionary<string, bool> { { artifactPath, true } });
3192+
31903193
//previously received artifacts
31913194
_artifactReceivedRepository.Setup(r => r.GetAllAsync(workflowInstance.WorkflowId, taskTemplate.Id))
31923195
.ReturnsAsync((List<ArtifactReceivedItems>?)null);

0 commit comments

Comments
 (0)