cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Simulated provisioning for testing Lifecycle Manager (LCM)

Simulated provisioning for testing Lifecycle Manager (LCM)

When testing Lifecycle Manager features in development with a provisioning environment that is not fully configured, simulated provisioning can help speed the testing process. IdentityIQ versions 5.2 and higher include a TestProvisioningConnector that can be used for this simulation.

Execute these steps to implement simulated provisioning:

  1. Create an application definition whose connector is the TestProvisioningConnector (see example below).
  2. Include each application for which this simulated provisioning is to be done in a <ManagedResource> tag.  (In version 5.2p1 and earlier, these are encapsulated in a <ManagedResources> section; beginning with release 5.2p2, the <ManagedResources> tag is no longer valid and these entries are added directly within the <ProvisioningConfig> section.)
  3. Include logic in the <PlanInitializerScript> to set the provisioning result status into the AccountRequest's result status.  A committed status will cause the changes to be persisted to the Identity, Link, etc. Other statuses can be set through the PlanInitializerScript to test failures, retries, etc. The available provisioning status messages are documented in the Javadocs for the sailpoint.object.ProvisioningResult object (found in
    [iiqhome]/doc/javadoc/sailpoint/object/ProvisioningResult.html).

 

The application definition should look something like this:

<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE Application PUBLIC "sailpoint.dtd" "sailpoint.dtd">

<Application name="Provisioning Application" connector="sailpoint.integration.TestProvisioningConnector" type="XML" featuresString="PROVISIONING">

  <Schemas>

    <Schema objectType="account" identityAttribute="name" includePermissions="true">

      <AttributeDefinition name="name" type="string" />

    </Schema>

  </Schemas>

  <ProvisioningConfig saveProvisioningRequests='true'>

    <ManagedResources>

      <!-- This tag omitted for version 5.2p2+ -->

      <ManagedResource name="Active_Directory">

        <ApplicationRef>

          <Reference class="sailpoint.object.Application" name="Active_Directory" />

        </ApplicationRef>

      </ManagedResource>

    </ManagedResources>

    <!-- This tag omitted for version 5.2p2+ -->

    <PlanInitializerScript>

      <Source>

        import sailpoint.object.*;

        import sailpoint.object.ProvisioningPlan.AccountRequest;

        import sailpoint.object.ProvisioningPlan.AttributeRequest;

        import sailpoint.object.ProvisioningPlan;

        import sailpoint.object.ProvisioningResult;

        import sailpoint.integration.TestProvisioningConnector;

 

        List accountRequests = plan.getAccountRequests();

        for (AccountRequest acctReq : accountRequests) {

          acctReq.put(TestProvisioningConnector.ARG_RESULT_STATUS,  ProvisioningResult.STATUS_COMMITTED);

        }

      </Source>

    </PlanInitializerScript>

  </ProvisioningConfig>

</Application>

Comments

Hi @community_manager ,

as this article was just moved please kindly note that the class (location) has changed in recent versions of IIQ.
Now the class name is:

sailpoint.connectorDependencies.TestProvisioningConnector

 

Best regards,
Daniel

 

 

Version history
Revision #:
4 of 4
Last update:
‎Jul 31, 2023 06:25 PM
Updated by:
 
Contributors