public void ReservationsController_DeleteByProjectionId_ReservationServiceReturnsNull() { //Arrange IEnumerable <ReservationDomainModel> reservations = null; Task <IEnumerable <ReservationDomainModel> > responseTask = Task.FromResult(reservations); string expectedMessage = Messages.RESERVATION_DOES_NOT_EXIST; int expectedStatusCode = 500; ErrorResponseModel errorResponseModel = new ErrorResponseModel(); errorResponseModel.ErrorMessage = expectedMessage; errorResponseModel.StatusCode = System.Net.HttpStatusCode.InternalServerError; ReservationsController reservationsController = new ReservationsController(_mockReservationService.Object, _mockUserService.Object, _mockProjectionService.Object); _mockReservationService.Setup(x => x.DeleteByProjectionId(It.IsAny <Guid>())).Returns(responseTask); //Act var result = reservationsController.DeleteByProjectionId(_reservationDomainModel.ProjectionId).ConfigureAwait(false).GetAwaiter().GetResult().Result; var viewResult = (ObjectResult)result; var viewMessage = (ErrorResponseModel)viewResult.Value; //Assert Assert.IsNotNull(result); Assert.AreEqual(viewResult.Value.ToString(), errorResponseModel.ToString()); Assert.AreEqual(errorResponseModel.ErrorMessage, viewMessage.ErrorMessage); Assert.AreEqual(viewResult.StatusCode, expectedStatusCode); }
public void MovieTagsController_GetAllReservations_ReservationsReturnsNull_ReturnError() { //Arrange IEnumerable <ReservationDomainModel> nullDomainModel = null; Task <IEnumerable <ReservationDomainModel> > nullTask = Task.FromResult(nullDomainModel); string expectedMessage = Messages.RESERVATION_GET_ALL_ERROR; int expectedStatusCode = 500; ErrorResponseModel errorResponseModel = new ErrorResponseModel(); errorResponseModel.ErrorMessage = expectedMessage; errorResponseModel.StatusCode = System.Net.HttpStatusCode.InternalServerError; ReservationsController reservationsController = new ReservationsController(_mockReservationService.Object, _mockUserService.Object, _mockProjectionService.Object); _mockReservationService.Setup(x => x.GetAllReservations()).Returns(nullTask); //Act var result = reservationsController.GetAllReservations().ConfigureAwait(false).GetAwaiter().GetResult().Result; ObjectResult viewResult = (ObjectResult)result; var viewMessage = (ErrorResponseModel)viewResult.Value; //Assert Assert.IsNotNull(result); Assert.AreEqual(viewResult.Value.ToString(), errorResponseModel.ToString()); Assert.AreEqual(errorResponseModel.ErrorMessage, viewMessage.ErrorMessage); Assert.AreEqual(viewResult.StatusCode, expectedStatusCode); }
public void UserController_Post_UserServiceReturnsNull() { //Arrange UserDomainModel nullDomainModel = null; Task <UserDomainModel> nullTask = Task.FromResult(nullDomainModel); string expectedMessage = Messages.USER_CREATION_ERROR; int expectedStatusCode = 500; ErrorResponseModel errorResponseModel = new ErrorResponseModel(); errorResponseModel.ErrorMessage = expectedMessage; errorResponseModel.StatusCode = System.Net.HttpStatusCode.InternalServerError; UsersController usersController = new UsersController(_mockUserService.Object); _mockUserService.Setup(x => x.AddUser(It.IsAny <UserDomainModel>())).Returns(nullTask); //Act var result = usersController.Post(_createUserModel).ConfigureAwait(false).GetAwaiter().GetResult(); ObjectResult viewResult = (ObjectResult)result; //Assert Assert.IsNotNull(result); Assert.AreEqual(viewResult.Value.ToString(), errorResponseModel.ToString()); Assert.AreEqual(viewResult.StatusCode, expectedStatusCode); }
public void MovieTagsController_DeleteByMovieIdTagId_ServiceReturnsNull() { //Arrange MovieTagsDomainModel movieTags = null; Task <MovieTagsDomainModel> responseTask = Task.FromResult(movieTags); string expectedMessage = Messages.MOVIETAG_DOES_NOT_EXIST; int expectedStatusCode = 500; ErrorResponseModel errorResponseModel = new ErrorResponseModel(); errorResponseModel.ErrorMessage = expectedMessage; errorResponseModel.StatusCode = System.Net.HttpStatusCode.InternalServerError; MovieTagsController movieTagsController = new MovieTagsController(_mockMovieTagService.Object); _mockMovieTagService.Setup(x => x.DeleteByMovieIdTagId(It.IsAny <Guid>(), It.IsAny <int>())).Returns(responseTask); //Act var result = movieTagsController.DeleteByMovieIdTagId(_movieTagDomainModel.MovieId, _movieTagDomainModel.TagId).ConfigureAwait(false).GetAwaiter().GetResult(); ObjectResult viewResult = (ObjectResult)result; //Assert Assert.IsNotNull(result); Assert.AreEqual(viewResult.Value.ToString(), errorResponseModel.ToString()); Assert.AreEqual(viewResult.StatusCode, expectedStatusCode); }
private async Task HandleExceptionAsync(HttpContext httpContext, Exception e) { //_logger.LogError("Starting Logging for exception"); var errorModel = new ErrorResponseModel() { ExceptionMessage = e.Message, ExceptionStackTrace = e.StackTrace, InnerExceptionMessage = e.InnerException?.Message }; httpContext.Response.ContentType = "application/json"; httpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError; _logger.LogError("An error occurred: {ErrorMessage}", errorModel.ExceptionMessage); await httpContext.Response.WriteAsync(errorModel.ToString() ?? string.Empty); }
public static void ConfigureExceptionHandler(this IApplicationBuilder app) { app.UseExceptionHandler(appError => { appError.Run(async context => { context.Response.StatusCode = (int)HttpStatusCode.InternalServerError; context.Response.ContentType = "application/json"; var contextFeature = context.Features.Get <IExceptionHandlerFeature>(); if (contextFeature != null) { var errorRespondMode = new ErrorResponseModel { StatusCode = context.Response.StatusCode, Message = contextFeature.Error.Message }; await context.Response.WriteAsync(errorRespondMode.ToString()); } }); }); }