Exemple #1
0
 public async Task Executes_OnException_WhenParsingFails_WithCorrectContext(
     Exception exception,
     HttpRequestMessage request,
     [Frozen] IJSendParser parser,
     [Frozen] MessageInterceptor interceptor,
     [Greedy, MockHttpClient] JSendClient client)
 {
     // Fixture setup
     Mock.Get(parser)
     .Setup(c => c.ParseAsync <object>(It.IsAny <JsonSerializerSettings>(), It.IsAny <HttpResponseMessage>()))
     .ThrowsAsync(exception);
     // Exercise system
     try
     {
         await client.SendAsync <object>(request);
     }
     catch
     {
     }
     // Verify outcome
     Mock.Get(interceptor)
     .Verify(i => i.OnException(It.Is <ExceptionContext>(
                                    ctx => ctx.HttpRequest == request &&
                                    ctx.Exception == exception
                                    )), Times.Once);
 }
Exemple #2
0
 public void ParserExceptionsBubbleUp(
     HttpRequestMessage request,
     JSendParseException exception,
     [Frozen] IJSendParser parser,
     [Greedy, MockHttpClient] JSendClient client)
 {
     // Fixture setup
     Mock.Get(parser)
     .Setup(p => p.ParseAsync <object>(It.IsAny <JsonSerializerSettings>(), It.IsAny <HttpResponseMessage>()))
     .ThrowsAsync(exception);
     // Exercise system and verify outcome
     client
     .Awaiting(c => c.SendAsync <object>(request))
     .ShouldThrow <JSendParseException>();
 }
Exemple #3
0
        public async Task Executes_OnReceived_BeforeParsingResponse(
            HttpRequestMessage request,
            [Frozen] MessageInterceptor interceptor,
            [Frozen] IJSendParser parser,
            [Greedy, MockHttpClient] JSendClient client)
        {
            // Fixture setup
            Action verifyResponseHasntBeenParsed = () =>
                                                   Mock.Get(parser)
                                                   .Verify(
                p => p.ParseAsync <object>(It.IsAny <JsonSerializerSettings>(), It.IsAny <HttpResponseMessage>()),
                Times.Never);

            Mock.Get(interceptor)
            .Setup(i => i.OnReceived(It.IsAny <ResponseReceivedContext>()))
            .Callback(verifyResponseHasntBeenParsed);

            // Exercise system
            await client.SendAsync <object>(request);

            // Verify outcome
            Mock.Get(interceptor)
            .Verify(i => i.OnReceived(It.IsAny <ResponseReceivedContext>()), Times.Once);
        }