public void Install_OnlyRegisterComponentsOfTypeOfIControllers()
        {
            IWindsorContainer containerWithControllers = new WindsorContainer().Install(new ControllersInstaller());

            var allHandlers = containerWithControllers.GetAllHandlers();
            Assert.AreNotEqual(0, allHandlers.Length);
            var controllerHandlers = containerWithControllers.GetHandlersFor(typeof(IController));
            CollectionAssert.AreEquivalent(allHandlers, controllerHandlers);
        }
        public void Install_RegisterAllControllersAsTransient()
        {
            IWindsorContainer containerWithControllers = new WindsorContainer().Install(new ControllersInstaller());

            var nonTransientControllers = containerWithControllers.GetHandlersFor(typeof(IController))
                .Where(controller => controller.ComponentModel.LifestyleType != LifestyleType.Transient)
                .ToArray();
            Assert.AreEqual(0, nonTransientControllers.Length);
        }
        public void Install_AllControllersExposeThemselvesAsService()
        {
            IWindsorContainer containerWithControllers = new WindsorContainer().Install(new ControllersInstaller());

            var controllersWithWrongName = containerWithControllers.GetHandlersFor(typeof(IController))
                .Where(controller => controller.Service != controller.ComponentModel.Implementation)
                .ToArray();
            Assert.AreEqual(0, controllersWithWrongName.Length);
        }
Пример #4
0
        public void Install_AllControllersExposeThemselvesAsService()
        {
            IWindsorContainer containerWithControllers = new WindsorContainer().Install(new ControllersInstaller());

            var controllersWithWrongName = containerWithControllers.GetHandlersFor(typeof(IController))
                                           .Where(controller => controller.Service != controller.ComponentModel.Implementation)
                                           .ToArray();

            Assert.AreEqual(0, controllersWithWrongName.Length);
        }
Пример #5
0
        public void Install_RegisterAllControllersAsTransient()
        {
            IWindsorContainer containerWithControllers = new WindsorContainer().Install(new ControllersInstaller());

            var nonTransientControllers = containerWithControllers.GetHandlersFor(typeof(IController))
                                          .Where(controller => controller.ComponentModel.LifestyleType != LifestyleType.Transient)
                                          .ToArray();

            Assert.AreEqual(0, nonTransientControllers.Length);
        }
Пример #6
0
        public void Install_RegisterComponentsWithTheSameNameThatItsTypes()
        {
            IWindsorContainer containerWithControllers = new WindsorContainer().Install(new ControllersInstaller());

            var controllersWithWrongName = containerWithControllers.GetHandlersFor(typeof(IController))
                                           .Where(controller => controller.ComponentModel.Name != controller.ComponentModel.Implementation.Name)
                                           .ToArray();

            Assert.AreEqual(0, controllersWithWrongName.Length);
        }
Пример #7
0
        public void Install_OnlyRegisterComponentsOfTypeOfIControllers()
        {
            IWindsorContainer containerWithControllers = new WindsorContainer().Install(new ControllersInstaller());

            var allHandlers = containerWithControllers.GetAllHandlers();

            Assert.AreNotEqual(0, allHandlers.Length);
            var controllerHandlers = containerWithControllers.GetHandlersFor(typeof(IController));

            CollectionAssert.AreEquivalent(allHandlers, controllerHandlers);
        }
        public void GivenRegistrationsInstalled_AndRequestingComponentIsServiceOfferingController_WhenResolve_ThenReturnServiceOfferingFileProcessor()
        {
            Container = new WindsorContainer();
            Container.Kernel.ComponentModelBuilder.AddContributor(new TransientEqualizer());
            Container.Install(Target);
            Container.Register(Component.For<IBlobClient>().Instance(MockRepository.GenerateMock<IBlobClient>()));
            Container.Register(Component.For<IRepositoryContainer>().Instance(MockRepository.GenerateMock<IRepositoryContainer>()));
            Container.Register(Component.For<IPermissionFactory>().Instance(MockRepository.GenerateMock<IPermissionFactory>()));
            var handler = Container.GetHandlersFor(typeof(IFileProcessor)).Single();
            var context = new CreationContext(handler, new LifecycledComponentsReleasePolicy(Container.Kernel), typeof(IFileProcessor), null, null, null);
            handler.ComponentModel.Name = typeof(ServiceOfferingController).FullName;

            var actual = handler.Resolve(context);

            Assert.IsInstanceOfType(actual, typeof(ServiceOfferingFileProcessor));
        }
Пример #9
0
        public void Init_RegisterComponentForIQueryableSessionWithLifeStylePerWebRequest()
        {
            IWindsorContainer container = new WindsorContainer();
            var stubNHibCong            = NHibernateHelper.GenerateStubConfiguration();

            var persistenceFacility = new PersistenceFacility(stubNHibCong);
            var facility            = persistenceFacility as IFacility;

            facility.Init(container.Kernel, null);

            var registeredComponents = container.GetImplementationTypesFor(typeof(IQueryableSession <>));

            Assert.AreEqual(1, registeredComponents.Length);
            var sessionHandler = container.GetHandlersFor(typeof(IQueryableSession <>)).First();

            Assert.AreEqual(LifestyleType.PerWebRequest, sessionHandler.ComponentModel.LifestyleType);
        }
Пример #10
0
        public void Init_RegisterComponentForISessionWithLifeStylePerWebRequest()
        {
            IWindsorContainer container = new WindsorContainer();
            var stubNHibCong            = NHibernateHelper.GenerateStubConfiguration();

            var persistenceFacility = new PersistenceFacility(stubNHibCong);
            var facility            = persistenceFacility as IFacility;

            facility.Init(container.Kernel, null);

            var registeredComponents = container.GetImplementationTypesFor(typeof(ISession));

            Assert.IsTrue(registeredComponents.Length >= 1, "There should be at least one component registeres to resolve the ISession interface.");
            var sessionHandler = container.GetHandlersFor(typeof(ISession)).First();

            Assert.AreEqual(LifestyleType.PerWebRequest, sessionHandler.ComponentModel.LifestyleType);
        }
        public void Install_RegisterComponentsWithTheSameNameThatItsTypes()
        {
            IWindsorContainer containerWithControllers = new WindsorContainer().Install(new ControllersInstaller());

            var controllersWithWrongName = containerWithControllers.GetHandlersFor(typeof(IController))
                .Where(controller => controller.ComponentModel.Name != controller.ComponentModel.Implementation.Name)
                .ToArray();
            Assert.AreEqual(0, controllersWithWrongName.Length);
        }
        public void GivenRegistrationsInstalled_AndRequestingComponentIsUnknown_WhenResolve_ThenReturnNullYieldsException()
        {
            Container = new WindsorContainer();
            Container.Kernel.ComponentModelBuilder.AddContributor(new TransientEqualizer());
            Container.Install(Target);
            Container.Register(Component.For<IBlobClient>().Instance(MockRepository.GenerateMock<IBlobClient>()));
            Container.Register(Component.For<IRepositoryContainer>().Instance(MockRepository.GenerateMock<IRepositoryContainer>()));
            Container.Register(Component.For<IPermissionFactory>().Instance(MockRepository.GenerateMock<IPermissionFactory>()));
            var handler = Container.GetHandlersFor(typeof(IFileProcessor)).Single();
            var context = new CreationContext(handler, new LifecycledComponentsReleasePolicy(Container.Kernel), typeof(IFileProcessor), null, null, null);

            Target.ExpectException<ComponentActivatorException>(() => handler.Resolve(context));
        }