public async Task FailBasicAuth() { var client = new HttpClient(); var request = new HttpRequest(HttpRequest.GET, new Uri(Endpoint + "/test/auth/basic")); var response = await request.execute(new HttpClient()); Assert.AreEqual(HttpStatusCode.Unauthorized, response.code); }
public async Task NotFoundError() { var client = new HttpClient(); var request = new HttpRequest(HttpRequest.GET, new Uri(Endpoint + "/test/notFound")); var response = await request.execute(client); Assert.AreEqual(HttpStatusCode.NotFound, response.code); return; }
public async Task ForbiddenError() { var client = new HttpClient(); var request = new HttpRequest(HttpRequest.GET, new Uri(Endpoint + "/test/forbidden")); var response = await request.execute(client); Assert.AreEqual(HttpStatusCode.Forbidden, response.code); return; }
public async Task PostClientError() { var client = new HttpClient(); var request = new HttpRequest(HttpRequest.POST, new Uri(Endpoint + "/test/clientError"), "{}"); var response = await request.execute(client); Assert.AreEqual(HttpStatusCode.BadRequest, response.code); return; }
public async Task ServerError() { var client = new HttpClient(); var request = new HttpRequest(HttpRequest.GET, new Uri(Endpoint + "/test/serverError")); var response = await request.execute(client); Assert.AreEqual(HttpStatusCode.InternalServerError, response.code); return; }
public async Task Patch() { var client = new HttpClient(); var request = new HttpRequest(HttpRequest.PATCH, new Uri(Endpoint + "/test/echo"), "{\"hello\":\"there\"}"); var response = await request.execute(client); Assert.AreEqual(HttpStatusCode.OK, response.code); Assert.AreEqual("{\"hello\":\"there\"}", response.body); }
public async Task Delete() { var client = new HttpClient(); var request = new HttpRequest(HttpRequest.DELETE, new Uri(Endpoint + "/test/delete")); var response = await request.execute(client); Assert.AreEqual(HttpStatusCode.OK, response.code); Assert.AreEqual("OK", response.body); }
public async Task FailCookieAuth() { var client = new HttpClient(); var request = new HttpRequest(HttpRequest.GET, new Uri(Endpoint + "/test/auth/cookie")); var response = await request.execute(client); Assert.IsNotEmpty(response.body); Assert.AreEqual(HttpStatusCode.Unauthorized, response.code); return; }
public async Task TimeoutError() { var client = new HttpClient(); client.Timeout = TimeSpan.FromSeconds(1); var request = new HttpRequest(HttpRequest.GET, new Uri(Endpoint + "/test/timeout")); var response = await request.execute(client); Assert.AreEqual(HttpStatusCode.RequestTimeout, response.code); return; }
public async Task ServerMissingError() { var client = new HttpClient(); client.Timeout = TimeSpan.FromSeconds(1); var request = new HttpRequest(HttpRequest.GET, new Uri("https://sassages.missing/where")); Assert.ThrowsAsync <HttpRequestException>(async() => { var response = await request.execute(client); }); }
public async Task PassBasicAuth() { var client = new HttpClient(); var username = "******"; var password = "******"; Http.Http.AddBasicAuth(client, username, password); var request = new HttpRequest(HttpRequest.GET, new Uri(Endpoint + "/test/auth/basic")); var response = await request.execute(client); Assert.IsNotEmpty(response.body); Assert.AreEqual(HttpStatusCode.OK, response.code); Assert.AreEqual("Hello World!", response.body); }
public async Task HeadersRequired() { var client = new HttpClient(); // note that this change is permanently applied to the client // (so once we've applied cookies, they STAY applied) client.DefaultRequestHeaders.Add("X-BaconPancakes", "BaconPancakes"); var request = new HttpRequest(HttpRequest.GET, new Uri(Endpoint + "/test/headers")); var response = await request.execute(client); Assert.IsNotEmpty(response.body); Assert.AreEqual("Makin' Bacon Pancakes", response.body); return; }
public async Task Head() { var client = new HttpClient(); client.DefaultRequestHeaders.Add("X-BaconPancakes", "BaconPancakes"); var request = new HttpRequest(HttpRequest.HEAD, new Uri(Endpoint + "/test/headers")); var response = await request.execute(client); Assert.AreEqual(HttpStatusCode.OK, response.code); Assert.IsTrue(response.response.Headers.Contains("ETag")); Assert.IsTrue(response.response.Headers.Contains("X-Powered-By")); Assert.IsTrue(response.response.Headers.Contains("X-BaconPancakes")); Assert.AreEqual("Makin' Bacon Pancakes", response.headers["X-BaconPancakes"]); }
public async Task PassCookieAuth() { var cookieContainer = new CookieContainer(); var handler = new HttpClientHandler() { CookieContainer = cookieContainer }; var client = new HttpClient(handler); cookieContainer.Add(new Uri(Endpoint), new Cookie("auth", "secret-auth-token")); var request = new HttpRequest(HttpRequest.GET, new Uri(Endpoint + "/test/auth/cookie")); var response = await request.execute(client); Assert.IsNotEmpty(response.body); Assert.AreEqual(HttpStatusCode.OK, response.code); return; }