public async Task WithSuccess() { // arrange Mock <ILogger> mockLogger = new Mock <ILogger>(); var mockRequest = Mockers.MockRequest(null); mockRequest.Setup(x => x.Host).Returns(new HostString("test")); var sut = HealthMockers.GetApiFunctions( out Mock <IUserAuthenticationService> mockUserAuthenticationService, out Mock <IHealthService> mockHealthService); mockHealthService.Setup(x => x.HealthCheck()).ReturnsAsync(new List <HealthCheckResponse>() { new HealthCheckResponse() { Application = "Ali", Status = HealthCheckStatus.OK, }, new HealthCheckResponse() { Application = "Baba", Status = HealthCheckStatus.OK, }, }); // act await sut.SystemHealthCheck(mockRequest.Object, mockLogger.Object).ConfigureAwait(false); // assert mockHealthService.Verify(x => x.HealthCheck(), Times.Once); }
public async Task WithMissingUserIdReturnsBadRequest() { // arrange string userId; Mock <ILogger> mockLogger = new Mock <ILogger>(); var mockRequest = Mockers.MockRequest(null); mockRequest.Setup(x => x.Host).Returns(new HostString("test")); var sut = HealthMockers.GetApiFunctions( out Mock <IUserAuthenticationService> mockUserAuth, out Mock <IHealthService> mockHealthService); IActionResult actionResult = new BadRequestObjectResult(new { error = "Error." }); mockUserAuth.Setup(m => m.GetUserIdAsync(It.IsAny <HttpRequest>(), out userId, out actionResult)) .Returns(Task.FromResult(false)); // act var response = await sut.HealthCheck(mockRequest.Object, mockLogger.Object).ConfigureAwait(false); var objectResult = (BadRequestObjectResult)response; var addResponse = (dynamic)objectResult.Value; // assert Assert.AreEqual("Error.", addResponse.error); }
public async Task WithThrownExceptionThrowsException() { // arrange Mock <AbstractLogger> mockLogger = new Mock <AbstractLogger>(); TimerInfo timerInfo = Mockers.GetTimerInfo(); var sut = HealthMockers.GetApiFunctions( out Mock <IUserAuthenticationService> mockUserAuth, out Mock <IHealthService> mockHealthService); System.Exception ex = new System.Exception("My error."); mockHealthService.Setup(m => m.HealthCheck()) .ThrowsAsync(ex); // act await Assert.ThrowsExceptionAsync <System.Exception>(() => sut.SystemHealthCheckTimer(timerInfo, mockLogger.Object)).ConfigureAwait(false); mockLogger.Verify(moc => moc.Log(LogLevel.Error, It.IsAny <System.Exception>(), "Unhandled Exception.")); }
public async Task WithSuccess() { // arrange Mock <ILogger> mockLogger = new Mock <ILogger>(); var mockRequest = Mockers.MockRequest(null); mockRequest.Setup(x => x.Host).Returns(new HostString("test")); var sut = HealthMockers.GetApiFunctions( out Mock <IUserAuthenticationService> mockUserAuthenticationService, out Mock <IHealthService> mockHealthService); // act var response = await sut.HealthCheck(mockRequest.Object, mockLogger.Object).ConfigureAwait(false); var responseType = (OkObjectResult)response; var responseObject = (HealthCheckResponse)responseType.Value; // assert Assert.IsNotNull(responseObject); Assert.AreEqual(HealthCheckStatus.OK, responseObject.Status); Assert.AreEqual("test", responseObject.Application); }
public async Task WithThrownExceptionThrowsException() { // arrange string userId; Mock <AbstractLogger> mockLogger = new Mock <AbstractLogger>(); var mockRequest = Mockers.MockRequest(null); mockRequest.Setup(x => x.Host).Returns(new HostString("test")); var sut = HealthMockers.GetApiFunctions( out Mock <IUserAuthenticationService> mockUserAuth, out Mock <IHealthService> mockHealthService); IActionResult actionResult = new BadRequestObjectResult(new { error = "Error." }); System.Exception ex = new System.Exception("My error."); mockUserAuth.Setup(m => m.GetUserIdAsync(It.IsAny <HttpRequest>(), out userId, out actionResult)) .ThrowsAsync(ex); // act await Assert.ThrowsExceptionAsync <System.Exception>(() => sut.HealthCheck(mockRequest.Object, mockLogger.Object)).ConfigureAwait(false); mockLogger.Verify(moc => moc.Log(LogLevel.Error, It.IsAny <System.Exception>(), "Unhandled Exception.")); }
public async Task WithSuccess() { // arrange Mock <ILogger> mockLogger = new Mock <ILogger>(); var mockRequest = Mockers.MockRequest(null); mockRequest.Setup(x => x.Host).Returns(new HostString("test")); var sut = HealthMockers.GetApiFunctions( out Mock <IUserAuthenticationService> mockUserAuthenticationService, out Mock <IHealthService> mockHealthService); mockHealthService.Setup(x => x.HealthCheck()).ReturnsAsync(new List <HealthCheckResponse>() { new HealthCheckResponse() { Application = "Ali", Status = HealthCheckStatus.OK, }, new HealthCheckResponse() { Application = "Baba", Status = HealthCheckStatus.OK, }, }); // act var response = await sut.SystemHealthCheck(mockRequest.Object, mockLogger.Object).ConfigureAwait(false); var responseType = (OkObjectResult)response; var responseObject = (List <HealthCheckResponse>)responseType.Value; // assert Assert.IsNotNull(responseObject); Assert.AreEqual(2, responseObject.Count, "The response did not have 2 HealthCheckReponses"); Assert.AreEqual(HealthCheckStatus.OK, responseObject[0].Status); Assert.AreEqual("Ali", responseObject[0].Application, "The application name for the first item was not 'Ali'"); }