Esempio n. 1
0
        public static N2.Edit.Versioning.ContentVersionRepository CreateVersionRepository(ref IPersister persister, ref ContentActivator activator, params Type[] definedTypes)
        {
            if (persister == null)
            {
                persister = SetupFakePersister();
            }
            var definitions  = SetupDefinitions(definedTypes);
            var parser       = new UrlParser(persister, new ThreadContext(), new Host(new ThreadContext(), new HostSection()), new ConnectionMonitor(), new HostSection());
            var proxyFactory = new InterceptingProxyFactory();

            if (activator == null)
            {
                activator = new ContentActivator(new StateChanger(), new ItemNotifier(), proxyFactory);
                activator.Initialize(definitions.GetDefinitions());
            }
            var importer = new Importer(persister,
                                        new ItemXmlReader(definitions,
                                                          activator,
                                                          persister.Repository),
                                        new Fakes.FakeMemoryFileSystem());
            var exporter = new Exporter(
                new ItemXmlWriter(
                    definitions,
                    parser,
                    new FakeMemoryFileSystem()));

            return(new ContentVersionRepository(
                       new FakeRepository <ContentVersion>(),
                       exporter,
                       importer,
                       parser,
                       proxyFactory));
        }
Esempio n. 2
0
        public FakeEngine(params Type[] types)
        {
            AddComponentInstance <ITypeFinder>(new FakeTypeFinder(types));
            var definitionManager = TestSupport.SetupDefinitions(types.Where(t => typeof(ContentItem).IsAssignableFrom(t)).ToArray());

            AddComponentInstance <IDefinitionManager>(definitionManager);
            var adapterProvider = new ContentAdapterProvider(this, Resolve <ITypeFinder>());

            AddComponentInstance <IContentAdapterProvider>(adapterProvider);
            var itemRepository = new FakeContentItemRepository();

            AddComponentInstance <IRepository <ContentItem> >(itemRepository);
            AddComponentInstance <IContentItemRepository>(itemRepository);
            var webContext = new ThreadContext();

            AddComponentInstance <IWebContext>(webContext);
            var host = new Host(webContext, 1, 1);

            AddComponentInstance <IHost>(host);
            var security = new FakeSecurityManager();

            AddComponentInstance <ISecurityManager>(security);
            var source = new ContentSource(security, new [] { new DatabaseSource(host, itemRepository) });

            AddComponentInstance(source);
            AddComponentInstance <IPersister>(new ContentPersister(source, itemRepository));
            AddComponentInstance <IWebContext>(webContext);
            var proxyFactory = new InterceptingProxyFactory();

            AddComponentInstance <IProxyFactory>(proxyFactory);
            var activator = new ContentActivator(new N2.Edit.Workflow.StateChanger(), new ItemNotifier(), proxyFactory);

            AddComponentInstance <ContentActivator>(activator);
            activator.Initialize(definitionManager.GetDefinitions());
        }
Esempio n. 3
0
        public void TestFixtureSetUp()
        {
            factory = new InterceptingProxyFactory();
            var map = new DefinitionMap();

            factory.Initialize(new[] { typeof(InterceptableItem), typeof(InterceptableInheritorItem), typeof(IgnoringItem) }.Select(t => map.GetOrCreateDefinition(t)));
        }
Esempio n. 4
0
        public static void Setup(out IDefinitionProvider[] definitionProviders, out IDefinitionManager definitions, out ContentActivator activator, out IItemNotifier notifier, out InterceptingProxyFactory proxyFactory, params Type[] itemTypes)
        {
            var map = new DefinitionMap();

            definitionProviders = SetupDefinitionProviders(map, itemTypes);
            notifier            = new ItemNotifier();
            proxyFactory        = new InterceptingProxyFactory();
            activator           = new ContentActivator(new N2.Edit.Workflow.StateChanger(), notifier, proxyFactory);
            definitions         = new DefinitionManager(definitionProviders, activator, new StateChanger(), new DefinitionMap());
            ((DefinitionManager)definitions).Start();
        }
Esempio n. 5
0
        public virtual void TestFixtureSetup()
        {
            IDefinitionProvider[] definitionProviders;
            fs = new FakeMemoryFileSystem();
            TestSupport.Setup(out definitionProviders, out definitions, out activator, out notifier, out proxyFactory, persistedTypes);

            //var definitionProviders = TestSupport.SetupDefinitionProviders(new DefinitionMap(), typeof(PersistableItem), typeof(NonVirtualItem), typeof(PersistablePart));
            var proxies = new InterceptingProxyFactory();

            proxies.Initialize(definitionProviders.SelectMany(dp => dp.GetDefinitions()));
        }
Esempio n. 6
0
        public static void Setup(out IDefinitionManager definitions, out ContentActivator activator, out IItemNotifier notifier, out InterceptingProxyFactory proxyFactory, params Type[] itemTypes)
        {
            ITypeFinder typeFinder = new Fakes.FakeTypeFinder(itemTypes[0].Assembly, itemTypes);

            DefinitionBuilder definitionBuilder = new DefinitionBuilder(typeFinder, new EngineSection());

            notifier     = new ItemNotifier();
            proxyFactory = new InterceptingProxyFactory();
            activator    = new ContentActivator(new N2.Edit.Workflow.StateChanger(), notifier, proxyFactory);
            definitions  = new DefinitionManager(new [] { new DefinitionProvider(definitionBuilder) }, activator);
            ((DefinitionManager)definitions).Start();
        }
Esempio n. 7
0
        public static void Setup(out IDefinitionManager definitions, out ITemplateAggregator templates, out ContentActivator activator, params Type[] itemTypes)
        {
            var map = new DefinitionMap();
            var definitionProviders = SetupDefinitionProviders(map, itemTypes);
            var notifier            = new ItemNotifier();
            var proxyFactory        = new InterceptingProxyFactory();

            activator   = new ContentActivator(new N2.Edit.Workflow.StateChanger(), notifier, proxyFactory);
            definitions = new DefinitionManager(definitionProviders, activator, new StateChanger(), new DefinitionMap());
            templates   = new TemplateAggregator(definitions, new[] { new TemplateProvider(activator, map) });
            ((IAutoStart)definitions).Start();
            ((IAutoStart)templates).Start();
        }
Esempio n. 8
0
        public static void Setup(out IDefinitionProvider[] definitionProviders, out IDefinitionManager definitions, out ContentActivator activator, out IItemNotifier notifier, out InterceptingProxyFactory proxyFactory, params Type[] itemTypes)
        {
            ITypeFinder typeFinder = new Fakes.FakeTypeFinder(itemTypes[0].Assembly, itemTypes);

            DefinitionBuilder definitionBuilder = new DefinitionBuilder(new DefinitionMap(), typeFinder, new TransformerBase <IUniquelyNamed> [0], SetupEngineSection());

            notifier            = new ItemNotifier();
            proxyFactory        = new InterceptingProxyFactory();
            activator           = new ContentActivator(new N2.Edit.Workflow.StateChanger(), notifier, proxyFactory);
            definitionProviders = new IDefinitionProvider[] { new DefinitionProvider(definitionBuilder) };
            definitions         = new DefinitionManager(definitionProviders, new ITemplateProvider[0], activator, new StateChanger());
            ((DefinitionManager)definitions).Start();
        }
Esempio n. 9
0
        public static void Setup(out IDefinitionManager definitions, out ContentActivator activator, out IItemNotifier notifier, out FakeSessionProvider sessionProvider, out ItemFinder finder, out SchemaExport schemaCreator, out InterceptingProxyFactory proxyFactory, IWebContext context, DatabaseSection config, ConfigurationBuilderParticipator[] participators, params Type[] itemTypes)
        {
            Setup(out definitions, out activator, out notifier, out proxyFactory, itemTypes);

            var connectionStrings    = (ConnectionStringsSection)ConfigurationManager.GetSection("connectionStrings");
            var configurationBuilder = new ConfigurationBuilder(definitions, new ClassMappingGenerator(), new ThreadContext(), participators, config, connectionStrings);
            var configurationSource  = new ConfigurationSource(configurationBuilder);

            sessionProvider = new FakeSessionProvider(configurationSource, new NHInterceptor(proxyFactory, configurationSource, notifier), context);

            finder = new ItemFinder(sessionProvider, definitions);

            schemaCreator = new SchemaExport(configurationSource.BuildConfiguration());
        }
Esempio n. 10
0
        public static void Setup(out IDefinitionManager definitions, out ContentActivator activator, out IItemNotifier notifier, out FakeSessionProvider sessionProvider, out ItemFinder finder, out SchemaExport schemaCreator, out InterceptingProxyFactory proxyFactory, params Type[] itemTypes)
        {
            var participators             = new ConfigurationBuilderParticipator[0];
            FakeWebContextWrapper context = new Fakes.FakeWebContextWrapper();
            DatabaseSection       config  = (DatabaseSection)ConfigurationManager.GetSection("n2/database");

            Setup(out definitions, out activator, out notifier, out sessionProvider, out finder, out schemaCreator, out proxyFactory, context, config, participators, itemTypes);
        }
Esempio n. 11
0
        public static IDefinitionManager SetupDefinitions(out ContentActivator activator, out InterceptingProxyFactory proxyFactory, params Type[] itemTypes)
        {
            IItemNotifier notifier;

            IDefinitionProvider[] definitionProviders;
            IDefinitionManager    definitions;

            Setup(out definitionProviders, out definitions, out activator, out notifier, out proxyFactory, itemTypes);
            return(definitions);
        }
Esempio n. 12
0
 public void TestFixtureSetUp()
 {
     factory = new InterceptingProxyFactory();
     factory.Initialize(new[] { typeof(InterceptableItem), typeof(InterceptableInheritorItem), typeof(IgnoringItem) });
 }