public void testCreatePermission()
throws IOException
{
this.giveUserPrivilege(TEST_USER_NAME, "repository-all");
RepositoryGroupResource group = new RepositoryGroupResource();
group.setId("testCreatePermission");
group.setName("testCreatePermission");
group.setFormat("maven2");
group.setProvider("maven2");
RepositoryGroupMemberRepository member = new RepositoryGroupMemberRepository();
member.setId("nexus-test-harness-repo");
group.addRepository(member);
TestContainer.getInstance().getTestContext().setUsername("test-user");
TestContainer.getInstance().getTestContext().setPassword("admin123");
Response response = this.groupUtil.sendMessage(Method.POST, group);
Assert.assertEquals("Response status: ", response.getStatus().getCode(), 403);
// use admin
TestContainer.getInstance().getTestContext().useAdminForRequests();
// now give create
this.giveUserPrivilege("test-user", "13");
// now.... it should work...
TestContainer.getInstance().getTestContext().setUsername("test-user");
TestContainer.getInstance().getTestContext().setPassword("admin123");
response = this.groupUtil.sendMessage(Method.POST, group);
Assert.assertEquals("Response status: ", response.getStatus().getCode(), 201);
group = this.groupUtil.getGroup(group.getId());
// read should succeed (inherited)
response = this.groupUtil.sendMessage(Method.GET, group);
Assert.assertEquals("Response status: ", response.getStatus().getCode(), 200);