@Test
  public void testPostEmployee() {
    if (null == cookie) {
      fail("cannot login!!!");
    }
    Employee ep1 = generateEmployee();

    try {
      ResteasyClient client = new ResteasyClientBuilder().build();

      WebTarget target = client.target(baseUrl + "/rest/ag/employee");
      client.register(new CookieRequestFilter(cookie));

      Response response = target.request().post(Entity.entity(ep1, "application/json"));

      if (response.getStatus() != 200) {
        throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
      }

      Employee value = response.readEntity(Employee.class);
      System.out.println("Server response : \n");
      System.out.println(value.toString());

      assertEquals("same first name", "Special", value.getFirstName());

      client.close();

    } catch (Exception e) {

      e.printStackTrace();
    }
  }
  @Before
  public void init() throws Exception {
    httpClient = HttpClientBuilder.create().build();

    engine = new CustomApacheHttpClient4Engine(httpClient);

    clientBuilder = new CustomResteasyClientBuilder();
    client = clientBuilder.build();
    client.register(JacksonConfigurationProvider.class);

    ResteasyProviderFactory resteasyProviderFactory = new ResteasyProviderFactory();
    clientConfiguration = new ClientConfiguration(resteasyProviderFactory);
    headers = new ClientRequestHeaders(clientConfiguration);

    uri = new URI("http://127.0.0.1");

    // request = new ClientInvocation(client, uri, headers, clientConfiguration);
    request = mock(ClientInvocation.class);
    when(request.getHeaders()).thenReturn(headers);
    when(request.getClientConfiguration()).thenReturn(clientConfiguration);
  }