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); }
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); }
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); }
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); }
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); }
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()); }