public async Task WhenGetXmlWithCallbackReturnsErrorHttpStatusCode_CodeIsAccessibleViaResponseParameter() { var expectedString = "<root><foo>Foo</foo><bar>Bar</bar></root>"; var expected = new XmlDocument(); expected.LoadXml(expectedString); var stubHandler = new FakeHttpMessageHandler(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(expectedString) }); var http = new HttpWrapper("http://foo.com/", new TestLogger(), new Envelope(new TextMessage(CreateTestUser(), "test")), stubHandler); var callback = false; await http.GetXml((err, res, body) => { callback = true; Assert.Equal(HttpStatusCode.NotFound, res.StatusCode); }); Assert.True(callback); }
public async Task WhenGetXmlIsCalled_AndContentIsGarbage_ExceptionIsThrown() { var expectedString = "!@#$%^&*()_+<root><foo@#$%^&*()_>$%^&*(OP)_Foo</foo><bar>Bar</bar></root>"; var stubHandler = new FakeHttpMessageHandler(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(expectedString) }); var http = new HttpWrapper("http://foo.com/", new TestLogger(), new Envelope(new TextMessage(CreateTestUser(), "test")), stubHandler); Assert.Throws <AggregateException>(() => http.GetXml().Result); }
public async Task WhenGetXmlIsCalled_ResponseContentIsDeserialized() { var expectedString = "<root><foo>Foo</foo><bar>Bar</bar></root>"; var expected = new XmlDocument(); expected.LoadXml(expectedString); var stubHandler = new FakeHttpMessageHandler(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(expectedString) }); var http = new HttpWrapper("http://foo.com/", new TestLogger(), new Envelope(new TextMessage(CreateTestUser(), "test")), stubHandler); var actual = await http.GetXml(); Assert.Equal(expected.ToString(), actual.ToString()); }
public async Task WhenGetXmlWithCallback_AndContentIsGarbage_ErrContainsException() { var expectedString = "!@#$%^&*()_+<root><foo@#$%^&*()_>$%^&*(OP)_Foo</foo><bar>Bar</bar></root>"; var stubHandler = new FakeHttpMessageHandler(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(expectedString) }); var http = new HttpWrapper("http://foo.com/", new TestLogger(), new Envelope(new TextMessage(CreateTestUser(), "test")), stubHandler); var callback = false; await http.GetXml((err, res, body) => { callback = true; Assert.NotNull(err); Assert.IsType <HttpRequestException>(err); }); Assert.True(callback); }
public async Task WhenGetXmlWithCallback_AndContentIsGarbage_ErrContainsException() { var expectedString = "!@#$%^&*()_+<root><foo@#$%^&*()_>$%^&*(OP)_Foo</foo><bar>Bar</bar></root>"; var stubHandler = new FakeHttpMessageHandler(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(expectedString) }); var http = new HttpWrapper("http://foo.com/", new TestLogger(), new Envelope(new TextMessage(CreateTestUser(), "test", "id")), stubHandler); var callback = false; await http.GetXml((err, res, body) => { callback = true; Assert.IsNotNull(err); Assert.IsInstanceOfType(err, typeof(Exception)); }); Assert.IsTrue(callback); }
public async Task WhenGetXmlIsCalled_AndContentIsGarbage_ExceptionIsThrown() { var expectedString = "!@#$%^&*()_+<root><foo@#$%^&*()_>$%^&*(OP)_Foo</foo><bar>Bar</bar></root>"; var stubHandler = new FakeHttpMessageHandler(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(expectedString) }); var http = new HttpWrapper("http://foo.com/", new TestLogger(), new Envelope(new TextMessage(CreateTestUser(), "test", "id")), stubHandler); await http.GetXml(); Assert.Fail("Should have thrown"); }
public async Task WhenGetXmlWithCallbackReturnsErrorHttpStatusCode_CodeIsAccessibleViaResponseParameter() { var expectedString = "<root><foo>Foo</foo><bar>Bar</bar></root>"; var expected = new XmlDocument(); expected.LoadXml(expectedString); var stubHandler = new FakeHttpMessageHandler(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(expectedString) }); var http = new HttpWrapper("http://foo.com/", new TestLogger(), new Envelope(new TextMessage(CreateTestUser(), "test", "id")), stubHandler); var callback = false; await http.GetXml((err, res, body) => { callback = true; Assert.AreEqual(HttpStatusCode.NotFound, res.StatusCode); }); Assert.IsTrue(callback); }
public async Task WhenGetXmlIsCalled_ResponseContentIsDeserialized() { var expectedString = "<root><foo>Foo</foo><bar>Bar</bar></root>"; var expected = new XmlDocument(); expected.LoadXml(expectedString); var stubHandler = new FakeHttpMessageHandler(new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(expectedString) }); var http = new HttpWrapper("http://foo.com/", new TestLogger(), new Envelope(new TextMessage(CreateTestUser(), "test", "id")), stubHandler); var actual = await http.GetXml(); Assert.AreEqual(expected.ToString(), actual.ToString()); }