public async Task StatusCode400OfHttpGetRequest() { if (Helper.IsNetworkAvailable()) { var http = new HttpRequester(); var request = new Request(); request.Address = new Url("http://httpbin.org/status/400"); request.Method = HttpMethod.Get; using (var response = await http.RequestAsync(request, CancellationToken.None)) { Assert.IsNotNull(response); Assert.AreEqual(400, (int)response.StatusCode); Assert.IsTrue(response.Content.CanRead); Assert.IsTrue(response.Headers.Count > 0); } } }
public async Task SimpleHttpGetRequest() { if (Helper.IsNetworkAvailable()) { var http = new HttpRequester(); var request = new Request(); request.Address = new Url("http://httpbin.org/robots.txt"); request.Method = HttpMethod.Get; using (var response = await http.RequestAsync(request, CancellationToken.None)) { Assert.IsNotNull(response); Assert.AreEqual(200, (int)response.StatusCode); Assert.IsTrue(response.Content.CanRead); Assert.IsTrue(response.Headers.Count > 0); var content = new StreamReader(response.Content); Assert.AreEqual("User-agent: *\nDisallow: /deny\n", content.ReadToEnd()); } } }
public async Task RequestUserAgentString() { if (Helper.IsNetworkAvailable()) { var agent = "MyAgent"; var http = new HttpRequester(agent); var request = new Request(); request.Address = new Url("http://httpbin.org/user-agent"); request.Method = HttpMethod.Get; using (var response = await http.RequestAsync(request, CancellationToken.None)) { Assert.IsNotNull(response); Assert.AreEqual(200, (int)response.StatusCode); Assert.IsTrue(response.Content.CanRead); Assert.IsTrue(response.Headers.Count > 0); var stream = new StreamReader(response.Content); Assert.IsNotNull(stream); var content = stream.ReadToEnd(); Assert.IsTrue(content.Length > 0); Assert.AreEqual("{\n \"user-agent\": \"" + agent + "\"\n}\n", content); } } }
public async Task MethodNotAllowedOnHttpPut() { if (Helper.IsNetworkAvailable()) { var http = new HttpRequester(); var request = new Request(); request.Address = new Url("http://httpbin.org/get"); request.Method = HttpMethod.Put; request.Content = Helper.StreamFromString("Should be ignored"); using (var response = await http.RequestAsync(request, CancellationToken.None)) { Assert.IsNotNull(response); Assert.AreEqual(405, (int)response.StatusCode); Assert.IsTrue(response.Content.CanRead); Assert.IsTrue(response.Headers.Count > 0); } } }
public async Task SimpleHttpPutRequest() { if (Helper.IsNetworkAvailable()) { var http = new HttpRequester(); var request = new Request(); request.Address = new Url("http://httpbin.org/put"); request.Method = HttpMethod.Put; request.Content = Helper.StreamFromString("PUT THIS THING BACK"); using (var response = await http.RequestAsync(request, CancellationToken.None)) { Assert.IsNotNull(response); Assert.AreEqual(200, (int)response.StatusCode); Assert.IsTrue(response.Content.CanRead); Assert.IsTrue(response.Headers.Count > 0); var stream = new StreamReader(response.Content); Assert.IsNotNull(stream); var content = stream.ReadToEnd(); Assert.IsTrue(content.Length > 0); Assert.IsTrue(content.Contains("\"data\": \"PUT THIS THING BACK\"")); } } }
public async Task SimpleHttpDeleteRequest() { if (Helper.IsNetworkAvailable()) { var http = new HttpRequester(); var request = new Request { Address = new Url("http://httpbin.org/delete"), Method = HttpMethod.Delete, Content = Helper.StreamFromString("Should be ignored") }; using (var response = await http.RequestAsync(request, CancellationToken.None)) { Assert.IsNotNull(response); Assert.AreEqual(200, (int)response.StatusCode); Assert.IsTrue(response.Content.CanRead); Assert.IsTrue(response.Headers.Count > 0); } } }