Exemplo n.º 1
0
 public override void Because()
 {
     actionFilterRegistry = new ActionFilterRegistry(CreateStub<IFluentMvcObjectFactory>());
     filterInstance = CreateStub<IActionFilter>();
     FluentMvcConfiguration.Create(CreateStub<IFluentMvcResolver>(), actionFilterRegistry, CreateStub<IActionResultRegistry>(), CreateStub<IFilterConventionCollection>())
         .WithFilter(filterInstance).BuildFilterProvider();
 }
Exemplo n.º 2
0
 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();
            }
Exemplo n.º 4
0
            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();
        }
Exemplo n.º 9
0
        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();
        }