void AssertMultipleFilters(FilterScope filterScope, Action <IRegistrationBuilder <TFilter1, SimpleActivatorData, SingleRegistrationStyle> > configure1, Action <IRegistrationBuilder <TFilter2, SimpleActivatorData, SingleRegistrationStyle> > configure2) { var builder = new ContainerBuilder(); configure1(builder.Register(c => new TFilter1())); configure2(builder.Register(c => new TFilter2())); var container = builder.Build(); SetupMockLifetimeScopeProvider(container); var actionDescriptor = new ReflectedActionDescriptor(_baseMethodInfo, _actionName, _controllerDescriptor); var provider = new AutofacFilterProvider(); var filters = provider.GetFilters(_baseControllerContext, actionDescriptor).ToList(); Assert.That(filters, Has.Count.EqualTo(2)); var filter = filters.Single(f => f.Instance is TFilter1); Assert.That(filter.Scope, Is.EqualTo(filterScope)); Assert.That(filter.Order, Is.EqualTo(Filter.DefaultOrder)); filter = filters.Single(f => f.Instance is TFilter2); Assert.That(filter.Scope, Is.EqualTo(filterScope)); Assert.That(filter.Order, Is.EqualTo(20)); }
public void FilterRegistrationsWithoutMetadataIgnored() { var builder = new ContainerBuilder(); builder.RegisterType<AuthorizeAttribute>().AsImplementedInterfaces(); var container = builder.Build(); SetupMockLifetimeScopeProvider(container); var provider = new AutofacFilterProvider(); var filters = provider.GetFilters(_baseControllerContext, _reflectedActionDescriptor).ToList(); Assert.That(filters, Has.Count.EqualTo(0)); }
public void FilterRegistrationsWithoutMetadataIgnored() { var builder = new ContainerBuilder(); builder.RegisterType <AuthorizeAttribute>().AsImplementedInterfaces(); var container = builder.Build(); SetupMockLifetimeScopeProvider(container); var provider = new AutofacFilterProvider(); var filters = provider.GetFilters(this._baseControllerContext, this._reflectedActionDescriptor).ToList(); Assert.Empty(filters); }
void AssertFilterOverrideRegistration(FilterScope filterScope, ActionDescriptor actionDescriptor, Action <IRegistrationBuilder <TFilter1, SimpleActivatorData, SingleRegistrationStyle> > configure, ControllerContext controllerContext) { var builder = new ContainerBuilder(); configure(builder.Register(c => new TFilter1())); var container = builder.Build(); SetupMockLifetimeScopeProvider(container); var provider = new AutofacFilterProvider(); var filters = provider.GetFilters(controllerContext, actionDescriptor).ToList(); Assert.That(filters, Has.Count.EqualTo(1)); Assert.That(filters[0].Instance, Is.InstanceOf(GetWrapperType())); Assert.That(filters[0].Scope, Is.EqualTo(filterScope)); }
static void AssertOverrideFilter(ActionDescriptor actionDescriptor, Action <ContainerBuilder> registration, ControllerContext controllerContext) { var builder = new ContainerBuilder(); registration(builder); var container = builder.Build(); SetupMockLifetimeScopeProvider(container); var provider = new AutofacFilterProvider(); var filters = provider.GetFilters(controllerContext, actionDescriptor).ToList(); var filter = filters.Select(info => info.Instance).OfType <AutofacOverrideFilter>().Single(); Assert.That(filter, Is.InstanceOf <AutofacOverrideFilter>()); Assert.That(filter.FiltersToOverride, Is.EqualTo(typeof(TFilterType))); }
private static void AssertSingleFilter(FilterScope filterScope, ActionDescriptor actionDescriptor, Action <IRegistrationBuilder <TFilter1, SimpleActivatorData, SingleRegistrationStyle> > configure, ControllerContext controllerContext) { var builder = new ContainerBuilder(); configure(builder.Register(c => new TFilter1())); var container = builder.Build(); SetupMockLifetimeScopeProvider(container); var provider = new AutofacFilterProvider(); var filters = provider.GetFilters(controllerContext, actionDescriptor).ToList(); Assert.Single(filters); Assert.IsType <TFilter1>(filters[0].Instance); Assert.Equal(filterScope, filters[0].Scope); }