Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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));
            }
        }