public override void Because() { actionFilterRegistry = new ActionFilterRegistry(CreateStub<IFluentMvcObjectFactory>()); filterInstance = CreateStub<IActionFilter>(); FluentMvcConfiguration.Create(CreateStub<IFluentMvcResolver>(), actionFilterRegistry, CreateStub<IActionResultRegistry>(), CreateStub<IFilterConventionCollection>()) .WithFilter(filterInstance).BuildFilterProvider(); }
public override void Because() { actionFilterRegistry = new ActionFilterRegistry(CreateStub <IFluentMvcObjectFactory>()); filterInstance = CreateStub <IActionFilter>(); FluentMvcConfiguration.Create(CreateStub <IFluentMvcResolver>(), actionFilterRegistry, CreateStub <IActionResultRegistry>(), CreateStub <IFilterConventionCollection>()) .WithFilter(filterInstance).BuildFilterProvider(); }
public override void Given() { Expression<Func<ControllerWithOverloadedActions, object>> registeredAction = c => c.OverloadedAction(default(Model)); actionFilterRegistry = new ActionFilterRegistry(CreateStub<IFluentMvcObjectFactory>()); FluentMvcConfiguration.Create(CreateStub<IFluentMvcResolver>(), actionFilterRegistry, CreateStub<IActionResultRegistry>(), CreateStub<IFilterConventionCollection>()) .WithFilter<TestActionFilter>(Apply.For(registeredAction)) .BuildFilterProvider(); }
public override void Given() { Expression <Func <ControllerWithOverloadedActions, object> > registeredAction = c => c.OverloadedAction(default(Model)); actionFilterRegistry = new ActionFilterRegistry(CreateStub <IFluentMvcObjectFactory>()); FluentMvcConfiguration.Create(CreateStub <IFluentMvcResolver>(), actionFilterRegistry, CreateStub <IActionResultRegistry>(), CreateStub <IFilterConventionCollection>()) .WithFilter <TestActionFilter>(Apply.For(registeredAction)) .BuildFilterProvider(); }
public void AddThenGetMatchesOneFilterOfOneType() { FakeUnityContainer container = new FakeUnityContainer(); container.Add(new FakeActionFilter()); ActionFilterRegistry registry = new ActionFilterRegistry(container); registry.Add(new[] { new FakeActionFilterCriteria() { IsMatch = true } }, typeof(FakeActionFilter)); FilterInfo filters = registry.GetFilters(this.GetFakeContext()); Assert.Equal(1, filters.ActionFilters.Count); Assert.IsType <FakeActionFilter>(filters.ActionFilters[0]); Assert.Equal(0, filters.AuthorizationFilters.Count); Assert.Equal(0, filters.ExceptionFilters.Count); Assert.Equal(0, filters.ResultFilters.Count); }
public override void Because() { actionFilter = new TestActionFilter(); objectFactory = CreateStub<IFluentMvcObjectFactory>(); objectFactory.Stub(of => of.Resolve<IActionFilter>(Arg<Type>.Is.Anything)) .Return(actionFilter).Repeat.Any(); actionFilterRegistry = new ActionFilterRegistry(objectFactory); func = c => c.ReturnPost(); var config = FluentMvcConfiguration.Create(CreateStub<IFluentMvcResolver>(), actionFilterRegistry, CreateStub<IActionResultRegistry>(), CreateStub<IFilterConventionCollection>()); config.ExposeConfiguration(x => { x.WithFilter<TestActionFilter>(Except.For<ThirdTestController>()); x.WithFilter<TestActionFilter>(Apply.For<TestController>().AndFor<SecondTestController>()); }); config.BuildFilterProvider(); }
public override void Because() { actionFilter = new TestActionFilter(); objectFactory = CreateStub <IFluentMvcObjectFactory>(); objectFactory.Stub(of => of.Resolve <IActionFilter>(Arg <Type> .Is.Anything)) .Return(actionFilter).Repeat.Any(); actionFilterRegistry = new ActionFilterRegistry(objectFactory); func = c => c.ReturnPost(); var config = FluentMvcConfiguration.Create(CreateStub <IFluentMvcResolver>(), actionFilterRegistry, CreateStub <IActionResultRegistry>(), CreateStub <IFilterConventionCollection>()); config.ExposeConfiguration(x => { x.WithFilter <TestActionFilter>(Except.For <ThirdTestController>()); x.WithFilter <TestActionFilter>(Apply.For <TestController>().AndFor <SecondTestController>()); }); config.BuildFilterProvider(); }
public void can_resolve_through_registry() { var controllerTypeConstraint = new ControllerTypeConstraint<TestController>(); var method = typeof(TestController).GetMethods().First(x => x.Name.Equals("ReturnNull") && x.GetParameters().Count() == 0); var actionDescriptor = new ReflectedActionDescriptor(method, "ReturnNull", new ReflectedControllerDescriptor(typeof(TestController))); var registry = new ActionFilterRegistry(new FluentMvcObjectFactory()); registry.Add(new ControllerActionRegistryItem(typeof(TestFilter), controllerTypeConstraint, actionDescriptor, actionDescriptor.ControllerDescriptor)); var proxyGenerator = new ProxyGenerator(); var interfaceProxyWithTarget = proxyGenerator.CreateClassProxy<TestController>(); var controllerType = interfaceProxyWithTarget.GetType(); var methodInfos = controllerType.GetMethods(); var proxyActionDescriptor = new ReflectedActionDescriptor(methodInfos.First(x => x.Name.Equals("ReturnNull") && x.GetParameters().Count() == 0), "ReturnNull", new ReflectedControllerDescriptor(controllerType)); registry .CanSatisfy(new ControllerActionFilterSelector(null, proxyActionDescriptor, proxyActionDescriptor.ControllerDescriptor)) .ShouldBeTrue(); }
public void can_resolve_through_registry() { var controllerTypeConstraint = new ControllerTypeConstraint <TestController>(); var method = typeof(TestController).GetMethods().First(x => x.Name.Equals("ReturnNull") && x.GetParameters().Count() == 0); var actionDescriptor = new ReflectedActionDescriptor(method, "ReturnNull", new ReflectedControllerDescriptor(typeof(TestController))); var registry = new ActionFilterRegistry(new FluentMvcObjectFactory()); registry.Add(new ControllerActionRegistryItem(typeof(TestFilter), controllerTypeConstraint, actionDescriptor, actionDescriptor.ControllerDescriptor)); var proxyGenerator = new ProxyGenerator(); var interfaceProxyWithTarget = proxyGenerator.CreateClassProxy <TestController>(); var controllerType = interfaceProxyWithTarget.GetType(); var methodInfos = controllerType.GetMethods(); var proxyActionDescriptor = new ReflectedActionDescriptor(methodInfos.First(x => x.Name.Equals("ReturnNull") && x.GetParameters().Count() == 0), "ReturnNull", new ReflectedControllerDescriptor(controllerType)); registry .CanSatisfy(new ControllerActionFilterSelector(null, proxyActionDescriptor, proxyActionDescriptor.ControllerDescriptor)) .ShouldBeTrue(); }