WebAPI Put devuelve HTTPResponseMessage nulo

Tengo un requisito para implementar una funcionalidad de edición simple. Estoy usando el servicio webapi para actualizar mi objeto de prueba. Estoy llamando al método siguiente desde la solicitud de publicación del controlador.

Este es el controlador que llama a un método en llamadas de prueba que inturn llama al servicio put

public ActionResult TestEdit(Test test)
{
  if (ModelState.IsValid)
  {
    // objTest is returned null
    HttpResponseMessage objtest = TestDatabaseService.TestEdit(test.testID, test);
  }
}

// Method which calls put service testDataService
public HttpResponseMessage TestEdit(int id, Test test)**
{
   string uri = baseUri + "Test/" + id;
   using (HttpClient httpClient = new HttpClient())
   {
      Task<HttpResponseMessage> response = httpClient.PutAsJsonAsync<Test>(uri, application);
            return response.Result;
   }
}

// The webapi service put method 
public HttpResponseMessage PutTest(int id, Test test)
{
  if (ModelState.IsValid && id == test).testID)
  {
    db.Entry(test)).State = EntityState.Modified;

    try
    {
      db.SaveChanges();
    }
    catch (DbUpdateConcurrencyException)
    {
      return Request.CreateResponse(HttpStatusCode.NotFound); 
    }

    // The status code is set to indicate the save is success
    return Request.CreateResponse(HttpStatusCode.OK); 
  }
  else
  {
    // If save failed
    return Request.CreateResponse(HttpStatusCode.BadRequest); 
  }
}

. Aplicación pública TestCreate (prueba de prueba) {string uri = baseUri + "Test"; using (HttpClient httpClient = new HttpClient ()) {Task response = httpClient.PostAsJsonAsync (uri, prueba); return JsonConvert.DeserializeObjectAsync (response.Result.Content.ReadAsStringAsy nc (). Result) .Result; }}