public async Task FileWritable() { if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { Assert.Ignore("OSX doesn't support FileSystemWatcher"); } var root = Path.GetTempPath(); var file = Path.Combine(root, "index.html"); File.WriteAllText(file, Resources.Index); using var server = new TestWebServer(); server .WithStaticFolder("/", root, false) .Start(); var remoteFile = await server.Client.GetStringAsync(UrlPath.Root); File.WriteAllText(file, Resources.SubIndex); var remoteUpdatedFile = await server.Client.GetStringAsync(UrlPath.Root); File.WriteAllText(file, nameof(WebServer)); Assert.AreEqual(Resources.Index, remoteFile); Assert.AreEqual(Resources.SubIndex, remoteUpdatedFile); }
public async Task FileWritable() { var root = Path.GetTempPath(); var file = Path.Combine(root, "index.html"); File.WriteAllText(file, Resources.Index); using (var server = new TestWebServer()) { server .WithStaticFolder("/", root, false) .Start(); var remoteFile = await server.Client.GetStringAsync(UrlPath.Root); File.WriteAllText(file, Resources.SubIndex); var remoteUpdatedFile = await server.Client.GetStringAsync(UrlPath.Root); File.WriteAllText(file, nameof(WebServer)); Assert.AreEqual(Resources.Index, remoteFile); Assert.AreEqual(Resources.SubIndex, remoteUpdatedFile); } }
public void AddModule_ReturnsValidInstance() { using var webserver = new TestWebServer(); webserver.WithCors(); Assert.AreEqual(1, webserver.Modules.Count); }
public static void SendPOST() { var ss = new WebServerSettings() { Port = 9090, UseSSL = false, UseBasicAuthorization = false }; var rs = new RequestSettings() { ServerAddress = "localhost:9090", TimeoutMSec = 5000, UseSSL = false, UseBasicAuthorization = false, UserId = null, Password = null }; using (var server = new TestWebServer()) { server.Settings = ss; server.Start(); var req = new TestPOSTRequest(rs); var ok = req.Process(); if (!ok) { throw new ApplicationException("SendPOST() failed. LastError=" + req.LastError); } } }
public void SetupInMemoryWebServer_ReturnsValidInstance() { using (var webserver = new TestWebServer()) { Assert.IsNotNull(webserver); } }
public static void SendPOST_AuthFailed() { var ss = new WebServerSettings() { Port = 9090, UseSSL = false, UseBasicAuthorization = true }; var rs = new RequestSettings() { ServerAddress = "localhost:9090", TimeoutMSec = 5000, UseSSL = false, UseBasicAuthorization = true, UserId = "test", Password = "******" }; using (var server = new TestWebServer()) { server.Settings = ss; server.Start(); var req = new TestPOSTRequest(rs); var ok = req.Process(); if (ok) { throw new ApplicationException("SendPOST()_AuthFailed failed"); } if (string.IsNullOrEmpty(req.LastError)) { throw new ApplicationException("SendPOST()_AuthFailed failed"); } } }
private static void Initialize() { TestWebServer.EnsureTestAssembly(); TestFramework.EnsureCorrectVersion(TestWebServer.GetDependencyContext()); ValidateStartup(); TestCounter.SetLicenseData( ServerTestConfiguration.Global.Licenses, DateTime.UtcNow, DateTime.ParseExact(TestFramework.ReleaseDate, "yyyy-MM-dd", CultureInfo.InvariantCulture), TestWebServer.TestAssemblyName); PluginsContainer.LoadPlugins(TestWebServer.GetDependencyContext()); var serviceCollection = TestWebServer.GetInitialServiceCollection(); PrepareStartup(serviceCollection); PrepareServices(serviceCollection); PrepareApplicationAndRouting(); initialized = true; }
public void SetSessionManager_ReturnsValidInstance() { using var webserver = new TestWebServer(); webserver.SessionManager = new LocalSessionManager(); Assert.NotNull(webserver.SessionManager); }
public Task FileSystemProvider_Handle_PathWithEscapedString() { const string ok = "Content"; var tempFolder = $"Folder {DateTime.Now.Ticks}"; var tempPathWithWhitespace = Path.Combine(Path.GetTempPath(), tempFolder); Directory.CreateDirectory(tempPathWithWhitespace); var tempFile = Path.Combine(tempPathWithWhitespace, "index.html"); File.WriteAllText(tempFile, ok); void Configure(IWebServer server) => server .WithStaticFolder("/", Path.GetTempPath(), true); async Task Use(HttpClient client) { using var response = await client.GetAsync($"/{tempFolder}").ConfigureAwait(false); var responseString = await response.Content.ReadAsStringAsync().ConfigureAwait(false); Assert.AreEqual(ok, responseString); } return(TestWebServer.UseAsync(Configure, Use)); }
static TestApplication() { Sync = new object(); NullHandler = c => Task.CompletedTask; TestWebServer.TryFindTestAssembly(); }
public void Init() { server = new TestWebServer(); server.AddWebService(new HttpRequestParser()); test = new TestTask(server) { CurrentStage = ServerStage.ReadRequest, TerminationStage = ServerStage.ReadRequest, }; }
public void SetSessionManagerToNull_ReturnsValidInstance() { using (var webserver = new TestWebServer()) { webserver.SessionManager = new LocalSessionManager(); webserver.SessionManager = null; Assert.IsNull(webserver.SessionManager); } }
public void Init() { server = new TestWebServer(); server.AddWebService(new HttpSender()); test = new TestTask(server) { CurrentStage = ServerStage.SendResponse, TerminationStage = ServerStage.SendResponse, }; }
public void Init() { server = new TestWebServer(); server.AddWebService(new HttpHeaderSpecialAction()); test = new TestTask(server) { CurrentStage = ServerStage.ParseRequest, TerminationStage = ServerStage.ParseRequest, }; }
public App() { AppDomain.CurrentDomain.AssemblyResolve += Loader.FindAssemblies; _webServer = new TestWebServer(WebServerPort, WebServerVDir); _webServer.Start(); _webServer.ExtractResource("jQueryBuddy.Resources.WebServer.Web.Config", "web.config"); _webServer.ExtractResource("jQueryBuddy.Resources.Templates.InstantHelpStyles.css", "InstantHelpStyles.css"); _webServer.ExtractResource("jQueryBuddy.Resources.Templates.JavascriptDump.js", "JavascriptDump.js"); }
public void TestGetAddedCookies() { var server = new TestWebServer(); var test = new TestTask(server); test.Task.Request.Cookie.AddedCookies.Add( "test1", new MaxLib.WebServer.HttpCookie.Cookie("test2", "test3")); var added = test.GetAddedCookies().ToArray(); Assert.AreEqual(1, added.Length); Assert.AreEqual("test1", added[0].Item1); Assert.AreEqual("test2", added[0].Item2.NameString); Assert.AreEqual("test3", added[0].Item2.ValueString); }
public async Task Should_return_200_OK_and_a_status_message() { var userId = "1234"; using (var webServer = new TestWebServer()) using (var client = webServer.GetClient(userId)) { var response = await client.GetAsync($"/api/status"); var content = await response.GetApiResponseDataAsync(); response.StatusCode.ShouldBe(HttpStatusCode.OK); content.ShouldContain("Status is 'Up' at"); } }
public Task OnHead_ResponseOK() { void Configure(IWebServer server) => server .OnHead(ctx => ctx.SendStringAsync(Ok, MimeType.PlainText, WebServer.DefaultEncoding)); async Task Use(HttpClient client) { using var response = await client.HeadAsync("/").ConfigureAwait(false); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); var responseString = await response.Content.ReadAsStringAsync().ConfigureAwait(false); Assert.AreEqual(Ok, responseString); } return(TestWebServer.UseAsync(Configure, Use)); }
public void SetUp() { WebServerUrl = Resources.GetServerAddress(); if (_useTestWebServer) { var testWebServer = new TestWebServer(WebServerUrl); Server = testWebServer; Client = testWebServer.Client; } else { Server = new WebServer(WebServerUrl); Client = TestHttpClient.Create(WebServerUrl); } OnSetUp(); Server.Start(); }
public Task OnPatch_ResponseOK() { void Configure(IWebServer server) => server .OnPatch(ctx => ctx.SendStringAsync(Ok, MimeType.PlainText, Encoding.UTF8)); async Task Use(HttpClient client) { using (var response = await client.PatchAsync("/", null).ConfigureAwait(false)) { Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); var responseString = await response.Content.ReadAsStringAsync().ConfigureAwait(false); Assert.AreEqual(Ok, responseString); } } return(TestWebServer.UseAsync(Configure, Use)); }
public async Task RunsServerAndRequestData_ReturnsValidData() { using var server = new TestWebServer(); server .OnAny(ctx => ctx.SendDataAsync(new Person { Name = nameof(Person) })) .Start(); var data = await server.Client.GetStringAsync("/").ConfigureAwait(false); Assert.IsNotNull(data); var person = Json.Deserialize <Person>(data); Assert.IsNotNull(person); Assert.AreEqual(person.Name, nameof(Person)); }
public void Start() { _testDatabase = new TestDatabase(System.IO.File.ReadAllText(Helper.AssemblyDirectory + "\\ScutexService-CreateDbNG.sql")); clientWebServerPort = TcpPortFinder.FindOpenTcpPortInRange(8100, 8200); _testClientWebServer = new TestWebServer(clientWebServerPort, @"/", Helper.AssemblyDirectory + @"\WebServices\Client\"); ConfigFileWriter.CreateClientWebServiceConfig(_testDatabase.DatabaseName, _testDatabase.DatabaseFilePath); _testClientWebServer.Start(); mgmtWebServerPort = TcpPortFinder.FindOpenTcpPortInRange(8200, 8300); _testMgmtWebServer = new TestWebServer(mgmtWebServerPort, @"/", Helper.AssemblyDirectory + @"\WebServices\Mgmt\"); ConfigFileWriter.CreateMgmtWebServiceConfig(_testDatabase.DatabaseName, _testDatabase.DatabaseFilePath); _testMgmtWebServer.Start(); _testDatabase.DetachDatabase(); _licenseHelper.SetupService(clientWebServerPort, mgmtWebServerPort); }
public async Task TestUserAgentAsync() { using (TestWebServer server = new TestWebServer(false)) { try { RegistryAuthenticator authenticator = RegistryAuthenticator.FromAuthenticationMethod( new AuthenticationHeaderValue("Bearer", "realm=\"" + server.GetAddressAndPort() + "\""), registryEndpointRequestProperties, new[] { new ProductInfoHeaderValue(new ProductHeaderValue("Competent-Agent")) }); await authenticator.AuthenticatePushAsync(null).ConfigureAwait(false); } catch (RegistryAuthenticationFailedException) { // Doesn't matter if auth fails. We only examine what we sent. } Assert.That(server.GetInputRead(), Does.Contain("User-Agent: Competent-Agent")); } }
public static void AssemblyCleanup() { TestWebServer.Dispose(); }
public static void AssemblyCleanup() { // Stop the OWIN testing HTTP server TestWebServer.Dispose(); }
static void Main(string[] args) { TestWebServer server = new TestWebServer(); Console.ReadLine(); }
static TestApplication() { Sync = new object(); TestWebServer.TryFindTestAssembly(); }