示例#1
0
        public async Task SendRequestAsync_WithMessageNull_ThrowsArgumentNullException()
        {
            var httpClient = new HttpClient(new MockHttpMessageHandler());
            var endpoint   = new MockEndpoint(new ImgurClient("123", "1234"), httpClient);

            var exception =
                await
                Record.ExceptionAsync(
                    async() => await endpoint.SendRequestAsync <Image>(null).ConfigureAwait(false))
                .ConfigureAwait(false);

            Assert.NotNull(exception);
            Assert.IsType <ArgumentNullException>(exception);
        }
示例#2
0
        public async Task SendRequestAsync_WithNullMessage_ThrowsArgumentNullException()
        {
            var endpoint = new MockEndpoint(new ApiClient("123"), new HttpClient());

            var exception = await Record.ExceptionAsync(async() =>
            {
                await endpoint.SendRequestAsync <Image>(null);
            });

            Assert.NotNull(exception);
            Assert.IsType <ArgumentNullException>(exception);

            var argNullException = (ArgumentNullException)exception;

            Assert.Equal("httpRequestMessage", argNullException.ParamName);
        }
示例#3
0
        public async Task SendRequestAsync_WithResponseNull_ThrowsImgurException()
        {
            var mockUrl      = "http://example.org/test";
            var mockResponse = new HttpResponseMessage(HttpStatusCode.InternalServerError);

            var httpClient = new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse));
            var endpoint   = new MockEndpoint(new ImgurClient("123", "1234"), httpClient);

            var request = new HttpRequestMessage(HttpMethod.Get, "http://example.org/test");

            var exception =
                await
                Record.ExceptionAsync(
                    async() => await endpoint.SendRequestAsync <Image>(request).ConfigureAwait(false))
                .ConfigureAwait(false);

            Assert.NotNull(exception);
            Assert.IsType <ImgurException>(exception);
        }
示例#4
0
        public async Task SendRequestAsync_WithMessage_Equal()
        {
            var constructorObjects = new object[2];

            constructorObjects[0] = new ApiClient("123");

            var mockUrl      = "http://example.org/test";
            var mockResponse = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(MockImageResponses.GetImage)
            };

            var httpClient = new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse));
            var endpoint   = new MockEndpoint(new ApiClient("123"), httpClient);

            var request = new HttpRequestMessage(HttpMethod.Get, "http://example.org/test");
            var image   = await endpoint.SendRequestAsync <Image>(request);

            Assert.NotNull(image);
        }
示例#5
0
        public async Task SendRequestAsync_WithInvalidUrl_ThrowsImgurError()
        {
            var mockUrl      = "http://example.org/test";
            var mockResponse = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent("hello world")
            };

            var httpClient = new HttpClient(new MockHttpMessageHandler(mockUrl, mockResponse));
            var endpoint   = new MockEndpoint(new ApiClient("123"), httpClient);

            //Query a url we know doesn't exist in the fake handler
            var request = new HttpRequestMessage(HttpMethod.Get, "http://example.org/test2");

            var exception = await Record.ExceptionAsync(async() =>
            {
                await endpoint.SendRequestAsync <Image>(request);
            });

            Assert.NotNull(exception);
            Assert.IsType <ImgurException>(exception);
        }