@SuppressWarnings("unchecked")
  @Test
  public void deleteTest() throws IOException {
    PrivilegeResource resource = new PrivilegeResource();

    List methods = new ArrayList<String>();
    methods.add("read");
    resource.setMethod(methods);
    resource.setName("deleteTest");
    resource.setType(TargetPrivilegeDescriptor.TYPE);
    resource.setRepositoryTargetId("testTarget");

    // get the Resource object
    List<PrivilegeStatusResource> statusResources = this.messageUtil.createPrivileges(resource);

    Assert.assertTrue(statusResources.size() == 1);

    // make sure the id != null
    Assert.assertNotNull(statusResources.get(0).getId());

    String readPrivId = statusResources.get(0).getId();

    Assert.assertEquals(
        SecurityConfigUtil.getPrivilegeProperty(
            statusResources.get(0), ApplicationPrivilegeMethodPropertyDescriptor.ID),
        "read");
    Assert.assertEquals(statusResources.get(0).getName(), "deleteTest - (read)"); // ' - (read)' is
    // automatically
    // added
    Assert.assertEquals(statusResources.get(0).getType(), TargetPrivilegeDescriptor.TYPE);
    Assert.assertEquals(
        SecurityConfigUtil.getPrivilegeProperty(
            statusResources.get(0), TargetPrivilegeRepositoryTargetPropertyDescriptor.ID),
        "testTarget");

    Response response = this.messageUtil.sendMessage(Method.DELETE, resource, readPrivId);

    if (!response.getStatus().isSuccess()) // Method Not Allowed
    {
      Assert.fail("Delete failed: " + response.getStatus());
    }

    Assert.assertNull(SecurityConfigUtil.getCPrivilege(readPrivId));
  }