public void GetFilterPipeline_Returns_ConfigurationFilters() { IActionFilter actionFilter = new Mock <IActionFilter>().Object; IExceptionFilter exceptionFilter = new Mock <IExceptionFilter>().Object; IAuthorizationFilter authorizationFilter = new AuthorizeAttribute(); Action deleteAllUsersMethod = _controller.DeleteAllUsers; HttpControllerDescriptor controllerDescriptor = new HttpControllerDescriptor( new HttpConfiguration(), "UsersRpcController", typeof(UsersRpcController) ); controllerDescriptor.Configuration.Filters.Add(actionFilter); controllerDescriptor.Configuration.Filters.Add(exceptionFilter); controllerDescriptor.Configuration.Filters.Add(authorizationFilter); ReflectedHttpActionDescriptor actionDescriptor = new ReflectedHttpActionDescriptor( controllerDescriptor, deleteAllUsersMethod.Method ); Collection <FilterInfo> filters = actionDescriptor.GetFilterPipeline(); Assert.Same(actionFilter, filters[0].Instance); Assert.Same(exceptionFilter, filters[1].Instance); Assert.Same(authorizationFilter, filters[2].Instance); }
public void AddQuerySupport_ActionFilters_TakePrecedence() { HttpConfiguration config = new HttpConfiguration(); config.AddODataQueryFilter(); HttpControllerDescriptor controllerDescriptor = new HttpControllerDescriptor(config, "FilterProviderTest", typeof(FilterProviderTestController)); HttpActionDescriptor actionDescriptor = new ReflectedHttpActionDescriptor(controllerDescriptor, typeof(FilterProviderTestController).GetMethod("GetQueryableWithFilterAttribute")); Collection <FilterInfo> filters = actionDescriptor.GetFilterPipeline(); Assert.Single(filters); Assert.Equal(100, ((EnableQueryAttribute)filters[0].Instance).PageSize); }
public void AddQuerySupport_ActionFilters_TakePrecedence() { HttpConfiguration config = new HttpConfiguration(); config.EnableQuerySupport(); HttpControllerDescriptor controllerDescriptor = new HttpControllerDescriptor(config, "FilterProviderTest", typeof(FilterProviderTestController)); HttpActionDescriptor actionDescriptor = new ReflectedHttpActionDescriptor(controllerDescriptor, typeof(FilterProviderTestController).GetMethod("GetQueryableWithFilterAttribute")); Collection <FilterInfo> filters = actionDescriptor.GetFilterPipeline(); Assert.Equal(1, filters.Count); Assert.Equal(100, ((QueryableAttribute)filters[0].Instance).ResultLimit); }
public void AddQuerySupport_ActionFilters_TakePrecedence(string actionName) { // Arrange HttpConfiguration config = new HttpConfiguration(); config.AddODataQueryFilter(); HttpControllerDescriptor controllerDescriptor = new HttpControllerDescriptor( config, "FilterProviderTest", typeof(FilterProviderTestController)); MethodInfo method = typeof(FilterProviderTestController).GetMethod(actionName); HttpActionDescriptor actionDescriptor = new ReflectedHttpActionDescriptor(controllerDescriptor, method); // Act Collection <FilterInfo> filters = actionDescriptor.GetFilterPipeline(); // Assert Assert.Equal(1, filters.Count); Assert.Equal(100, ((EnableQueryAttribute)filters[0].Instance).PageSize); }
public void GetFilterPipeline_Returns_ConfigurationFilters() { IActionFilter actionFilter = new Mock<IActionFilter>().Object; IExceptionFilter exceptionFilter = new Mock<IExceptionFilter>().Object; IAuthorizationFilter authorizationFilter = new AuthorizeAttribute(); Action deleteAllUsersMethod = _controller.DeleteAllUsers; HttpControllerDescriptor controllerDescriptor = new HttpControllerDescriptor(new HttpConfiguration(), "UsersRpcController", typeof(UsersRpcController)); controllerDescriptor.Configuration.Filters.Add(actionFilter); controllerDescriptor.Configuration.Filters.Add(exceptionFilter); controllerDescriptor.Configuration.Filters.Add(authorizationFilter); ReflectedHttpActionDescriptor actionDescriptor = new ReflectedHttpActionDescriptor(controllerDescriptor, deleteAllUsersMethod.Method); Collection<FilterInfo> filters = actionDescriptor.GetFilterPipeline(); Assert.Same(actionFilter, filters[0].Instance); Assert.Same(exceptionFilter, filters[1].Instance); Assert.Same(authorizationFilter, filters[2].Instance); }
public void AddQuerySupport_ActionFilters_TakePrecedence() { HttpConfiguration config = new HttpConfiguration(); config.EnableQuerySupport(); HttpControllerDescriptor controllerDescriptor = new HttpControllerDescriptor(config, "FilterProviderTest", typeof(FilterProviderTestController)); HttpActionDescriptor actionDescriptor = new ReflectedHttpActionDescriptor(controllerDescriptor, typeof(FilterProviderTestController).GetMethod("GetQueryableWithFilterAttribute")); Collection<FilterInfo> filters = actionDescriptor.GetFilterPipeline(); Assert.Equal(1, filters.Count); Assert.Equal(100, ((QueryableAttribute)filters[0].Instance).ResultLimit); }
public void AddQuerySupport_ActionFilters_TakePrecedence(string actionName) { // Arrange HttpConfiguration config = new HttpConfiguration(); config.AddODataQueryFilter(); HttpControllerDescriptor controllerDescriptor = new HttpControllerDescriptor( config, "FilterProviderTest", typeof(FilterProviderTestController)); MethodInfo method = typeof(FilterProviderTestController).GetMethod(actionName); HttpActionDescriptor actionDescriptor = new ReflectedHttpActionDescriptor(controllerDescriptor, method); // Act Collection<FilterInfo> filters = actionDescriptor.GetFilterPipeline(); // Assert Assert.Equal(1, filters.Count); Assert.Equal(100, ((EnableQueryAttribute)filters[0].Instance).PageSize); }