コード例 #1
0
        public override void Register(ContainerBuilder builder)
        {
            builder.RegisterType <DefaultContentManager>().As <IContentManager>();
            builder.RegisterType <DefaultContentManagerSession>().As <IContentManagerSession>();
            builder.RegisterType <TestHandler>().As <IContentHandler>();
            builder.RegisterType <CommonPartHandler>().As <IContentHandler>();
            builder.RegisterType <CommonPartDriver>().As <IContentPartDriver>();
            builder.RegisterType <OwnerEditorDriver>().As <IContentPartDriver>();
            builder.RegisterType <ContentPartDriverCoordinator>().As <IContentHandler>();
            builder.RegisterType <CommonService>().As <ICommonService>();
            builder.RegisterType <ScheduledTaskManager>().As <IScheduledTaskManager>();
            builder.RegisterType <DefaultShapeFactory>().As <IShapeFactory>();
            builder.RegisterType <StubExtensionManager>().As <IExtensionManager>();
            builder.RegisterType <StubCacheManager>().As <ICacheManager>();
            builder.RegisterType <StubParallelCacheContext>().As <IParallelCacheContext>();
            builder.RegisterType <StubThemeService>().As <IThemeManager>();
            builder.RegisterInstance(new Mock <IOrchardServices>().Object);

            builder.RegisterInstance(new RequestContext(new StubHttpContext(), new RouteData()));
            builder.RegisterType <DefaultShapeTableManager>().As <IShapeTableManager>();
            builder.RegisterType <ShapeTableLocator>().As <IShapeTableLocator>();
            builder.RegisterType <DefaultShapeFactory>().As <IShapeFactory>();

            // IContentDisplay
            var workContext = new DefaultDisplayManagerTests.TestWorkContext {
                CurrentTheme = new ExtensionDescriptor {
                    Id = "Hello"
                }
            };

            builder.RegisterInstance <DefaultDisplayManagerTests.TestWorkContextAccessor>(new DefaultDisplayManagerTests.TestWorkContextAccessor(workContext)).As <IWorkContextAccessor>();
            builder.RegisterType <DefaultContentDisplay>().As <IContentDisplay>();

            DefaultShapeTableManagerTests.TestShapeProvider.FeatureShapes = new Dictionary <Feature, IEnumerable <string> > {
                { TestFeature(), new[] { "Parts_Common_Owner_Edit" } }
            };

            builder.RegisterType <DefaultShapeTableManagerTests.TestShapeProvider>().As <IShapeTableProvider>()
            .As <DefaultShapeTableManagerTests.TestShapeProvider>()
            .InstancePerLifetimeScope();

            builder.RegisterInstance(new RouteCollection());
            builder.RegisterModule(new ShapeAttributeBindingModule());

            _authn      = new Mock <IAuthenticationService>();
            _authz      = new Mock <IAuthorizationService>();
            _membership = new Mock <IMembershipService>();
            _contentDefinitionManager = new Mock <IContentDefinitionManager>();

            builder.RegisterInstance(_authn.Object);
            builder.RegisterInstance(_authz.Object);
            builder.RegisterInstance(_membership.Object);
            builder.RegisterInstance(_contentDefinitionManager.Object);

            var virtualPathProviderMock = new Mock <IVirtualPathProvider>();

            virtualPathProviderMock.Setup(a => a.ToAppRelative(It.IsAny <string>())).Returns("~/yadda");

            builder.RegisterInstance(virtualPathProviderMock.Object);
        }
コード例 #2
0
ファイル: SubsystemTests.cs プロジェクト: RasterImage/Orchard
        public void Init() {
            var testFeature = new Feature
            {
                Descriptor = new FeatureDescriptor
                {
                    Id = "Testing",
                    Extension = new ExtensionDescriptor
                    {
                        Id = "Testing",
                        ExtensionType = DefaultExtensionTypes.Module,
                    }
                }
            };

            var workContext = new DefaultDisplayManagerTests.TestWorkContext
            {
                CurrentTheme = new ExtensionDescriptor { Id = "Hello" }
            };

            var builder = new ContainerBuilder();
            builder.RegisterModule(new ShapeAttributeBindingModule());
            builder.RegisterType<ShapeAttributeBindingStrategy>().As<IShapeTableProvider>();
            builder.RegisterType<ShapeTableLocator>().As<IShapeTableLocator>();
            builder.RegisterType<DefaultDisplayManager>().As<IDisplayManager>();
            builder.RegisterType<DefaultShapeFactory>().As<IShapeFactory>();
            builder.RegisterType<DisplayHelperFactory>().As<IDisplayHelperFactory>();
            builder.RegisterInstance(new Work<IEnumerable<IShapeTableEventHandler>>(resolve => _container.Resolve<IEnumerable<IShapeTableEventHandler>>())).AsSelf();
            builder.RegisterType<DefaultShapeTableManager>().As<IShapeTableManager>();
            builder.RegisterType<StubCacheManager>().As<ICacheManager>();
            builder.RegisterType<StubParallelCacheContext>().As<IParallelCacheContext>();
            builder.RegisterInstance(new DefaultDisplayManagerTests.TestWorkContextAccessor(workContext)).As<IWorkContextAccessor>();
            builder.RegisterInstance(new SimpleShapes()).WithMetadata("Feature", testFeature);
            builder.RegisterInstance(new RouteCollection());
            builder.RegisterAutoMocking(MockBehavior.Loose);

            _container = builder.Build();
            _container.Resolve<Mock<IOrchardHostContainer>>()
                .Setup(x => x.Resolve<IComponentContext>())
                .Returns(_container);
        }
コード例 #3
0
        public void Init()
        {
            var builder = new ContainerBuilder();

            builder.RegisterType <FooController>()
            .Keyed <IController>("/foo")
            .Keyed <IController>(typeof(FooController))
            .WithMetadata("ControllerType", typeof(FooController))
            .InstancePerDependency();

            builder.RegisterType <BarController>()
            .Keyed <IController>("/bar")
            .Keyed <IController>(typeof(BarController))
            .WithMetadata("ControllerType", typeof(BarController))
            .InstancePerDependency();

            builder.RegisterType <ReplacementFooController>()
            .Keyed <IController>("/foo")
            .Keyed <IController>(typeof(ReplacementFooController))
            .WithMetadata("ControllerType", typeof(ReplacementFooController))
            .InstancePerDependency();

            var container = builder.Build();

            _containerProvider = new StubContainerProvider(container, container.BeginLifetimeScope());

            var workContext = new DefaultDisplayManagerTests.TestWorkContext
            {
                CurrentTheme = new ExtensionDescriptor {
                    Id = "Hello"
                },
                ContainerProvider = _containerProvider
            };

            _workContextAccessor = new DefaultDisplayManagerTests.TestWorkContextAccessor(workContext);

            _controllerFactory = new CoeveryControllerFactory();
            InjectKnownControllerTypes(_controllerFactory, typeof(ReplacementFooController), typeof(FooController), typeof(BarController));
        }