public async Task Server_Can_Get_Specific_Client(int clientIndex) { var clientToGet = _clients[clientIndex]; var endPoint = ServerUri + "clients/" + clientToGet.ClientID; var clientViewModel = ClientViewModel.ConvertToViewModel(clientToGet); var expectedBody = JsonConvert.SerializeObject(clientViewModel, new JsonApiSerializerSettings()); var response = await _client.GetAsync(endPoint); var responseBody = response.Content.ReadAsStringAsync().Result; Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.AreEqual(expectedBody, responseBody); }
public Response GetResponse(HttpListenerRequest request, string[] parameters) { try { var clientId = int.Parse(parameters[1]); switch (request.HttpMethod) { case "GET": var client = _clientService.GetClientById(clientId); var clientVm = ClientViewModel.ConvertToViewModel(client); var responseBody = JsonConvert.SerializeObject(clientVm, new JsonApiSerializerSettings()); return(new Response(200, responseBody)); case "PUT": var body = new StreamReader(request.InputStream).ReadToEnd(); var updatedClientVm = JsonConvert.DeserializeObject <ClientViewModel>(body); var updatedClient = Client.ConvertToClient(updatedClientVm); _clientService.UpdateClient(clientId, updatedClient); return(new Response(200, "Updated")); case "DELETE": _clientService.DeleteClient(clientId); return(new Response(200, "Deleted")); } return(BasicResponseBuilder.GetBadRequest()); } catch (ClientNotFoundException e) { Console.WriteLine(e.Message); return(new Response(404, e.Message)); } }