@Test public void test703ConfiguredCapabilityNoDelete() throws Exception{ final String TEST_NAME = "test703ConfiguredCapabilityNoDelete"; Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); addResourceFromFile(new File(TEST_DIR, "/resource-opendj-no-delete.xml"), IntegrationTestTools.CONNECTOR_LDAP_TYPE, true, result); try { provisioningService.deleteObject(ShadowType.class, ACCOUNT_WILL_OID, null, null, task, result); AssertJUnit .fail("Expected unsupported operation exception, but haven't got one."); } catch (UnsupportedOperationException ex) { // this is expected.. } }
private <F extends ObjectType, T extends ObjectType> PrismObject<T> deleteProvisioningObject( Class<T> objectTypeClass, String oid, LensContext<F> context, LensElementContext<T> objectContext, ProvisioningOperationOptions options, ResourceType resource, Task task, OperationResult result) throws ObjectNotFoundException, ObjectAlreadyExistsException, SchemaException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException, PolicyViolationException { PrismObject<T> shadowToModify = null; OperationProvisioningScriptsType scripts = null; try { GetOperationOptions rootOpts = GetOperationOptions.createNoFetch(); rootOpts.setPointInTimeType(PointInTimeType.FUTURE); shadowToModify = provisioning.getObject(objectTypeClass, oid, SelectorOptions.createCollection(rootOpts), task, result); } catch (ObjectNotFoundException ex) { // this is almost OK, mute the error and try to delete account (it // will fail if something is wrong) result.muteLastSubresultError(); } if (ShadowType.class.isAssignableFrom(objectTypeClass)) { scripts = prepareScripts(shadowToModify, context, objectContext, ProvisioningOperationTypeType.DELETE, resource, task, result); } ModelImplUtils.setRequestee(task, context); PrismObject<T> objectAfterModification = provisioning.deleteObject(objectTypeClass, oid, options, scripts, task, result); ModelImplUtils.clearRequestee(task); return objectAfterModification; }
@Test public void test140AddDeleteAccountSparrow() throws Exception { final String TEST_NAME = "test140AddDeleteAccountSparrow"; displayTestTitle(TEST_NAME); // GIVEN OperationResult result = new OperationResult(TestOpenDjNegative.class.getName() + "." + TEST_NAME); try { provisioningService.deleteObject(ShadowType.class, ACCOUNT_SPARROW_OID, null, null, taskManager.createTaskInstance(), result); AssertJUnit.fail("addObject succeeded unexpectedly"); } catch (ConfigurationException e) { // This is expected display("Expected exception", e); } result.computeStatus(); TestUtil.assertFailure(result); }
@Test public void test500ReplaceResource() throws Exception { final String TEST_NAME = "test500ReplaceResource"; displayTestTitle(TEST_NAME); OperationResult result = new OperationResult(TestOpenDjNegative.class.getName() + "." + TEST_NAME); // Delete should work fine even though OpenDJ is down provisioningService.deleteObject(ResourceType.class, RESOURCE_OPENDJ_OID, null, null, taskManager.createTaskInstance(), result); result.computeStatus(); TestUtil.assertSuccess(result); resource = addResourceFromFile(RESOURCE_OPENDJ_INITIALIZED_FILE, IntegrationTestTools.CONNECTOR_LDAP_TYPE, result); result.computeStatus(); TestUtil.assertSuccess(result); }
@Test public void test329DeleteAccountPosix() throws Exception { final String TEST_NAME = "test329DeleteAccountPosix"; displayTestTitle(TEST_NAME); Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); // WHEN displayWhen(TEST_NAME); provisioningService.deleteObject(ShadowType.class, ACCOUNT_POSIX_MCMUTTON_OID, null, null, task, result); // THEN displayThen(TEST_NAME); try { provisioningService.getObject(ShadowType.class, ACCOUNT_POSIX_MCMUTTON_OID, null, task, result); Assert.fail("Expected exception ObjectNotFoundException, but haven't got one."); } catch (ObjectNotFoundException ex) { display("Expected exception", ex); } try { repositoryService.getObject(ShadowType.class, ACCOUNT_POSIX_MCMUTTON_OID, GetOperationOptions.createRawCollection(), result); // objType = container.getObject(); Assert.fail("Expected exception, but haven't got one."); } catch (ObjectNotFoundException ex) { display("Expected exception", ex); assertTrue(ex.getMessage().contains(ACCOUNT_POSIX_MCMUTTON_OID)); } assertShadows(16); }
provisioningService.deleteObject(ShadowType.class, ACCOUNT_MORGAN_OID, null, null, task, result);
@Test public void test900DeleteResource() throws Exception { final String TEST_NAME = "test900DeleteResource"; displayTestTitle(TEST_NAME); // GIVEN Task task = taskManager.createTaskInstance(TestDummyResourceAndSchemaCaching.class.getName() + "." + TEST_NAME); OperationResult result = task.getResult(); // WHEN provisioningService.deleteObject(ResourceType.class, RESOURCE_DUMMY_OID, null, null, task, result); // THEN result.computeStatus(); TestUtil.assertSuccess(result); try { repositoryService.getObject(ResourceType.class, RESOURCE_DUMMY_OID, null, result); AssertJUnit.fail("Resource not gone from repo"); } catch (ObjectNotFoundException e) { // This is expected } try { provisioningService.getObject(ResourceType.class, RESOURCE_DUMMY_OID, null, task, result); AssertJUnit.fail("Resource not gone from provisioning"); } catch (ObjectNotFoundException e) { // This is expected } }
provisioningService.deleteObject(ShadowType.class, oid, options, null, task, result);
provisioningService.deleteObject(ShadowType.class, ACCOUNT_SPARROW_OID, null, null, task, result);
@Test public void test499DeleteAccountElizabeth() throws Exception { final String TEST_NAME = "test499DeleteAccountElizabeth"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); syncServiceMock.reset(); // WHEN displayWhen(TEST_NAME); provisioningService.deleteObject(ShadowType.class, ACCOUNT_ELIZABETH_OID, null, null, task, result); // THEN displayThen(TEST_NAME); assertSuccess(result); syncServiceMock.assertNotifySuccessOnly(); assertNoRepoObject(ShadowType.class, ACCOUNT_ELIZABETH_OID); assertNoDummyAccount(ACCOUNT_ELIZABETH_USERNAME, ACCOUNT_ELIZABETH_USERNAME); assertSteadyResource(); }
@Test public void test509DeleteProtectedAccountShadow() throws Exception { final String TEST_NAME = "test509DeleteProtectedAccountShadow"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); syncServiceMock.reset(); // WHEN try { provisioningService.deleteObject(ShadowType.class, ACCOUNT_DAEMON_OID, null, null, task, result); AssertJUnit.fail("Expected security exception while deleting 'daemon' account"); } catch (SecurityViolationException e) { // This is expected display("Expected exception", e); } result.computeStatus(); display("deleteObject result (expected failure)", result); TestUtil.assertFailure(result); syncServiceMock.assertNotifyFailureOnly(); // checkConsistency(); assertSteadyResource(); }
provisioningService.deleteObject(ShadowType.class, accountMorganOid, null, null, localTask, localResult); localResult.computeStatus(); display("Thread "+Thread.currentThread().getName()+" DONE, result", localResult);
@Test public void test134DeleteScript() throws Exception { final String TEST_NAME = "test134DeleteScript"; displayTestTitle(TEST_NAME); // GIVEN Task task = taskManager.createTaskInstance(TestDummy.class.getName() + "." + TEST_NAME); OperationResult result = task.getResult(); syncServiceMock.reset(); dummyResource.purgeScriptHistory(); OperationProvisioningScriptsType scriptsType = unmarshallValueFromFile(SCRIPTS_FILE, OperationProvisioningScriptsType.class); display("Provisioning scripts", PrismTestUtil.serializeAnyDataWrapped(scriptsType)); // WHEN provisioningService.deleteObject(ShadowType.class, ACCOUNT_NEW_SCRIPT_OID, null, scriptsType, task, result); // THEN result.computeStatus(); display("modifyObject result", result); TestUtil.assertSuccess("modifyObject has failed (result)", result); syncServiceMock.assertNotifySuccessOnly(); // Check if the account was modified in the dummy resource DummyAccount dummyAccount = getDummyAccount("william", williamIcfUid); assertNull("Dummy account not gone", dummyAccount); ProvisioningScriptSpec beforeScript = new ProvisioningScriptSpec("Goodbye World"); beforeScript.addArgMulti("what", "cruel"); ProvisioningScriptSpec afterScript = new ProvisioningScriptSpec("R.I.P."); IntegrationTestTools.assertScripts(dummyResource.getScriptHistory(), beforeScript, afterScript); assertSteadyResource(); }
@Test public void test298DeletePrivPillage() throws Exception { final String TEST_NAME = "test298DeletePrivPillage"; displayTestTitle(TEST_NAME); Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); syncServiceMock.reset(); // WHEN provisioningService.deleteObject(ShadowType.class, PRIVILEGE_PILLAGE_OID, null, null, task, result); // THEN result.computeStatus(); display(result); TestUtil.assertSuccess(result); syncServiceMock.assertNotifySuccessOnly(); try { repositoryService.getObject(ShadowType.class, PRIVILEGE_PILLAGE_OID, GetOperationOptions.createRawCollection(), result); AssertJUnit.fail("Priv shadow is not gone (repo)"); } catch (ObjectNotFoundException e) { // This is expected } try { provisioningService.getObject(ShadowType.class, PRIVILEGE_PILLAGE_OID, null, task, result); AssertJUnit.fail("Priv shadow is not gone (provisioning)"); } catch (ObjectNotFoundException e) { // This is expected } DummyPrivilege priv = getDummyPrivilege(PRIVILEGE_PILLAGE_NAME, pillageIcfUid); assertNull("Privilege object NOT is gone", priv); assertSteadyResource(); }
PrismObject<ShadowType> returnedShadow = provisioningService.deleteObject(ShadowType.class, shadowMorganOid, null, null, task, result);
@Test public void test299DeleteGroupPirates() throws Exception { final String TEST_NAME = "test299DeleteGroupPirates"; displayTestTitle(TEST_NAME); Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); syncServiceMock.reset(); // WHEN provisioningService.deleteObject(ShadowType.class, GROUP_PIRATES_OID, null, null, task, result); // THEN result.computeStatus(); display(result); TestUtil.assertSuccess(result); syncServiceMock.assertNotifySuccessOnly(); try { repositoryService.getObject(ShadowType.class, GROUP_PIRATES_OID, GetOperationOptions.createRawCollection(), result); AssertJUnit.fail("Group shadow is not gone (repo)"); } catch (ObjectNotFoundException e) { // This is expected } try { provisioningService.getObject(ShadowType.class, GROUP_PIRATES_OID, null, task, result); AssertJUnit.fail("Group shadow is not gone (provisioning)"); } catch (ObjectNotFoundException e) { // This is expected } DummyGroup dummyAccount = getDummyGroup(GROUP_PIRATES_NAME, piratesIcfUid); assertNull("Dummy group '"+GROUP_PIRATES_NAME+"' is not gone from dummy resource", dummyAccount); assertSteadyResource(); }
@Test public void test170DeleteMorganCommunicationFailure() throws Exception { final String TEST_NAME = "test170DeleteMorganCommunicationFailure"; displayTestTitle(TEST_NAME); Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); syncServiceMock.reset(); dummyResource.setBreakMode(BreakMode.NETWORK); lastRequestStartTs = lastAttemptStartTs = clock.currentTimeXMLGregorianCalendar(); ObjectDelta<ShadowType> delta = prismContext.deltaFactory().object().createModificationReplaceProperty(ShadowType.class, shadowMorganOid, dummyResourceCtl.getAttributeFullnamePath(), ACCOUNT_MORGAN_FULLNAME_HM); display("ObjectDelta", delta); // WHEN displayWhen(TEST_NAME); provisioningService.deleteObject(ShadowType.class, shadowMorganOid, null, null, task, result); // THEN displayThen(TEST_NAME); assertInProgress(result); lastRequestEndTs = lastAttemptEndTs = clock.currentTimeXMLGregorianCalendar(); syncServiceMock.assertNotifyInProgressOnly(); assertUndeletedMorgan(1, 4); // Resource -> down assertResourceStatusChangeCounterIncrements(); assertSteadyResources(); }
provisioningService.deleteObject(ShadowType.class, ACCOUNT_LECHUCK_OID, null, null, task, result);
@Test public void test190DeleteWill() throws Exception { final String TEST_NAME = "test190DeleteWill"; displayTestTitle(TEST_NAME); Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); syncServiceMock.reset(); // WHEN displayWhen(TEST_NAME); provisioningService.deleteObject(ShadowType.class, ACCOUNT_WILL_OID, null, null, task, result); // THEN displayThen(TEST_NAME); assertSuccess(result); syncServiceMock.assertNotifySuccessOnly(); assertNoDummyAccount(transformNameFromResource(ACCOUNT_WILL_USERNAME), willIcfUid); assertRepoShadow(ACCOUNT_WILL_OID) .assertDead() .assertIsNotExists() .pendingOperations() .assertOperations(3) .deleteOperation() .assertExecutionStatus(PendingOperationExecutionStatusType.COMPLETED) .delta() .assertDelete(); assertShadowProvisioning(ACCOUNT_WILL_OID) .assertTombstone(); assertSteadyResource(); }
provisioningService.deleteObject(ShadowType.class, ACCOUNT_SPARROW_OID, null, null, task, result);