public async Task GivenRetrieveRequestWithDataPartitionsDisabled_WhenNoPartitionId_ThenItExecutesSuccessfully() { var routeValueDictionary = new RouteValueDictionary { { KnownActionParameterNames.StudyInstanceUid, "123" }, }; _actionExecutingContext.RouteData = new RouteData(routeValueDictionary); _featureConfiguration.Value.EnableDataPartitions = false; _filterAttribute = new PopulateDataPartitionFilterAttribute(_dicomRequestContextAccessor, _mediator, _featureConfiguration); await _filterAttribute.OnActionExecutionAsync(_actionExecutingContext, _nextActionDelegate); }
public void GivenRetrieveRequestWithDataPartitionsDisabled_WhenPartitionIdIsPassed_ThenItShouldThrowError() { var routeValueDictionary = new RouteValueDictionary { { KnownActionParameterNames.StudyInstanceUid, "123" }, { KnownActionParameterNames.PartitionName, "partition1" }, }; _actionExecutingContext.RouteData = new RouteData(routeValueDictionary); _featureConfiguration.Value.EnableDataPartitions = false; _filterAttribute = new PopulateDataPartitionFilterAttribute(_dicomRequestContextAccessor, _mediator, _featureConfiguration); Assert.ThrowsAsync <DataPartitionsFeatureDisabledException>(async() => await _filterAttribute.OnActionExecutionAsync(_actionExecutingContext, _nextActionDelegate)); }
public PopulateDataPartitionFilterAttributeTests() { _controllerActionDescriptor = new ControllerActionDescriptor { DisplayName = "Executing Context Test Descriptor", ActionName = ActionName, ControllerName = ControllerName, AttributeRouteInfo = new AttributeRouteInfo { Name = RouteName, }, }; _httpContext = Substitute.For <HttpContext>(); _actionExecutingContext = new ActionExecutingContext( new ActionContext(_httpContext, new RouteData(), _controllerActionDescriptor), new List <IFilterMetadata>(), new Dictionary <string, object>(), FilterTestsHelper.CreateMockRetrieveController()); var routeValueDictionary = new RouteValueDictionary { { KnownActionParameterNames.StudyInstanceUid, "123" }, { KnownActionParameterNames.PartitionName, DefaultPartition.Name }, }; _actionExecutingContext.RouteData = new RouteData(routeValueDictionary); _nextActionDelegate = Substitute.For <ActionExecutionDelegate>(); _dicomRequestContextAccessor = Substitute.For <IDicomRequestContextAccessor>(); _mediator = Substitute.For <IMediator>(); _mediator.Send(Arg.Any <GetPartitionRequest>()) .Returns(new GetPartitionResponse(new PartitionEntry(DefaultPartition.Key, DefaultPartition.Name))); _featureConfiguration = Options.Create(new FeatureConfiguration { EnableDataPartitions = true }); _filterAttribute = new PopulateDataPartitionFilterAttribute(_dicomRequestContextAccessor, _mediator, _featureConfiguration); }