@Test
public void test910CleanupCampaignsAllow() throws Exception {
final String TEST_NAME = "test910CleanupCampaignsAllow";
TestUtil.displayTestTitle(this, TEST_NAME);
login(getUserFromRepo(USER_ADMINISTRATOR_OID));
Task task = taskManager.createTaskInstance(TestCertificationBasic.class.getName() + "." + TEST_NAME);
task.setOwner(userAdministrator.asPrismObject());
OperationResult result = task.getResult();
TestUtil.displayWhen(TEST_NAME);
CleanupPolicyType policy = new CleanupPolicyType().maxRecords(0);
certificationService.cleanupCampaigns(policy, task, result);
result.computeStatus();
display("result", result);
assertSuccess(result);
SearchResultList<PrismObject<AccessCertificationCampaignType>> campaigns = getAllCampaigns(result);
display("campaigns", campaigns);
assertEquals("Wrong # of remaining campaigns", 1, campaigns.size());
PrismObject<AccessCertificationCampaignType> remainingCampaign = campaigns.get(0);
assertEquals("Wrong OID of the remaining campaign", roleInducementCampaignOid, remainingCampaign.getOid());
certificationManager.closeCampaign(roleInducementCampaignOid, true, task, result);
certificationService.cleanupCampaigns(policy, task, result);
result.computeStatus();
assertSuccess(result);
SearchResultList<PrismObject<AccessCertificationCampaignType>> campaigns2 = getAllCampaigns(result);
display("campaigns after 2nd cleanup", campaigns2);
assertEquals("Wrong # of remaining campaigns", 0, campaigns2.size());
}