public string ListSubmissions(int[] submissionIds, int[] workflowIds, string inputFileName, string status, string retrieved, int limit = 1000) { SubmissionStatus?parsedStatus = null; bool? parsedRetrieved = null; if (string.IsNullOrWhiteSpace(inputFileName)) { inputFileName = null; } if (!string.IsNullOrEmpty(status)) { if (!Enum.TryParse(status, out SubmissionStatus statusValue)) { throw new ArgumentException("Wrong status value provided. Please provide one of the valid submission statuses."); } else { parsedStatus = statusValue; } } if (!string.IsNullOrEmpty(retrieved)) { if (!bool.TryParse(retrieved, out bool retrievedValue)) { throw new ArgumentException("Wrong retreived value provided. Please provide \"True\" or \"False\" as a value."); } else { parsedRetrieved = retrievedValue; } } var submissionFilter = new SubmissionFilter { InputFilename = inputFileName, Status = parsedStatus, Retrieved = parsedRetrieved }; try { var submissions = Task.Run(async() => await _submissionsClient.ListAsync(submissionIds, workflowIds, submissionFilter, limit)).GetAwaiter().GetResult(); return(JsonConvert.SerializeObject(submissions, new StringEnumConverter())); } catch (System.Exception ex) { //AA doesn't understand custom exception types and the only important thing is message, so method catches all exceptions and throw new generic one with the correct message. throw new System.Exception(ex.Message); } }
private void GetTestSubmissionFilters(out SubmissionFilter v2SubmissionFilter1, out SubmissionFilter v2SubmissionFilter2) { // Arrange v2SubmissionFilter1 = new SubmissionFilter { InputFilename = "testvalue", Retrieved = true, Status = SubmissionStatus.COMPLETE }; v2SubmissionFilter2 = new SubmissionFilter { InputFilename = "testvalue2", Retrieved = false, Status = SubmissionStatus.FAILED }; }
public void SubmissionFilter_ShouldCorrectlyMapV1SubmissionFilter() { // Arrange var v2SubmissionFilter = new SubmissionFilter { InputFilename = "testvalue", Retrieved = true, Status = SubmissionStatus.COMPLETE }; var v1ExpectedStatus = SubmissionStatusConverters.ConvertToLegacy(v2SubmissionFilter.Status); // Act var v1SubmissionFilter = SubmissionFilterConverters.ConvertToLegacy(v2SubmissionFilter); // Assert v1SubmissionFilter.InputFilename.Should().Be(v2SubmissionFilter.InputFilename); v1SubmissionFilter.Retrieved.Should().Be(v2SubmissionFilter.Retrieved); v1SubmissionFilter.Status.Should().Be(v1ExpectedStatus); v1SubmissionFilter.AND.Should().BeNull(); v1SubmissionFilter.OR.Should().BeNull(); }