public override void SetUp() { base.SetUp(); root = CreateOneItem<RootNode>(1, "root", null); start = CreateOneItem<RootNode>(2, "start", root); host = new Host(new ThreadContext(), root.ID, start.ID); fs = new FakeMappedFileSystem(); fs.BasePath = AppDomain.CurrentDomain.BaseDirectory + @"\FileSystem\"; vnf = new VirtualNodeFactory(); config = new EditSection(); injector = new FakeDependencyInjector(); injector.injectors.Add(new EntityDependencySetter<IFileSystem>(fs)); injector.injectors.Add(new EntityDependencySetter<IDependencyInjector>(injector)); var sizeCache = new ImageSizeCache(new ConfigurationManagerWrapper { Sections = new ConfigurationManagerWrapper.ContentSectionTable(null, null, null, config) }); injector.injectors.Add(new EntityDependencySetter<ImageSizeCache>(sizeCache)); //nodeProvider = new FolderNodeProvider(fs, persister, injector); //initializer = new VirtualFolderInitializer(host, persister, fs, vnf, new Plugin.ConnectionMonitor().SetConnected(SystemStatusLevel.UpAndRunning), config, new ImageSizeCache(new ConfigurationManagerWrapper { Sections = new ConfigurationManagerWrapper.ContentSectionTable(null, null, null, config) }), nodeProvider); //nodeProvider = new FolderNodeProvider(fs, persister, injector); //nodeProvider = new FolderNodeProvider(fs, persister, injector); nodeProvider = new FolderNodeProvider(fs, persister.Repository, injector); initializer = new VirtualFolderInitializer(host, persister, fs, vnf, monitor = new Plugin.ConnectionMonitor().SetConnected(SystemStatusLevel.UpAndRunning), new UploadFolderSource(host, config), nodeProvider); }
public override void SetUp() { base.SetUp(); webContext = new ThreadContext(); host = new Host(webContext, 1, 1); source = TestSupport.SetupContentSource(webContext, host, persister.Repository); }
public void Sites_AreRead_FromConfig() { config.Sites.Add(new SiteElement { ID = 444, Name = "n2cms.com" }); host = new Host(ctx, config); var site = host.GetSite(444); Assert.That(site.StartPageID, Is.EqualTo(444)); Assert.That(site.Authority, Is.EqualTo("n2cms.com")); }
public override void SetUp() { base.SetUp(); config = new HostSection(); config.RootID = 123; config.StartPageID = 234; ctx = new ThreadContext(); host = new Host(ctx, config); root = CreateOneItem<Items.PageItem>(123, "start", null); start = CreateOneItem<Items.PageItem>(234, "start", null); }
public override void SetUp() { base.SetUp(); host = new Host(new Fakes.FakeWebContextWrapper(), 1, 1); config = new EditSection(); config.DefaultDirectory = new DefaultDirectoryElement(); config.UploadFolders = new FileSystemFolderCollection(); root = CreateOneItem<Items.NormalPage>(1, "root", null); item1 = CreateOneItem<Items.NormalPage>(2, "item1", root); item2 = CreateOneItem<Items.NormalPage>(3, "item2", item1); }
public void PagesOutsideStartPage_AreReferenced_ThroughTheirRewrittenUrl() { host = new Host(wrapper, 10, 1); parser = new UrlParser(persister, wrapper, host, new HostSection()); CreateDefaultStructure(); ContentItem root = CreateOneItem<PageItem>(10, "root", null); startItem.AddTo(root); ContentItem outside1 = CreateOneItem<PageItem>(11, "outside1", root); mocks.ReplayAll(); Assert.AreEqual(parser.BuildUrl(root), root.FindPath(PathData.DefaultAction).RewrittenUrl.ToString()); Assert.AreEqual(parser.BuildUrl(outside1), outside1.FindPath(PathData.DefaultAction).RewrittenUrl.ToString()); }
public void ThrashHandler_Throw_CanBeCancelled() { var definitions = mocks.Stub<IDefinitionManager>(); IPersister persister = mocks.StrictMock<IPersister>(); Expect.Call(persister.Get(1)).Return(root).Repeat.Any(); Expect.Call(delegate { persister.Save(item); }).Repeat.Never(); mocks.ReplayAll(); var host = new Host(webContext, 1, 1); TrashHandler th = new TrashHandler(persister, null, null, new ContainerRepository<TrashContainerItem>(persister, null, host, null), new StateChanger()) { UseNavigationMode = true }; th.ItemThrowing += delegate(object sender, CancellableItemEventArgs args) { args.Cancel = true; }; th.Throw(item); mocks.VerifyAll(); }
public override void SetUp() { base.SetUp(); root = CreateOneItem<RegularPage>(1, "root", null); about = CreateOneItem<AboutUsSectionPage>(2, "about", root); executives = CreateOneItem<ExecutiveTeamPage>(3, "executives", about); search = CreateOneItem<SearchPage>(4, "search", root); var typeFinder = new FakeTypeFinder2(); typeFinder.typeMap[typeof(ContentItem)] = this.NearbyTypes() .BelowNamespace("N2.Extensions.Tests.Mvc.Models").AssignableTo<ContentItem>().Union(typeof(ContentItem)).ToArray(); typeFinder.typeMap[typeof(IController)] = this.NearbyTypes() .BelowNamespace("N2.Extensions.Tests.Mvc.Controllers").AssignableTo<IController>().Except(typeof(AnotherRegularController)) .ToArray(); var changer = new StateChanger(); var definitions = new DefinitionManager(new[] { new DefinitionProvider(new DefinitionBuilder(new DefinitionMap(), typeFinder, new TransformerBase<IUniquelyNamed>[0], TestSupport.SetupEngineSection())) }, new ITemplateProvider[0], new ContentActivator(changer, null, new EmptyProxyFactory()), changer); httpContext = new FakeHttpContext(); var webContext = new FakeWebContextWrapper(httpContext); var host = new Host(webContext, root.ID, root.ID); var parser = TestSupport.Setup(persister, webContext, host); controllerMapper = new ControllerMapper(typeFinder, definitions); Url.DefaultExtension = ""; N2.Web.Url.ApplicationPath = "/"; engine = mocks.DynamicMock<IEngine>(); SetupResult.For(engine.Resolve<ITypeFinder>()).Return(typeFinder); SetupResult.For(engine.Definitions).Return(definitions); SetupResult.For(engine.UrlParser).Return(parser); SetupResult.For(engine.Persister).Return(persister); SetupResult.For(engine.Resolve<RequestPathProvider>()).Return(new RequestPathProvider(webContext, parser, new ErrorNotifier(), new HostSection())); var editUrlManager = new FakeEditUrlManager(); SetupResult.For(engine.ManagementPaths).Return(editUrlManager); engine.Replay(); route = new ContentRoute(engine, new MvcRouteHandler(), controllerMapper, null); routes = new RouteCollection { route }; }
public override void SetUp() { base.SetUp(); root = CreateOneItem<RegularPage>(1, "root", null); about = CreateOneItem<AboutUsSectionPage>(2, "about", root); executives = CreateOneItem<ExecutiveTeamPage>(3, "executives", about); search = CreateOneItem<SearchPage>(4, "search", root); var typeFinder = new FakeTypeFinder2(); typeFinder.typeMap[typeof(ContentItem)] = this.NearbyTypes() .BelowNamespace("N2.Extensions.Tests.Mvc.Models").AssignableTo<ContentItem>().Union(typeof(ContentItem)).ToArray(); typeFinder.typeMap[typeof(IController)] = this.NearbyTypes() .BelowNamespace("N2.Extensions.Tests.Mvc.Controllers").AssignableTo<IController>().Except(typeof(AnotherRegularController)) .ToArray(); var editUrlManager = new FakeEditUrlManager(); var definitions = new DefinitionManager(new DefinitionBuilder(typeFinder, new EngineSection(), editUrlManager), new N2.Edit.Workflow.StateChanger(), null, new EmptyProxyFactory()); var webContext = new ThreadContext(); var host = new Host(webContext, root.ID, root.ID); var parser = new UrlParser(persister, webContext, host, new HostSection()); controllerMapper = new ControllerMapper(typeFinder, definitions); Url.DefaultExtension = ""; engine = mocks.DynamicMock<IEngine>(); SetupResult.For(engine.Resolve<ITypeFinder>()).Return(typeFinder); SetupResult.For(engine.Definitions).Return(definitions); SetupResult.For(engine.UrlParser).Return(parser); SetupResult.For(engine.Persister).Return(persister); SetupResult.For(engine.ManagementPaths).Return(editUrlManager); engine.Replay(); route = new ContentRoute(engine, new MvcRouteHandler(), controllerMapper, null); httpContext = new FakeHttpContext(); routes = new RouteCollection { route }; }
public void ThrashHandler_Throw_WillInvokeEvents() { var activator = new ContentActivator(null, null, null); IPersister persister = mocks.StrictMock<IPersister>(); Expect.Call(persister.Get(1)).Return(root).Repeat.Any(); Expect.Call(delegate { persister.Save(item); }).Repeat.Any(); mocks.ReplayAll(); var host = new Host(webContext, 1, 1); TrashHandler th = new TrashHandler(persister, null, null, new ContainerRepository<TrashContainerItem>(persister, null, host, activator), new StateChanger()) { UseNavigationMode = true }; bool throwingWasInvoked = false; bool throwedWasInvoked = false; th.ItemThrowing += delegate { throwingWasInvoked = true; }; th.ItemThrowed += delegate { throwedWasInvoked = true; }; th.Throw(item); Assert.That(throwingWasInvoked); Assert.That(throwedWasInvoked); mocks.VerifyAll(); }
public void NonThrowableItem_IsNotMovedToTrashcan() { IDefinitionManager definitions = mocks.Stub<IDefinitionManager>(); IPersister persister = mocks.Stub<IPersister>(); Expect.Call(persister.Get(1)).Return(root).Repeat.Any(); persister.ItemDeleting += null; IEventRaiser invokeDelete = LastCall.IgnoreArguments().GetEventRaiser(); mocks.ReplayAll(); var host = new Host(webContext, 1, 1); TrashHandler th = new TrashHandler(persister, null, null, new ContainerRepository<TrashContainerItem>(persister, null, host, null), new StateChanger()) { UseNavigationMode = true }; DeleteInterceptor interceptor = new DeleteInterceptor(persister, th); interceptor.Start(); CancellableItemEventArgs deleteArgs = new CancellableItemEventArgs(nonThrowable); invokeDelete.Raise(persister, deleteArgs); Assert.That(deleteArgs.Cancel, Is.False); Assert.That(trash.Children.Count, Is.EqualTo(0)); }
public override void SetUp() { base.SetUp(); root = CreateOneItem<RootNode>(1, "root", null); start = CreateOneItem<RootNode>(2, "start", root); host = new Host(new ThreadContext(), root.ID, start.ID); fs = new FakeFileSystem(); fs.PathProvider = new FakePathProvider(fs.BasePath); vnf = new VirtualNodeFactory(); config = new EditSection(); initializer = new VirtualFolderInitializer(host, persister, fs, vnf, new FakeStatus(), config); }