diff --git a/provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyConsistency.java b/provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyConsistency.java index 64edc5fa2aa..ab280abdec3 100644 --- a/provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyConsistency.java +++ b/provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyConsistency.java @@ -12,6 +12,8 @@ import java.util.Collection; import javax.xml.datatype.XMLGregorianCalendar; +import com.evolveum.midpoint.test.TestResource; + import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.context.ContextConfiguration; import org.testng.annotations.Listeners; @@ -67,6 +69,8 @@ public class TestDummyConsistency extends AbstractDummyTest { private static final String ACCOUNT_MURRAY_USERNAME = "murray"; private static final String ACCOUNT_MURRAY_FULL_NAME = "Murray"; + private static final TestResource ACCOUNT_LATE = new TestResource<>(TEST_DIR, "account-late.xml", "9f2bc5b3-61ea-4b59-9ee4-901affe5c8c8"); + private XMLGregorianCalendar lastRequestStartTs; private XMLGregorianCalendar lastRequestEndTs; private XMLGregorianCalendar lastAttemptStartTs; @@ -2063,6 +2067,37 @@ public void test910ModifyMorganFullNameTwiceCommunicationFailure() throws Except .assertValue(dummyResourceCtl.getAttributeFullnameQName(), ACCOUNT_MORGAN_FULLNAME_CHM); } + @Test(enabled = false) + public void test920ForceRetryOnUnAddedAccount() throws Exception { + given(); + Task task = getTestTask(); + OperationResult result = task.getResult(); + syncServiceMock.reset(); + + dummyResource.setBreakMode(BreakMode.NETWORK); + + PrismObject account = prismContext.parseObject(ACCOUNT_LATE.file); + account.checkConsistence(); + display("Adding shadow", account); + + when(); + String addedObjectOid = provisioningService.addObject(account, null, null, task, result); + + then(); + display("Result", result); + assertInProgress(result); + + when("get with forceRetry"); + var options = schemaService.getOperationOptionsBuilder() + .forceRetry() + .build(); + + provisioningService.getObject(ShadowType.class, addedObjectOid, options, task, result); + + then("get with forceRetry"); + assertSuccess(result); + } + private void assertUncreatedMorgan(int expectedAttemptNumber) throws Exception { // @formatter:off diff --git a/provisioning/provisioning-impl/src/test/resources/dummy/consistency/account-late.xml b/provisioning/provisioning-impl/src/test/resources/dummy/consistency/account-late.xml new file mode 100644 index 00000000000..f228cc1615f --- /dev/null +++ b/provisioning/provisioning-impl/src/test/resources/dummy/consistency/account-late.xml @@ -0,0 +1,19 @@ + + + + + + ri:AccountObjectClass + account + + late + +