From 802e2cb97318803286096adeb1da8fd082b812b0 Mon Sep 17 00:00:00 2001 From: Neil South Date: Fri, 5 Jul 2024 09:57:32 +0100 Subject: [PATCH] adding accession Id filtering for counts Signed-off-by: Neil South --- .../Common/Interfaces/IPaginatedApi.cs | 4 ++- .../Common/Interfaces/IPayloadService.cs | 8 +++-- .../Common/Services/PayloadService.cs | 16 +++++++--- .../Services/WorkflowInstanceService.cs | 8 +++-- .../Common/Services/WorkflowService.cs | 4 ++- .../Database/Interfaces/IPayloadRepository.cs | 5 +-- .../Interfaces/IWorkflowInstanceRepository.cs | 3 +- .../Interfaces/IWorkflowRepository.cs | 3 +- .../Repositories/PayloadRepository.cs | 24 ++++++++------ .../WorkflowInstanceRepository.cs | 5 ++- .../Repositories/WorkflowRepository.cs | 7 +++- .../Controllers/PayloadsController.cs | 32 +++++++++++++++++-- .../Controllers/TaskStatsController.cs | 5 ++- .../Services/PayloadServiceTests.cs | 4 +-- .../Services/WorkflowServiceTests.cs | 3 +- .../Controllers/PayloadControllerTests.cs | 7 ++-- .../WorkflowInstanceControllerTests.cs | 3 +- .../Controllers/WorkflowsControllerTests.cs | 3 +- 18 files changed, 104 insertions(+), 40 deletions(-) mode change 100644 => 100755 src/WorkflowManager/Common/Interfaces/IPaginatedApi.cs mode change 100644 => 100755 src/WorkflowManager/Common/Services/WorkflowInstanceService.cs mode change 100644 => 100755 src/WorkflowManager/Common/Services/WorkflowService.cs mode change 100644 => 100755 src/WorkflowManager/Database/Interfaces/IPayloadRepository.cs mode change 100644 => 100755 src/WorkflowManager/Database/Interfaces/IWorkflowInstanceRepository.cs mode change 100644 => 100755 src/WorkflowManager/Database/Interfaces/IWorkflowRepository.cs mode change 100644 => 100755 src/WorkflowManager/Database/Repositories/PayloadRepository.cs mode change 100644 => 100755 src/WorkflowManager/WorkflowManager/Controllers/PayloadsController.cs mode change 100644 => 100755 tests/UnitTests/Common.Tests/Services/PayloadServiceTests.cs mode change 100644 => 100755 tests/UnitTests/Common.Tests/Services/WorkflowServiceTests.cs mode change 100644 => 100755 tests/UnitTests/WorkflowManager.Tests/Controllers/PayloadControllerTests.cs mode change 100644 => 100755 tests/UnitTests/WorkflowManager.Tests/Controllers/WorkflowInstanceControllerTests.cs mode change 100644 => 100755 tests/UnitTests/WorkflowManager.Tests/Controllers/WorkflowsControllerTests.cs diff --git a/src/WorkflowManager/Common/Interfaces/IPaginatedApi.cs b/src/WorkflowManager/Common/Interfaces/IPaginatedApi.cs old mode 100644 new mode 100755 index 3889661f9..8dd7a7615 --- a/src/WorkflowManager/Common/Interfaces/IPaginatedApi.cs +++ b/src/WorkflowManager/Common/Interfaces/IPaginatedApi.cs @@ -14,11 +14,13 @@ * limitations under the License. */ +using MongoDB.Driver; + namespace Monai.Deploy.WorkflowManager.Common.Miscellaneous.Interfaces { public interface IPaginatedApi { - Task CountAsync(); + Task CountAsync(FilterDefinition? filter = null); Task> GetAllAsync(int? skip = null, int? limit = null); } diff --git a/src/WorkflowManager/Common/Interfaces/IPayloadService.cs b/src/WorkflowManager/Common/Interfaces/IPayloadService.cs index 9702defb6..66af9df9b 100755 --- a/src/WorkflowManager/Common/Interfaces/IPayloadService.cs +++ b/src/WorkflowManager/Common/Interfaces/IPayloadService.cs @@ -16,6 +16,7 @@ using Monai.Deploy.Messaging.Events; using Monai.Deploy.WorkflowManager.Common.Contracts.Models; +using MongoDB.Driver; namespace Monai.Deploy.WorkflowManager.Common.Miscellaneous.Interfaces { @@ -38,8 +39,9 @@ public interface IPayloadService : IPaginatedApi /// Task> GetAllAsync(int? skip = null, int? limit = null, - string? patientId = "", - string? patientName = ""); + string? patientId = null, + string? patientName = null, + string? accessionId = null); new Task> GetAllAsync(int? skip = null, int? limit = null); /// @@ -63,5 +65,7 @@ Task> GetAllAsync(int? skip = null, /// updated payload. /// true if the update is successful, false otherwise. Task UpdateAsyncWorkflowIds(Payload payload); + + Task CountAsync(FilterDefinition filter); } } diff --git a/src/WorkflowManager/Common/Services/PayloadService.cs b/src/WorkflowManager/Common/Services/PayloadService.cs index e2755a013..e385a00a6 100755 --- a/src/WorkflowManager/Common/Services/PayloadService.cs +++ b/src/WorkflowManager/Common/Services/PayloadService.cs @@ -26,6 +26,7 @@ using Monai.Deploy.WorkflowManager.Common.Storage.Services; using Microsoft.Extensions.Options; using Monai.Deploy.WorkflowManager.Common.Configuration; +using MongoDB.Driver; namespace Monai.Deploy.WorkflowManager.Common.Miscellaneous.Services { @@ -149,10 +150,11 @@ public async Task GetByIdAsync(string payloadId) public async Task> GetAllAsync(int? skip = null, int? limit = null, - string? patientId = "", - string? patientName = "") + string? patientId = null, + string? patientName = null, + string? accessionId = null) => await CreatePayloadsDto( - await _payloadRepository.GetAllAsync(skip, limit, patientId ?? string.Empty, patientName ?? string.Empty) + await _payloadRepository.GetAllAsync(skip, limit, patientId, patientName, accessionId) ); public async Task> GetAllAsync(int? skip = null, int? limit = null) @@ -193,7 +195,13 @@ private async Task> CreatePayloadsDto(IList payloads) return dtos; } - public async Task CountAsync() => await _payloadRepository.CountAsync(); + public async Task CountAsync(FilterDefinition filter) + => await _payloadRepository.CountAsync(filter); + + + // this has to be here because of the base, but dont use it ! + public Task CountAsync(FilterDefinition? filter) + => throw new NotImplementedException(); public async Task DeletePayloadFromStorageAsync(string payloadId) { diff --git a/src/WorkflowManager/Common/Services/WorkflowInstanceService.cs b/src/WorkflowManager/Common/Services/WorkflowInstanceService.cs old mode 100644 new mode 100755 index bf9228d26..7259a4ef8 --- a/src/WorkflowManager/Common/Services/WorkflowInstanceService.cs +++ b/src/WorkflowManager/Common/Services/WorkflowInstanceService.cs @@ -14,7 +14,6 @@ * limitations under the License. */ -using Ardalis.GuardClauses; using Microsoft.Extensions.Logging; using Monai.Deploy.Messaging.Events; using Monai.Deploy.WorkflowManager.Common.Miscellaneous.Exceptions; @@ -22,6 +21,7 @@ using Monai.Deploy.WorkflowManager.Common.Contracts.Models; using Monai.Deploy.WorkflowManager.Common.Database.Interfaces; using Monai.Deploy.WorkflowManager.Common.Logging; +using MongoDB.Driver; namespace Monai.Deploy.WorkflowManager.Common.Miscellaneous.Services { @@ -87,7 +87,11 @@ public async Task UpdateExportCompleteMetadataAsync(string workflowInstanceId, s await _workflowInstanceRepository.UpdateExportCompleteMetadataAsync(workflowInstanceId, executionId, resultMetadata); } - public async Task CountAsync() => await _workflowInstanceRepository.CountAsync(); + public async Task CountAsync(FilterDefinition? filter) + { + filter = filter ?? Builders.Filter.Empty; + return await _workflowInstanceRepository.CountAsync(filter); + } public async Task> GetAllAsync(int? skip = null, int? limit = null, Status? status = null, string? payloadId = null) => await _workflowInstanceRepository.GetAllAsync(skip, limit, status, payloadId); diff --git a/src/WorkflowManager/Common/Services/WorkflowService.cs b/src/WorkflowManager/Common/Services/WorkflowService.cs old mode 100644 new mode 100755 index 2788dc884..7e970a041 --- a/src/WorkflowManager/Common/Services/WorkflowService.cs +++ b/src/WorkflowManager/Common/Services/WorkflowService.cs @@ -19,6 +19,7 @@ using Monai.Deploy.WorkflowManager.Common.Contracts.Models; using Monai.Deploy.WorkflowManager.Common.Database.Interfaces; using Monai.Deploy.WorkflowManager.Common.Logging; +using MongoDB.Driver; namespace Monai.Deploy.WorkflowManager.Common.Miscellaneous.Services { @@ -83,7 +84,8 @@ public Task DeleteWorkflowAsync(WorkflowRevision workflow) return result; } - public async Task CountAsync() => await _workflowRepository.CountAsync(); + public async Task CountAsync(FilterDefinition? filter) + => await _workflowRepository.CountAsync(filter ?? Builders.Filter.Empty); public async Task> GetAllAsync(int? skip = null, int? limit = null) => await _workflowRepository.GetAllAsync(skip, limit); diff --git a/src/WorkflowManager/Database/Interfaces/IPayloadRepository.cs b/src/WorkflowManager/Database/Interfaces/IPayloadRepository.cs old mode 100644 new mode 100755 index 9861ccf19..afb169a12 --- a/src/WorkflowManager/Database/Interfaces/IPayloadRepository.cs +++ b/src/WorkflowManager/Database/Interfaces/IPayloadRepository.cs @@ -18,6 +18,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using Monai.Deploy.WorkflowManager.Common.Contracts.Models; +using MongoDB.Driver; namespace Monai.Deploy.WorkflowManager.Common.Database.Interfaces { @@ -32,7 +33,7 @@ public interface IPayloadRepository /// /// Retrieves a list of payloads in the database. /// - Task> GetAllAsync(int? skip = null, int? limit = null, string patientId = "", string patientName = ""); + Task> GetAllAsync(int? skip = null, int? limit = null, string? patientId = null, string? patientName = null, string? accessionId = null); /// /// Retrieves a payload by id in the database. @@ -44,7 +45,7 @@ public interface IPayloadRepository /// Gets count of objects /// /// Count of objects. - Task CountAsync(); + Task CountAsync(FilterDefinition filter); /// /// Updates a payload in the database. diff --git a/src/WorkflowManager/Database/Interfaces/IWorkflowInstanceRepository.cs b/src/WorkflowManager/Database/Interfaces/IWorkflowInstanceRepository.cs old mode 100644 new mode 100755 index a6ffbcf4b..ad4cf2f91 --- a/src/WorkflowManager/Database/Interfaces/IWorkflowInstanceRepository.cs +++ b/src/WorkflowManager/Database/Interfaces/IWorkflowInstanceRepository.cs @@ -18,6 +18,7 @@ using System.Threading.Tasks; using Monai.Deploy.Messaging.Events; using Monai.Deploy.WorkflowManager.Common.Contracts.Models; +using MongoDB.Driver; namespace Monai.Deploy.WorkflowManager.Common.Database.Interfaces { @@ -44,7 +45,7 @@ public interface IWorkflowInstanceRepository /// Gets count of Workflow Instances. /// /// - Task CountAsync(); + Task CountAsync(FilterDefinition filter); /// /// Gets the count of workflow instances with a filter. diff --git a/src/WorkflowManager/Database/Interfaces/IWorkflowRepository.cs b/src/WorkflowManager/Database/Interfaces/IWorkflowRepository.cs old mode 100644 new mode 100755 index c821753be..0d7f5791c --- a/src/WorkflowManager/Database/Interfaces/IWorkflowRepository.cs +++ b/src/WorkflowManager/Database/Interfaces/IWorkflowRepository.cs @@ -18,6 +18,7 @@ using System.Collections.Generic; using System.Threading.Tasks; using Monai.Deploy.WorkflowManager.Common.Contracts.Models; +using MongoDB.Driver; namespace Monai.Deploy.WorkflowManager.Common.Database.Interfaces { @@ -97,7 +98,7 @@ public interface IWorkflowRepository /// Task SoftDeleteWorkflow(WorkflowRevision workflow); - Task CountAsync(); + Task CountAsync(FilterDefinition filter); Task> GetAllAsync(int? skip, int? limit); diff --git a/src/WorkflowManager/Database/Repositories/PayloadRepository.cs b/src/WorkflowManager/Database/Repositories/PayloadRepository.cs old mode 100644 new mode 100755 index f050d928d..5da47d510 --- a/src/WorkflowManager/Database/Repositories/PayloadRepository.cs +++ b/src/WorkflowManager/Database/Repositories/PayloadRepository.cs @@ -71,7 +71,10 @@ private async Task EnsureIndex() } } - public Task CountAsync() => CountAsync(_payloadCollection, null); + public Task CountAsync(FilterDefinition filter) + { + return CountAsync(_payloadCollection, filter); + } public async Task CreateAsync(Payload payload) { @@ -91,18 +94,19 @@ public async Task CreateAsync(Payload payload) } } - public async Task> GetAllAsync(int? skip = null, int? limit = null, string? patientId = "", string? patientName = "") + public async Task> GetAllAsync(int? skip = null, int? limit = null, string? patientId = null, string? patientName = null, string? accessionId = null) { var builder = Builders.Filter; var filter = builder.Empty; - if (!string.IsNullOrEmpty(patientId)) - { - filter &= builder.Regex(p => p.PatientDetails.PatientId, new BsonRegularExpression($"/{patientId}/i")); - } - if (!string.IsNullOrEmpty(patientName)) - { - filter &= builder.Regex(p => p.PatientDetails.PatientName, new BsonRegularExpression($"/{patientName}/i")); - } + if (!string.IsNullOrEmpty(patientId)) filter + &= builder.Regex(p => p.PatientDetails.PatientId, new BsonRegularExpression($"/{patientId}/i")); + + if (!string.IsNullOrEmpty(patientName)) filter + &= builder.Regex(p => p.PatientDetails.PatientName, new BsonRegularExpression($"/{patientName}/i")); + + if (!string.IsNullOrWhiteSpace(accessionId)) filter + &= builder.Regex(p => p.AccessionId, new BsonRegularExpression($"/{accessionId}/i")); + return await GetAllAsync(_payloadCollection, filter, diff --git a/src/WorkflowManager/Database/Repositories/WorkflowInstanceRepository.cs b/src/WorkflowManager/Database/Repositories/WorkflowInstanceRepository.cs index d3d80d10e..9b556dd73 100755 --- a/src/WorkflowManager/Database/Repositories/WorkflowInstanceRepository.cs +++ b/src/WorkflowManager/Database/Repositories/WorkflowInstanceRepository.cs @@ -313,7 +313,10 @@ public async Task GetByWorkflowInstanceIdAsync(string workflow return workflow; } - public async Task CountAsync() => await CountAsync(_workflowInstanceCollection, null); + public async Task CountAsync(FilterDefinition filter) + { + return await CountAsync(_workflowInstanceCollection, filter); + } public async Task FilteredCountAsync(Status? status = null, string? payloadId = null) { diff --git a/src/WorkflowManager/Database/Repositories/WorkflowRepository.cs b/src/WorkflowManager/Database/Repositories/WorkflowRepository.cs index 8ac32ec05..0fe49140f 100755 --- a/src/WorkflowManager/Database/Repositories/WorkflowRepository.cs +++ b/src/WorkflowManager/Database/Repositories/WorkflowRepository.cs @@ -272,7 +272,12 @@ await _workflowCollection.UpdateManyAsync( return deletedTimeStamp; } - public async Task CountAsync() => await _workflowCollection.CountDocumentsAsync(x => x.Deleted == null); + public async Task CountAsync(FilterDefinition filter) + { + var builder = Builders.Filter; + filter &= builder.Eq(p => p.Deleted, null); + return await _workflowCollection.CountDocumentsAsync(filter); + } public async Task> GetAllAsync(int? skip = null, int? limit = null) => await GetAllAsync(_workflowCollection, diff --git a/src/WorkflowManager/WorkflowManager/Controllers/PayloadsController.cs b/src/WorkflowManager/WorkflowManager/Controllers/PayloadsController.cs old mode 100644 new mode 100755 index b31618472..6919e3dfa --- a/src/WorkflowManager/WorkflowManager/Controllers/PayloadsController.cs +++ b/src/WorkflowManager/WorkflowManager/Controllers/PayloadsController.cs @@ -30,6 +30,8 @@ using Monai.Deploy.WorkflowManager.Common.Miscellaneous.Interfaces; using Monai.Deploy.WorkflowManager.Common.Miscellaneous.Services; using Monai.Deploy.WorkflowManager.Common.Miscellaneous.Wrappers; +using MongoDB.Bson; +using MongoDB.Driver; namespace Monai.Deploy.WorkflowManager.Common.ControllersShared { @@ -72,11 +74,16 @@ public PayloadsController( /// Filters. /// Optional patient Id. /// Optional patient name. + /// Optional accession Id. /// paged response of subset of all workflows. [HttpGet] [ProducesResponseType(typeof(PagedResponse>), StatusCodes.Status200OK)] [ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status500InternalServerError)] - public async Task GetAllAsync([FromQuery] PaginationFilter filter, [FromQuery] string patientId = "", [FromQuery] string patientName = "") + public async Task GetAllAsync( + [FromQuery] PaginationFilter filter, + [FromQuery] string patientId = null, + [FromQuery] string patientName = null, + [FromQuery] string accessionId = null) { try { @@ -88,9 +95,28 @@ public async Task GetAllAsync([FromQuery] PaginationFilter filter (validFilter.PageNumber - 1) * validFilter.PageSize, validFilter.PageSize, patientId, - patientName); + patientName, + accessionId); - var dataTotal = await _payloadService.CountAsync(); + var builder = Builders.Filter; + var dbFilter = builder.Empty; + + if (!string.IsNullOrEmpty(patientId)) + { + dbFilter &= builder.Regex(p => p.PatientDetails.PatientId, new BsonRegularExpression($"/{patientId}/i")); + } + + if (!string.IsNullOrEmpty(patientName)) + { + dbFilter &= builder.Regex(p => p.PatientDetails.PatientName, new BsonRegularExpression($"/{patientName}/i")); + } + + if (!string.IsNullOrWhiteSpace(accessionId)) + { + dbFilter &= builder.Regex(p => p.AccessionId, new BsonRegularExpression($"/{accessionId}/i")); + } + + var dataTotal = await _payloadService.CountAsync(dbFilter); var pagedReponse = CreatePagedResponse(pagedData.ToList(), validFilter, dataTotal, _uriService, route); return Ok(pagedReponse); diff --git a/src/WorkflowManager/WorkflowManager/Controllers/TaskStatsController.cs b/src/WorkflowManager/WorkflowManager/Controllers/TaskStatsController.cs index deffe5a7d..3abf32a94 100755 --- a/src/WorkflowManager/WorkflowManager/Controllers/TaskStatsController.cs +++ b/src/WorkflowManager/WorkflowManager/Controllers/TaskStatsController.cs @@ -140,12 +140,11 @@ public async Task GetDailyStatsAsync([FromQuery] TimeFilter filte TotalApprovals = g.Count(i => string.Compare(i.Status, "Succeeded", true) == 0 && i.Reason == FailureReason.None), TotalRejections = g.Count(i => string.Compare(i.Status, "Failed", true) == 0 && i.Reason == FailureReason.Rejected), TotalCancelled = g.Count(i => string.Compare(i.Status, "Failed", true) == 0 && i.Reason == FailureReason.TimedOut), - //TotalAwaitingReview = g.Count(i => string.Compare(i.Status, ApplicationReviewStatus.AwaitingReview.ToString(), true) == 0), + + // TotalAwaitingReview = g.Count(i => string.Compare(i.Status, ApplicationReviewStatus.AwaitingReview.ToString(), true) == 0), TotalAwaitingReview = g.Count(i => string.Compare(i.Status, TaskExecutionStatus.Accepted.ToString(), true) == 0), }); - - var pagedStats = statsDto.Skip((filter.PageNumber - 1) * pageSize).Take(pageSize); var res = CreateStatsPagedResponse(pagedStats, validFilter, statsDto.Count(), _uriService, route); diff --git a/tests/UnitTests/Common.Tests/Services/PayloadServiceTests.cs b/tests/UnitTests/Common.Tests/Services/PayloadServiceTests.cs old mode 100644 new mode 100755 index c3931e7ca..a95f86ff7 --- a/tests/UnitTests/Common.Tests/Services/PayloadServiceTests.cs +++ b/tests/UnitTests/Common.Tests/Services/PayloadServiceTests.cs @@ -234,7 +234,7 @@ public async Task GetAll_ReturnsCompletedPayloads() _payloadRepository.Setup(p => p.GetAllAsync( - It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny()) + It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny()) ).ReturnsAsync(() => input); var param = new List() { input.First().Id }; _workflowInstanceRepository.Setup(r => @@ -301,7 +301,7 @@ public async Task GetAll_ReturnsPayloads() _payloadRepository.Setup(p => p.GetAllAsync( - It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny()) + It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny()) ).ReturnsAsync(() => input); var param = input.Select(i => i.PayloadId).ToList(); _workflowInstanceRepository.Setup(r => diff --git a/tests/UnitTests/Common.Tests/Services/WorkflowServiceTests.cs b/tests/UnitTests/Common.Tests/Services/WorkflowServiceTests.cs old mode 100644 new mode 100755 index 9007b5bfb..c01b1e863 --- a/tests/UnitTests/Common.Tests/Services/WorkflowServiceTests.cs +++ b/tests/UnitTests/Common.Tests/Services/WorkflowServiceTests.cs @@ -21,6 +21,7 @@ using Monai.Deploy.WorkflowManager.Common.Database.Interfaces; using Moq; using Xunit; +using MongoDB.Driver; namespace Monai.Deploy.WorkflowManger.Common.Tests.Services { @@ -137,7 +138,7 @@ public async Task WorkflowService_DeleteWorkflow_Calls_SoftDelete() public async Task WorkflowService_Count_Calls_Count() { var result = await WorkflowService.CountAsync(); - _workflowRepository.Verify(r => r.CountAsync(), Times.Once()); + _workflowRepository.Verify(r => r.CountAsync(Builders.Filter.Empty), Times.Once()); } [Fact] diff --git a/tests/UnitTests/WorkflowManager.Tests/Controllers/PayloadControllerTests.cs b/tests/UnitTests/WorkflowManager.Tests/Controllers/PayloadControllerTests.cs old mode 100644 new mode 100755 index b907cc4e0..2d09bfcf0 --- a/tests/UnitTests/WorkflowManager.Tests/Controllers/PayloadControllerTests.cs +++ b/tests/UnitTests/WorkflowManager.Tests/Controllers/PayloadControllerTests.cs @@ -32,6 +32,7 @@ using Xunit; using Monai.Deploy.WorkflowManager.Common.Miscellaneous.Filter; using Monai.Deploy.WorkflowManager.Common.Miscellaneous.Services; +using MongoDB.Driver; namespace Monai.Deploy.WorkflowManager.Common.Test.Controllers { @@ -66,8 +67,8 @@ public async Task GetListAsync_PayloadsExist_ReturnsList() } }; - _payloadService.Setup(w => w.GetAllAsync(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny())).ReturnsAsync(payloads); - _payloadService.Setup(w => w.CountAsync()).ReturnsAsync(payloads.Count); + _payloadService.Setup(w => w.GetAllAsync(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny())).ReturnsAsync(payloads); + _payloadService.Setup(w => w.CountAsync(Builders.Filter.Empty)).ReturnsAsync(payloads.Count); _uriService.Setup(s => s.GetPageUriString(It.IsAny(), It.IsAny())).Returns(() => "unitTest"); var result = await PayloadController.GetAllAsync(new PaginationFilter()); @@ -94,7 +95,7 @@ public async Task GetListAsync_PayloadsExist_ReturnsList() [Fact] public async Task GetListAsync_ServiceException_ReturnProblem() { - _payloadService.Setup(w => w.GetAllAsync(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny())).ThrowsAsync(new Exception()); + _payloadService.Setup(w => w.GetAllAsync(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny())).ThrowsAsync(new Exception()); var result = await PayloadController.GetAllAsync(new PaginationFilter()); diff --git a/tests/UnitTests/WorkflowManager.Tests/Controllers/WorkflowInstanceControllerTests.cs b/tests/UnitTests/WorkflowManager.Tests/Controllers/WorkflowInstanceControllerTests.cs old mode 100644 new mode 100755 index 390c24aed..af6b7c089 --- a/tests/UnitTests/WorkflowManager.Tests/Controllers/WorkflowInstanceControllerTests.cs +++ b/tests/UnitTests/WorkflowManager.Tests/Controllers/WorkflowInstanceControllerTests.cs @@ -35,6 +35,7 @@ using Moq; using Xunit; using Monai.Deploy.WorkflowManager.Common.Miscellaneous.Filter; +using MongoDB.Driver; namespace Monai.Deploy.WorkflowManager.Common.Test.Controllers { @@ -157,7 +158,7 @@ public async Task GetListAsync_InvalidPayloadId_Returns400() public async Task GetListAsync_ServiceException_ReturnProblem() { _workflowInstanceService.Setup(w => w.GetAllAsync(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny())).ThrowsAsync(new Exception()); - _workflowInstanceService.Setup(w => w.CountAsync()).ReturnsAsync(0); + _workflowInstanceService.Setup(w => w.CountAsync(Builders.Filter.Empty)).ReturnsAsync(0); var result = await WorkflowInstanceController.GetListAsync(new PaginationFilter()); diff --git a/tests/UnitTests/WorkflowManager.Tests/Controllers/WorkflowsControllerTests.cs b/tests/UnitTests/WorkflowManager.Tests/Controllers/WorkflowsControllerTests.cs old mode 100644 new mode 100755 index 486127160..04625268b --- a/tests/UnitTests/WorkflowManager.Tests/Controllers/WorkflowsControllerTests.cs +++ b/tests/UnitTests/WorkflowManager.Tests/Controllers/WorkflowsControllerTests.cs @@ -34,6 +34,7 @@ using Monai.Deploy.WorkflowManager.Common.Services.InformaticsGateway; using Monai.Deploy.WorkflowManager.Common.Miscellaneous.Exceptions; using Monai.Deploy.WorkflowManager.Common.Miscellaneous.Filter; +using MongoDB.Driver; namespace Monai.Deploy.WorkflowManager.Common.Test.Controllers { @@ -108,7 +109,7 @@ public async void GetList_WorkflowsExist_ReturnsList() }; _workflowService.Setup(w => w.GetAllAsync(It.IsAny(), It.IsAny())).ReturnsAsync(workflows); - _workflowService.Setup(w => w.CountAsync()).ReturnsAsync(workflows.Count); + _workflowService.Setup(w => w.CountAsync(null)).ReturnsAsync(workflows.Count); _uriService.Setup(s => s.GetPageUriString(It.IsAny(), It.IsAny())).Returns(() => "unitTest"); var result = await WorkflowsController.GetList(new PaginationFilter());