Add logging to transport in tests (#2836)

This commit is contained in:
BrennanConroy 2018-08-22 10:35:19 -07:00 committed by GitHub
parent 797ccbedf2
commit cc84be85bd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 6 deletions

View File

@ -11,6 +11,7 @@ using Microsoft.AspNetCore.Http.Connections;
using Microsoft.AspNetCore.Http.Connections.Client;
using Microsoft.AspNetCore.Http.Connections.Client.Internal;
using Microsoft.AspNetCore.SignalR.Tests;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Testing;
using Xunit;
using Xunit.Abstractions;
@ -332,16 +333,16 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
writeContext.EventId.Name == "ErrorStartingTransport";
}
using (StartVerifiableLog(out var loggerFactory, expectedErrorsFilter: ExpectedErrors))
using (StartVerifiableLog(out var loggerFactory, LogLevel.Trace, expectedErrorsFilter: ExpectedErrors))
{
var httpHandler = new TestHttpMessageHandler();
var httpHandler = new TestHttpMessageHandler(loggerFactory);
httpHandler.OnGet("/?id=00000000-0000-0000-0000-000000000000", (_, __) =>
{
return Task.FromResult(ResponseUtils.CreateResponse(HttpStatusCode.InternalServerError));
});
var sse = new ServerSentEventsTransport(new HttpClient(httpHandler));
var sse = new ServerSentEventsTransport(new HttpClient(httpHandler), loggerFactory);
await WithConnectionAsync(
CreateConnection(httpHandler, loggerFactory: loggerFactory, transport: sse),
@ -367,7 +368,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
return ResponseUtils.CreateResponse(HttpStatusCode.Accepted);
});
var sse = new ServerSentEventsTransport(new HttpClient(httpHandler));
var sse = new ServerSentEventsTransport(new HttpClient(httpHandler), loggerFactory);
await WithConnectionAsync(
CreateConnection(httpHandler, loggerFactory: loggerFactory, transport: sse),

View File

@ -14,6 +14,7 @@ using Microsoft.AspNetCore.Connections;
using Microsoft.AspNetCore.Http.Connections.Client;
using Microsoft.AspNetCore.Http.Connections.Client.Internal;
using Microsoft.AspNetCore.SignalR.Tests;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Testing;
using Moq;
using Moq.Protected;
@ -198,7 +199,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
});
using (var httpClient = new HttpClient(mockHttpHandler.Object))
using (StartVerifiableLog(out var loggerFactory, expectedErrorsFilter: ExpectedErrors))
using (StartVerifiableLog(out var loggerFactory, LogLevel.Trace, expectedErrorsFilter: ExpectedErrors))
{
var sseTransport = new ServerSentEventsTransport(httpClient, loggerFactory);

View File

@ -4,6 +4,8 @@ using System.Net;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
namespace Microsoft.AspNetCore.SignalR.Client.Tests
{
@ -13,6 +15,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
{
private List<HttpRequestMessage> _receivedRequests = new List<HttpRequestMessage>();
private RequestDelegate _app;
private readonly ILogger _logger;
private List<Func<RequestDelegate, RequestDelegate>> _middleware = new List<Func<RequestDelegate, RequestDelegate>>();
@ -29,8 +32,10 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
}
}
public TestHttpMessageHandler(bool autoNegotiate = true, bool handleFirstPoll = true)
public TestHttpMessageHandler(ILoggerFactory loggerFactory, bool autoNegotiate = true, bool handleFirstPoll = true)
{
_logger = loggerFactory?.CreateLogger<TestHttpMessageHandler>() ?? NullLoggerFactory.Instance.CreateLogger<TestHttpMessageHandler>();
if (autoNegotiate)
{
OnNegotiate((_, cancellationToken) => ResponseUtils.CreateResponse(HttpStatusCode.OK, ResponseUtils.CreateNegotiationContent()));
@ -54,6 +59,11 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
}
}
public TestHttpMessageHandler(bool autoNegotiate = true, bool handleFirstPoll = true)
: this(NullLoggerFactory.Instance, autoNegotiate, handleFirstPoll)
{
}
protected override void Dispose(bool disposing)
{
Disposed = true;
@ -62,6 +72,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
_logger.LogDebug("Calling handlers for a '{Method}' going to '{Url}'.", request.Method, request.RequestUri);
await Task.Yield();
lock (_receivedRequests)