Exemplo n.º 1
0
        public async Task GlobalMessageHandler_should_wrap_HttpError_in_WrappedApiError()
        {
            var handler = new GlobalMessageHandler();

            var message       = "foo";
            var messageDetail = "bar";

            handler.InnerHandler = new HttpErrorResponder(message, messageDetail);

            var request = new HttpRequestMessage();

            var response = await handler.SendAsyncTestHook(request, new CancellationToken());

            var result = await response.Content.ReadAsAsync <WrappedApiError <ApiError> >();

            Assert.IsNotNull(result.Error);

            // Outer error should have correct code string and message
            Assert.AreEqual(response.StatusCode.ToString(), result.Error.Code);
            Assert.AreEqual(message, result.Error.Message);

            // Details should have correct code string and message detail
            Assert.AreEqual(1, result.Error.Details?.Length);
            Assert.AreEqual(response.StatusCode.ToString(), result.Error.Details?[0]?.Code);
            Assert.AreEqual(messageDetail, result.Error.Details?[0]?.Message);
        }
Exemplo n.º 2
0
        public async Task GlobalMessageHandler_should_pass_a_WrappedApiError_unmodified()
        {
            var handler = new GlobalMessageHandler();

            handler.InnerHandler = new WrappedApiErrorResponder();

            var request = new HttpRequestMessage();

            var response = await handler.SendAsyncTestHook(request, new CancellationToken());

            var result = await response.Content.ReadAsAsync <WrappedApiError <ForbiddenApiError> >();

            Assert.IsNotNull(result.Error);
            Assert.AreEqual(HttpStatusCode.Forbidden.ToString(), result.Error.Code);
        }
Exemplo n.º 3
0
        public async Task GlobalMessageHandler_should_pass_Ok_Content_unmodified()
        {
            var handler = new GlobalMessageHandler();

            handler.InnerHandler = new OkResponder();

            var config  = new HttpConfiguration();
            var request = new HttpRequestMessage();

            request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;

            var response = await handler.SendAsyncTestHook(request, new CancellationToken());

            var result = await response.Content.ReadAsAsync <BookDTO>();

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Title);
        }