public void Should_register_request_lifetime_types_into_request_container_as_singletons()
        {
            // Given
            var typeRegistrations = new[]
            {
                new TypeRegistration(typeof(object), typeof(object)),
                new TypeRegistration(typeof(FakeBootstrapperBaseImplementation), typeof(FakeBootstrapperBaseImplementation), Lifetime.Transient),
                new TypeRegistration(typeof(string), typeof(string), Lifetime.PerRequest),
            };
            var startupStub = A.Fake <IRegistrations>();

            A.CallTo(() => startupStub.TypeRegistrations).Returns(typeRegistrations);
            var engine = new FakeEngine();

            this.bootstrapper.FakeNancyEngine             = engine;
            this.bootstrapper.OverriddenRegistrationTasks = new[] { startupStub };
            this.bootstrapper.Initialise();

            // When
            var builtEngine = this.bootstrapper.GetEngine();

            builtEngine.HandleRequest(new FakeRequest("GET", "/"));

            // Then
            this.bootstrapper.RequestTypeRegistrations.Any(tr => tr.RegistrationType == typeof(string) && tr.Lifetime == Lifetime.Singleton).ShouldBeTrue();
        }
Esempio n. 2
0
        public void TestBlockGeneration()
        {
            var block         = new PathBlock(64, 1, 10, 0);
            var retVal        = 0.5;
            var gen           = new Constant(retVal);
            var fetCollection = new FeatureCollection();
            var engine        = new FakeEngine();

            fetCollection.AddFeature <IEngineFeature>(engine);
            fetCollection.AddFeature <ITimeStepsFeature>(engine);
            fetCollection.AddFeature <IPathMappingFeature>(engine);

            gen.Process(block);

            for (var i = 0; i < 64 * 10; i++)
            {
                Assert.Equal(retVal, block[i]);
            }

            gen.UseNormalInverse = true;
            gen.Process(block);
            retVal = Statistics.NormInv(retVal);
            for (var i = 0; i < 64 * 10; i++)
            {
                Assert.Equal(retVal, block[i]);
            }
        }
Esempio n. 3
0
        public override void SetUp()
        {
            base.SetUp();
            DefinitionBuilder builder  = new DefinitionBuilder(new DefinitionMap(), typeFinder, new TransformerBase <IUniquelyNamed> [0], TestSupport.SetupEngineSection());
            IItemNotifier     notifier = mocks.DynamicMock <IItemNotifier>();

            mocks.Replay(notifier);
            var changer = new N2.Edit.Workflow.StateChanger();

            definitions = new DefinitionManager(new[] { new DefinitionProvider(builder) }, new ContentActivator(changer, notifier, new EmptyProxyFactory()), changer, new DefinitionMap());

            versioner = mocks.StrictMock <IVersionManager>();
            var urls = new FakeEditUrlManager();

            editManager = new EditManager(definitions, persister, versioner, null, null, null, urls, changer, new EditableHierarchyBuilder(new SecurityManager(new ThreadContext(), new EditSection()), TestSupport.SetupEngineSection()), new EditSection());
            editManager.EnableVersioning = true;

            var engine = new FakeEngine();

            engine.Container.AddComponentInstance("editManager", typeof(IEditManager), editManager);

            engine.Container.AddComponentInstance("editSection", typeof(EditSection), new EditSection());

            Context.Replace(engine);
        }
Esempio n. 4
0
 public ContentSubRouteTests()
 {
     engine = new FakeEngine();
     controllerMapper = new FakeControllerMapper();
     controllerMapper.controllerName = "Foo";
     engine.AddComponent<IControllerMapper>(controllerMapper);
     route = new ContentSubRoute<ContentItem>("x", engine, "{hello}", new { hello = "world" }, null);
 }
Esempio n. 5
0
        private static IEngine StubEngine()
        {
            var engine = new FakeEngine();

            engine.AddComponentInstance <ITemplateRenderer>(new TemplateRenderer(MockRepository.GenerateStub <IControllerMapper>()));
            engine.AddComponentInstance <DisplayableRendererSelector>(new DisplayableRendererSelector(new IDisplayableRenderer[] { new WritingDisplayableRenderer(), new FallbackDisplayableRenderer() }));
            engine.AddComponentInstance <ISecurityManager>(MockRepository.GenerateStub <ISecurityManager>());
            return(engine);
        }
Esempio n. 6
0
        public void DoubleDisposeWorks()
        {
            var engine = new FakeEngine();
            var serviceProviderEngineScope = new ServiceProviderEngineScope(engine);

            serviceProviderEngineScope.ResolvedServices.Add(new ServiceCacheKey(typeof(IFakeService), 0), null);
            serviceProviderEngineScope.Dispose();
            serviceProviderEngineScope.Dispose();
        }
Esempio n. 7
0
        public void ResolvedServicesAfterDispose_ThrowsObjectDispose()
        {
            var engine = new FakeEngine();
            var serviceProviderEngineScope = new ServiceProviderEngineScope(engine);

            serviceProviderEngineScope.ResolvedServices.Add(new ServiceCacheKey(typeof(IFakeService), 0), null);
            serviceProviderEngineScope.Dispose();

            Assert.Throws <ObjectDisposedException>(() => serviceProviderEngineScope.ResolvedServices);
        }
Esempio n. 8
0
        public void SetCorrectCommandProviderValue_WhenAllPassedParametersAreValid()
        {
            // arrange
            var reader          = new Mock <IReaderProvider>();
            var writer          = new Mock <IWriterProvider>();
            var commandProvider = new Mock <ICommandProvider>();

            // act
            var engine = new FakeEngine(reader.Object, writer.Object, commandProvider.Object);

            // assert
            Assert.AreSame(engine.CommandProviderExposed, commandProvider.Object);
        }
Esempio n. 9
0
        public override void SetUp()
        {
            base.SetUp();
            DefinitionBuilder builder = new DefinitionBuilder(new DefinitionMap(), typeFinder, new TransformerBase<IUniquelyNamed>[0], TestSupport.SetupEngineSection());
            IItemNotifier notifier = mocks.DynamicMock<IItemNotifier>();
            mocks.Replay(notifier);
            var changer = new N2.Edit.Workflow.StateChanger();
            definitions = new DefinitionManager(new[] { new DefinitionProvider(builder) }, new ContentActivator(changer, notifier, new EmptyProxyFactory()), changer, new DefinitionMap());

            versioner = mocks.StrictMock<IVersionManager>();
            var urls = new FakeEditUrlManager();
            editManager = new EditManager(definitions, persister, versioner, null, null, urls, changer, new EditableHierarchyBuilder(new SecurityManager(new ThreadContext(), new EditSection()), TestSupport.SetupEngineSection()), new EditSection());
            editManager.EnableVersioning = true;

            var engine = new FakeEngine();
            engine.Container.AddComponentInstance("editManager", typeof(IEditManager), editManager);

            engine.Container.AddComponentInstance("editSection", typeof(EditSection), new EditSection());

            Context.Replace(engine);
        }
Esempio n. 10
0
        public override void SetUp()
        {
            base.SetUp();
            var urls = new FakeEditUrlManager();
            DefinitionBuilder builder = new DefinitionBuilder(typeFinder, new EngineSection(), urls);
            IItemNotifier notifier = mocks.DynamicMock<IItemNotifier>();
            mocks.Replay(notifier);
            var changer = new N2.Edit.Workflow.StateChanger();
            DefinitionManager definitions = new DefinitionManager(builder, changer, notifier, new EmptyProxyFactory());

            versioner = mocks.StrictMock<IVersionManager>();
            editManager = new EditManager(definitions, persister, versioner, null, null, null, urls, changer, new EditSection());
            editManager.EnableVersioning = true;

            var engine = new FakeEngine();
            engine.AddComponentInstance("editManager", typeof(IEditManager), editManager);

            engine.AddComponentInstance("editSection", typeof(EditSection), new EditSection());

            Context.Replace(engine);
        }
Esempio n. 11
0
        public void ServerUrl_Returns_DifferentValues_InRequestForDifferentSites()
        {
            var oldEngine = Singleton <IEngine> .Instance;

            try
            {
                var engine     = new FakeEngine();
                var webContext = new FakeWebContextWrapper();
                webContext.isWeb = true;
                engine.AddComponentInstance("", typeof(IWebContext), webContext);
                Singleton <IEngine> .Instance = engine;

                webContext.Url = "http://site1/app";
                Assert.That(Url.ServerUrl, Is.EqualTo("http://site1"));
                webContext.Url = "http://site2/app";
                Assert.That(Url.ServerUrl, Is.EqualTo("http://site2"));
            }
            finally
            {
                Singleton <IEngine> .Instance = oldEngine;
            }
        }
Esempio n. 12
0
        public void ServerUrl_Returns_FallbackValue_InThreadContext()
        {
            var oldEngine = Singleton <IEngine> .Instance;

            try
            {
                var engine     = new FakeEngine();
                var webContext = new FakeWebContextWrapper();
                webContext.isWeb = true;
                engine.Container.AddComponentInstance("", typeof(IWebContext), webContext);
                Singleton <IEngine> .Instance = engine;

                webContext.Url = "http://site1/app";
                Assert.That(Url.ServerUrl, Is.EqualTo("http://site1"));

                webContext.isWeb = false;
                webContext.Url   = "http://site2/app";
                Assert.That(Url.ServerUrl, Is.EqualTo("http://site1"));
            }
            finally
            {
                Singleton <IEngine> .Instance = oldEngine;
            }
        }
Esempio n. 13
0
        public void ServerUrl_Returns_DifferentValues_InRequestForDifferentSites()
        {
            var oldEngine = Singleton<IEngine>.Instance;
            try
            {
                var engine = new FakeEngine();
                var webContext = new FakeWebContextWrapper();
                webContext.isWeb = true;
				engine.Container.AddComponentInstance("", typeof(IWebContext), webContext);
                Singleton<IEngine>.Instance = engine;

                webContext.Url = "http://site1/app";
                Assert.That(Url.ServerUrl, Is.EqualTo("http://site1"));
                webContext.Url = "http://site2/app";
                Assert.That(Url.ServerUrl, Is.EqualTo("http://site2"));
            }
            finally
            {
                Singleton<IEngine>.Instance = oldEngine;
            }
        }
Esempio n. 14
0
        public void ServerUrl_Returns_FallbackValue_InThreadContext()
        {
            var oldEngine = Singleton<IEngine>.Instance;
            try
            {
                var engine = new FakeEngine();
                var webContext = new FakeWebContextWrapper();
                webContext.isWeb = true;
                engine.AddComponentInstance("", typeof(IWebContext), webContext);
                Singleton<IEngine>.Instance = engine;

                webContext.Url = "http://site1/app";
                Assert.That(Url.ServerUrl, Is.EqualTo("http://site1"));

                webContext.isWeb = false;
                webContext.Url = "http://site2/app";
                Assert.That(Url.ServerUrl, Is.EqualTo("http://site1"));
            }
            finally
            {
                Singleton<IEngine>.Instance = oldEngine;
            }
        }