Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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());
        }
Example #4
0
        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);
        }
Example #5
0
        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);

        }
Example #6
0
        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");
        }
Example #7
0
        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);

        }
Example #8
0
        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());
        }