public override void Initialize() { var httpModule = ServiceLocator.Locator.Resolve<HttpModule>(); ; _pathProvider = new StaticContentPathProvider(GetParameter<string>(HttpParameters.PathProviderConnectionString)); _pathProvider.SetVirtualDir(httpModule.GetParameter<string>(HttpParameters.HttpVirtualDir)); SetParameter(HttpParameters.PathProviderInstance, _pathProvider); _cachingModule = GetParameter<INodeModule>(HttpParameters.CacheInstance); if (_cachingModule != null) { _pathProvider.SetCachingEngine(_cachingModule.GetParameter<ICacheEngine>(HttpParameters.CacheInstance)); _pathProvider.InitializeFileWatcher(); } httpModule.RegisterPathProvider(_pathProvider); _pathProvider.Log = ServiceLocator.Locator.Resolve<ILogger>(); }
public void ItShouldBePossibleToExecuteArequestWithCache() { var assemblyLocation = Assembly.GetExecutingAssembly().Location; var runner = new RunnerForTest(); NodeMainInitializer.InitializeFakeMain(assemblyLocation, runner); var cachingModule = new CachingModule(); cachingModule.Initialize(); var rootDir = InferWebRootDir(assemblyLocation); var pathProvider = new StaticContentPathProvider(rootDir); pathProvider.SetCachingEngine(cachingModule.GetParameter<ICacheEngine>(HttpParameters.CacheInstance)); var http = new HttpModule(); http.SetParameter(HttpParameters.HttpPort, 8881); http.SetParameter(HttpParameters.HttpVirtualDir, "nodecs"); http.SetParameter(HttpParameters.HttpHost, "localhost"); var routingService = new RoutingService(); http.RegisterRouting(routingService); http.Initialize(); http.RegisterPathProvider(pathProvider); const string uri = "http://localhost:8881/nodecs"; var context = CreateRequest(uri); var outputStream = (MockStream)context.Response.OutputStream; outputStream.Initialize(); //request. http.ExecuteRequest(context); runner.RunCycleFor(200); var os = (MemoryStream)context.Response.OutputStream; os.Seek(0, SeekOrigin.Begin); var bytes = os.ToArray(); var result = Encoding.UTF8.GetString(bytes); Assert.IsNotNull(result); Assert.IsTrue(outputStream.WrittenBytes > 0); Assert.IsTrue(result.Length > 0); Assert.IsTrue(result.IndexOf("Exception", StringComparison.Ordinal) < 0, result); Assert.AreEqual(1, outputStream.ClosesCall); }