Beispiel #1
0
        public void TestMappingHook()
        {
            // Arrange
            var hostingEnvironmentMock = new Mock <IHostingEnvironment>();
            var loggerMock             = new Mock <ILogger <ExceptionToActionResultMapper> >();
            var hookMock           = new Mock <IExceptionToActionResultMapperHook>();
            var returnActionResult = new ObjectResult("meep");

            returnActionResult.StatusCode = StatusCodes.Status409Conflict;
            hookMock.Setup(hm => hm.Map(It.IsAny <Exception>())).Returns(returnActionResult);

            var hooks = new List <IExceptionToActionResultMapperHook>();

            hooks.Add(hookMock.Object);

            var mapper = new ExceptionToActionResultMapper(hooks, hostingEnvironmentMock.Object, loggerMock.Object);

            var ex = new ExceptionWithFeedback("meep", "moop");

            // Act
            var actionResult = mapper.Map(ex);

            // Assert
            Assert.IsType <ObjectResult>(actionResult);
            Assert.Equal(StatusCodes.Status409Conflict, ((ObjectResult)actionResult).StatusCode);
        }
Beispiel #2
0
        public void TestMapUnauthorizedException()
        {
            // Arrange
            var hostingEnvironmentMock = new Mock <IHostingEnvironment>();
            var loggerMock             = new Mock <ILogger <ExceptionToActionResultMapper> >();
            var hooks  = new List <IExceptionToActionResultMapperHook>();
            var mapper = new ExceptionToActionResultMapper(hooks, hostingEnvironmentMock.Object, loggerMock.Object);

            var ex = new UnauthorizedException();

            // Act
            var actionResult = mapper.Map(ex);

            // Assert
            Assert.IsType <UnauthorizedResult>(actionResult);
        }
Beispiel #3
0
        public void TestMapEntityNotFoundExceptionWithoutMessage()
        {
            // Arrange
            var hostingEnvironmentMock = new Mock <IHostingEnvironment>();
            var loggerMock             = new Mock <ILogger <ExceptionToActionResultMapper> >();
            var hooks  = new List <IExceptionToActionResultMapperHook>();
            var mapper = new ExceptionToActionResultMapper(hooks, hostingEnvironmentMock.Object, loggerMock.Object);

            var ex = new EntityNotFoundException();

            // Act
            var actionResult = mapper.Map(ex);

            // Assert
            Assert.IsType <NotFoundResult>(actionResult);
        }
Beispiel #4
0
        public void TestMapEntityNotFoundExceptionWitMessage()
        {
            // Arrange
            var hostingEnvironmentMock = new Mock <IHostingEnvironment>();
            var loggerMock             = new Mock <ILogger <ExceptionToActionResultMapper> >();
            var hooks  = new List <IExceptionToActionResultMapperHook>();
            var mapper = new ExceptionToActionResultMapper(hooks, hostingEnvironmentMock.Object, loggerMock.Object);

            var ex = new EntityNotFoundException("meep", "moop");

            // Act
            var actionResult = mapper.Map(ex);

            // Assert
            Assert.IsType <NotFoundObjectResult>(actionResult);

            var notfoundObjectResult = actionResult as NotFoundObjectResult;

            Assert.Equal("meep", ((ErrorContent)notfoundObjectResult.Value).Code);
        }
Beispiel #5
0
        public void TestMapExceptionWithFeedback()
        {
            // Arrange
            var hostingEnvironmentMock = new Mock <IHostingEnvironment>();
            var loggerMock             = new Mock <ILogger <ExceptionToActionResultMapper> >();
            var hooks  = new List <IExceptionToActionResultMapperHook>();
            var mapper = new ExceptionToActionResultMapper(hooks, hostingEnvironmentMock.Object, loggerMock.Object);

            var ex = new ExceptionWithFeedback("meep", "moop");

            // Act
            var actionResult = mapper.Map(ex);

            // Assert
            Assert.IsType <InternalServerObjectResult>(actionResult);

            var internalServerObjectResult = actionResult as InternalServerObjectResult;

            Assert.Equal("meep", ((ErrorContent)internalServerObjectResult.Value).Code);
            Assert.Equal("moop", ((ErrorContent)internalServerObjectResult.Value).Message);
        }
Beispiel #6
0
        public void TestMapValidationException()
        {
            // Arrange
            var hostingEnvironmentMock = new Mock <IHostingEnvironment>();
            var loggerMock             = new Mock <ILogger <ExceptionToActionResultMapper> >();
            var hooks  = new List <IExceptionToActionResultMapperHook>();
            var mapper = new ExceptionToActionResultMapper(hooks, hostingEnvironmentMock.Object, loggerMock.Object);

            var validationDictionary = new ModelValidationDictionary <string>();

            validationDictionary.Add("name", "cannot contain numbers.");
            var ex = new ValidationException <string>(validationDictionary);

            // Act
            var actionResult = mapper.Map(ex);

            // Assert
            Assert.IsType <BadRequestObjectResult>(actionResult);
            var badRequestActionResult = actionResult as BadRequestObjectResult;

            Assert.IsType <ValidationErrorContent <object> >(badRequestActionResult.Value);
            Assert.Equal("cannot contain numbers.", ((ValidationErrorContent <object>)badRequestActionResult.Value).ValidationMessages.Values.First().First());
        }