String newUser = "{ \"user\" : { \"id\" : \"5\", \"username\" : \"wburke\", \"name\" : \"Bill Burke\", \"email\" : \"bburke@redhat.com\", \"enabled\" : true, \"credentials\" : { \"password\" : \"geheim\" }} }";
ResteasyClient client = new ResteasyClientBuilder().providerFactory(deployment.getProviderFactory()).build();
Response response = client.target(generateURL("/users")).request().post(Entity.json(newUser));
Assert.assertEquals(response.getStatus(), 201);
response.close();
ResteasyWebTarget target = client.target(response.getLocation());
String user = target.request().get(String.class);
System.out.println(user);
User u = target.request().get(User.class);
System.out.println(u);
Assert.assertEquals("5", u.getId());
Assert.assertEquals("wburke", u.getUsername());
Assert.assertEquals("Bill Burke", u.getName());
Assert.assertEquals("bburke@redhat.com", u.getEmail());
Assert.assertTrue(u.getEnabled());
u.setName("William Burke");
Assert.assertEquals(target.request().put(Entity.json(u)).getStatus(), 204);
u = target.request().get(User.class);
Assert.assertEquals("William Burke", u.getName());
Assert.assertEquals(target.request().delete().getStatus(), 204);
response = target.request().get();
Assert.assertEquals(404, response.getStatus());
client.close();
}