public async Task SetLogger_UpdatesLogger() { var test = new LogRequestHandlerTest(); var secondLogger = new Mock <ILogger>(MockBehavior.Strict); test.Handler.SetLogger(secondLogger.Object); var responseHandler = new Mock <IResponseHandler>(MockBehavior.Strict); responseHandler.Setup(x => x.SendResponseAsync( It.IsNotNull <Message>(), It.IsNotNull <LogResponse>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(0)); await test.Handler.HandleResponseAsync( Mock.Of <IConnection>(), test.Request, responseHandler.Object, CancellationToken.None); test.Logger.Verify(); responseHandler.Verify(); secondLogger.Verify(); }
public void SetLogger_ThrowsForNullLogger() { var test = new LogRequestHandlerTest(); var exception = Assert.Throws <ArgumentNullException>( () => test.Handler.SetLogger(logger: null)); Assert.Equal("logger", exception.ParamName); }
public async Task HandleResponseAsync_ThrowsIfCancelled() { var test = new LogRequestHandlerTest(); await Assert.ThrowsAsync <OperationCanceledException>( () => test.Handler.HandleResponseAsync( Mock.Of <IConnection>(), test.Request, Mock.Of <IResponseHandler>(), new CancellationToken(canceled: true))); }
public async Task HandleResponseAsync_ThrowsForNullResponseHandler() { var test = new LogRequestHandlerTest(); var exception = await Assert.ThrowsAsync <ArgumentNullException>( () => test.Handler.HandleResponseAsync( Mock.Of <IConnection>(), test.Request, responseHandler: null, cancellationToken: CancellationToken.None)); Assert.Equal("responseHandler", exception.ParamName); }
private async Task HandleResponseAsync( LogLevel handlerLogLevel, LogLevel requestLogLevel, MessageResponseCode responseCode, bool expectLog) { var test = new LogRequestHandlerTest(handlerLogLevel); var payload = new LogRequest(requestLogLevel, message: "a"); var request = MessageUtilities.Create( requestId: "b", type: MessageType.Request, method: MessageMethod.Log, payload: payload); var responseHandler = new Mock <IResponseHandler>(MockBehavior.Strict); responseHandler.Setup(x => x.SendResponseAsync( It.Is <Message>(message => message == request), It.Is <LogResponse>(response => response.ResponseCode == responseCode), It.IsAny <CancellationToken>())) .Returns(Task.FromResult(0)); if (expectLog) { test.Logger.Setup( x => x.Log(It.Is <ILogMessage>(m => m.Message == payload.Message && m.Level == requestLogLevel))); } await test.Handler.HandleResponseAsync( Mock.Of <IConnection>(), request, responseHandler.Object, CancellationToken.None); test.Logger.Verify(); }
public void CancellationToken_IsNone() { var test = new LogRequestHandlerTest(); Assert.Equal(CancellationToken.None, test.Handler.CancellationToken); }