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 GetUserListReturnsTheCorrectResponseMessage() { var controller = new Controller(); var responseMessage = controller.GetUserList(); var responseBodyContent = responseMessage.Content.ReadAsStringAsync(); var expectedResponseCode = HttpStatusCode.OK; var expectedBodyContent = @"[{""Name"":""tom""}]"; responseMessage.StatusCode.Should().Be(expectedResponseCode); responseBodyContent.Result.Should().Be(expectedBodyContent); }
public void AddUserReturnsCorrectResponseMessage() { var controller = new Controller(); var newUser = new User("Mary"); var responseMessage = controller.AddUser(newUser); var responseBodyContent = responseMessage.Content.ReadAsStringAsync(); var expectedResponseCode = HttpStatusCode.Created; var expectedBodyContent = @"{""Name"":""Mary""}"; responseMessage.StatusCode.Should().Be(expectedResponseCode); responseBodyContent.Result.Should().Be(expectedBodyContent); }
public void UpdateUserFailureReturnsCorrectResponseMessage() { var controller = new Controller(); var userToUpdate = new User("Mary"); controller.AddUser(userToUpdate); var responseMessage = controller.UpdateUser(new User("James"), "Ted"); 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 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()); }