Пример #1
0
        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);
        }
Пример #3
0
        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'");
        }