{
TestContainer.getInstance().getTestContext().setUsername("admin");
TestContainer.getInstance().getTestContext().setPassword("admin123");
UserResource user = new UserResource();
user.setEmail("tesUpdatePermission@foo.org");
user.setFirstName("tesUpdatePermission");
user.setUserId("tesUpdatePermission");
user.setStatus("active");
user.addRole("anonymous");
Response response = this.userUtil.sendMessage(Method.POST, user);
Assert.assertEquals("Response status: ", response.getStatus().getCode(), 201);
TestContainer.getInstance().getTestContext().setUsername("test-user");
TestContainer.getInstance().getTestContext().setPassword("admin123");
// update user
response = this.userUtil.sendMessage(Method.PUT, user);
Assert.assertEquals("Response status: ", response.getStatus().getCode(), 403);
// use admin
TestContainer.getInstance().getTestContext().setUsername("admin");
TestContainer.getInstance().getTestContext().setPassword("admin123");
// now give update
this.giveUserPrivilege("test-user", "40");
TestContainer.getInstance().getTestContext().setUsername("test-user");
TestContainer.getInstance().getTestContext().setPassword("admin123");
// should work now...
// update user
user.setUserId("tesUpdatePermission");
response = this.userUtil.sendMessage(Method.PUT, user);
Assert.assertEquals("Response status: ", response.getStatus().getCode(), 200);
// read should succeed (inherited)
response = this.userUtil.sendMessage(Method.GET, user);