public static HttpResponseMessage HandleHttpRequest(HttpListenerContext context, Controller controller) { var resource = context.Request.Url.Segments.Last().Trim('/'); var requestBody = FetchRequestBody(context); var user = new User(resource); switch (context.Request.HttpMethod) { case "GET": { return(resource == "users" ? controller.GetUserList() : controller.GetUsers()); } case "PUT": { return(controller.AddUser(user)); } case "POST": { return(controller.UpdateUser(user, requestBody.Name)); } case "DELETE": { return(controller.DeleteUser(user)); } } return(new HttpResponseMessage()); }
public void DeleteUserFailureReturnsCorrectResponseMessage() { var controller = new Controller(); var responseMessage = controller.DeleteUser(new User("Mary")); var responseBodyContent = responseMessage.Content.ReadAsStringAsync(); var expectedResponseCode = HttpStatusCode.BadRequest; var expectedBodyContent = @"""User doesn't exist"""; responseMessage.StatusCode.Should().Be(expectedResponseCode); responseBodyContent.Result.Should().Be(expectedBodyContent); }
public void DeleteUserReturnsCorrectResponseMessage() { var controller = new Controller(); var newUser = new User("Mary"); controller.AddUser(newUser); var responseMessage = controller.DeleteUser(newUser); var responseBodyContent = responseMessage.Content.ReadAsStringAsync(); var expectedResponseCode = HttpStatusCode.NoContent; var expectedBodyContent = @""; responseMessage.StatusCode.Should().Be(expectedResponseCode); responseBodyContent.Result.Should().Be(expectedBodyContent); }