From 98ddfde43c16b8bb7bdc2e9ff66973a6e41d4245 Mon Sep 17 00:00:00 2001 From: Jack Schofield Date: Thu, 15 Sep 2022 15:07:37 +0100 Subject: [PATCH] fix workflow validation Signed-off-by: Jack Schofield --- .../Extensions/WorkflowExtensions.cs | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/WorkflowManager/PayloadListener/Extensions/WorkflowExtensions.cs b/src/WorkflowManager/PayloadListener/Extensions/WorkflowExtensions.cs index 983cc3f62..0cb5c6469 100644 --- a/src/WorkflowManager/PayloadListener/Extensions/WorkflowExtensions.cs +++ b/src/WorkflowManager/PayloadListener/Extensions/WorkflowExtensions.cs @@ -15,9 +15,7 @@ */ using Ardalis.GuardClauses; -using Monai.Deploy.WorkflowManager.Common.Extensions; using Monai.Deploy.WorkflowManager.Contracts.Models; -using Newtonsoft.Json; namespace Monai.Deploy.WorkflowManager.PayloadListener.Extensions { @@ -38,16 +36,15 @@ public static bool IsValid(this Workflow workflow, out IList validationE var valid = true; - valid &= IsNameValid(workflow.GetType().Name, workflow.Name, validationErrors); - valid &= IsDescriptionValid(workflow.Name, workflow.Description, validationErrors); - valid &= IsInformaticsGatewayValid(workflow.Name, workflow.InformaticsGateway, validationErrors); + var workflowName = string.IsNullOrWhiteSpace(workflow.Name) ? "Unnamed workflow" : workflow.Name; - Guard.Against.Null(workflow.Tasks, nameof(workflow.Tasks)); - valid &= workflow.Tasks.Length > 0; + valid &= IsNameValid(workflowName, workflow.Name, validationErrors); + valid &= IsDescriptionValid(workflowName, workflow.Description, validationErrors); + valid &= IsInformaticsGatewayValid(workflowName, workflow.InformaticsGateway, validationErrors); - foreach (var task in workflow.Tasks) + foreach (var task in workflow?.Tasks) { - valid &= IsTaskObjectValid(workflow.Name, task, validationErrors); + valid &= IsTaskObjectValid(workflowName, task, validationErrors); } return valid; @@ -57,7 +54,7 @@ public static bool IsNameValid(string source, string name, IList validat { Guard.Against.NullOrWhiteSpace(source, nameof(source)); - if (!string.IsNullOrWhiteSpace(name) && name.Length <= WorkflowNameLimit) return true; + if (name is not null && name.Length <= WorkflowNameLimit) return true; validationErrors?.Add($"'{name}' is not a valid Workflow Name (source: {source}).");