public async Task SerializeObjectWhenReceiving()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var httpHandler = mockRepository.CreateJsonMessageHandler("{}");

            var serializer = mockRepository.Create <IRestClientSerializer>();

            serializer.Setup(x => x.Serialize <SingleValueTestData>(It.IsAny <StreamWriter>(), It.Is <SingleValueTestData>(x => x.Field == "Hello"))).Verifiable();
            serializer.Setup(x => x.Deserialize <StandardTypesTestData>(It.IsAny <StreamReader>())).Returns(new StandardTypesTestData()
            {
                Integer = 5, String = "World"
            }).Verifiable();

            var messageHandler = new RestClientMessageHandler("http://test.com.au/api/", new HttpClient(httpHandler.Object), serializer.Object);

            var data = new SingleValueTestData()
            {
                Field = "Hello"
            };
            var result = await messageHandler.PostAsync <StandardTypesTestData, SingleValueTestData>("standardtypes", data);

            result.Should().BeEquivalentTo(new { Integer = 5, String = "World" });


            mockRepository.Verify();
        }
Пример #2
0
        public void NotFound()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var httpHandler = mockRepository.CreateHttpStatusMessageHandler(HttpStatusCode.NotFound);
            var serializer  = mockRepository.Create <IRestClientSerializer>();

            var messageHandler = new RestClientMessageHandler("http://test.com.au/api/", new HttpClient(httpHandler.Object), serializer.Object);

            messageHandler.JwtToken = "DummyToken";

            Func <Task> action = async() => await messageHandler.GetAsync <SingleValueTestData>("authtest");

            action.Should().ThrowExactly <RestException>().Which.StatusCode.Should().Be(HttpStatusCode.NotFound);
        }
Пример #3
0
        public async Task WithoutAuthentication()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            HttpRequestMessage requestMessage = null;
            var httpHandler = mockRepository.CreateHttpStatusMessageHandler(HttpStatusCode.OK, x => requestMessage = x);
            var serializer  = mockRepository.Create <IRestClientSerializer>();

            serializer.Setup(x => x.Deserialize <Time>(It.IsAny <StreamReader>())).Returns(new Time());

            var messageHandler = new RestClientMessageHandler("http://test.com.au/api/", new HttpClient(httpHandler.Object), serializer.Object);

            var result = await messageHandler.GetAsync <Time>("authtest");


            requestMessage.Should().BeEquivalentTo(new { Method = HttpMethod.Get, RequestUri = new Uri("http://test.com.au/api/authtest") });
            requestMessage.Headers.Should().NotContain("Authorisation");
        }
        public void NotFound()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var httpHandler = mockRepository.CreateHttpStatusMessageHandler(HttpStatusCode.NotFound);
            var serializer  = mockRepository.Create <IRestClientSerializer>();

            serializer.Setup(x => x.Serialize <SingleValueTestData>(It.IsAny <StreamWriter>(), It.IsAny <SingleValueTestData>()));

            var messageHandler = new RestClientMessageHandler("http://test.com.au/api/", new HttpClient(httpHandler.Object), serializer.Object);

            messageHandler.JwtToken = "DummyToken";

            var data = new SingleValueTestData()
            {
                Field = "test"
            };
            Func <Task> action = async() => await messageHandler.PostAsync <SingleValueTestData>("authtest", data);

            action.Should().ThrowExactly <RestException>().And.StatusCode.Equals(HttpStatusCode.NotFound);
        }
Пример #5
0
        public async Task SerializeObjectWhenReceiving()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            var httpHandler = mockRepository.CreateJsonMessageHandler("{Field : \"Hello\"}");

            var serializer = mockRepository.Create <IRestClientSerializer>();

            serializer.Setup(x => x.Deserialize <SingleValueTestData>(It.IsAny <StreamReader>())).Returns(new SingleValueTestData()
            {
                Field = "Hello"
            }).Verifiable();

            var messageHandler = new RestClientMessageHandler("http://test.com.au/api/", new HttpClient(httpHandler.Object), serializer.Object);

            var data = await messageHandler.GetAsync <SingleValueTestData>("standardtypes");

            data.Field.Should().Be("Hello");

            mockRepository.Verify();
        }
        public async Task WithoutAuthentication()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            HttpRequestMessage requestMessage = null;
            var httpHandler = mockRepository.CreateHttpStatusMessageHandler(HttpStatusCode.OK, x => requestMessage = x);

            var serializer = mockRepository.Create <IRestClientSerializer>();

            serializer.Setup(x => x.Serialize <SingleValueTestData>(It.IsAny <StreamWriter>(), It.IsAny <SingleValueTestData>()));

            var messageHandler = new RestClientMessageHandler("http://test.com.au/api/", new HttpClient(httpHandler.Object), serializer.Object);

            var data = new SingleValueTestData()
            {
                Field = "test"
            };
            await messageHandler.PostAsync <SingleValueTestData>("authtest", data);

            requestMessage.Should().BeEquivalentTo(new { Method = HttpMethod.Post, RequestUri = new Uri("http://test.com.au/api/authtest") });
            requestMessage.Headers.Should().NotContain("Authorisation");
        }
        public async Task SerializeObjectWhenSending()
        {
            var mockRepository = new MockRepository(MockBehavior.Strict);

            HttpRequestMessage requestMessage = null;
            var httpHandler = mockRepository.CreateJsonMessageHandler("{}", x => requestMessage = x);

            var serializer = mockRepository.Create <IRestClientSerializer>();

            serializer.Setup(x => x.Serialize <SingleValueTestData>(It.IsAny <StreamWriter>(), It.Is <SingleValueTestData>(x => x.Field == "Hello"))).Verifiable();

            var messageHandler = new RestClientMessageHandler("http://test.com.au/api/", new HttpClient(httpHandler.Object), serializer.Object);

            var data = new SingleValueTestData()
            {
                Field = "Hello"
            };
            await messageHandler.PostAsync <SingleValueTestData>("standardtypes", data);

            requestMessage.Content.Headers.ContentType.MediaType.Should().Be("application/json");

            mockRepository.Verify();
        }