Skip to content

Commit

Permalink
Make scripting tests work
Browse files Browse the repository at this point in the history
1) Fixed IterativeScriptingActivityHandler.

2) Removed reminding exception from deprecated
recordIterativeOperationStart method.

3) Minor adaptations in tests to make scripting tests pass.
  • Loading branch information
mederly committed Jun 22, 2021
1 parent a4cf26f commit 55771f3
Show file tree
Hide file tree
Showing 5 changed files with 74 additions and 61 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ default void done(ItemProcessingOutcomeType outcome, Throwable exception) {
}

default void done(QualifiedItemProcessingOutcomeType outcome, Throwable exception) {
throw new UnsupportedOperationException();
// no-op
}

double getDurationRounded();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,20 +39,19 @@
import com.evolveum.midpoint.xml.ns._public.common.common_3.IterativeScriptingWorkDefinitionType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectSetType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.RecomputationWorkDefinitionType;
import com.evolveum.midpoint.xml.ns._public.model.scripting_3.ExecuteScriptType;
import com.evolveum.midpoint.xml.ns._public.model.scripting_3.ValueListType;

@Component
public class IterativeScriptingActionHandler
extends SimpleActivityHandler<ObjectType, IterativeScriptingActionHandler.MyWorkDefinition, ExecutionContext> {
public class IterativeScriptingActivityHandler
extends SimpleActivityHandler<ObjectType, IterativeScriptingActivityHandler.MyWorkDefinition, ExecutionContext> {

private static final String LEGACY_HANDLER_URI = ModelPublicConstants.ITERATIVE_SCRIPT_EXECUTION_TASK_HANDLER_URI;
private static final Trace LOGGER = TraceManager.getTrace(IterativeScriptingActionHandler.class);
private static final Trace LOGGER = TraceManager.getTrace(IterativeScriptingActivityHandler.class);

@Override
protected @NotNull QName getWorkDefinitionTypeName() {
return RecomputationWorkDefinitionType.COMPLEX_TYPE;
return IterativeScriptingWorkDefinitionType.COMPLEX_TYPE;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,63 +10,65 @@
xmlns:org="http://midpoint.evolveum.com/xml/ns/public/common/org-3"
xmlns:q="http://prism.evolveum.com/xml/ns/public/query-3"
xmlns:s="http://midpoint.evolveum.com/xml/ns/public/model/scripting-3"
xmlns:mext="http://midpoint.evolveum.com/xml/ns/public/model/extension-3"
xmlns:dummy="http://midpoint.evolveum.com/xml/ns/public/resource/instance/10000000-0000-0000-0000-000000000004"
oid="931e34be-5cf0-46c6-8cc1-90812a66d5cb">
<name>Delete shadows segmented, raw</name>
<extension>
<scext:executeScript xmlns:scext="http://midpoint.evolveum.com/xml/ns/public/model/scripting/extension-3">
<s:action>
<s:type>delete</s:type>
<s:parameter>
<s:name>raw</s:name>
<c:value>true</c:value>
</s:parameter>
</s:action>
</scext:executeScript>
<mext:objectQuery>
<q:filter>
<q:and>
<q:ref>
<q:path>resourceRef</q:path>
<q:value>
<oid>10000000-0000-0000-0000-000000000004</oid>
</q:value>
</q:ref>
<q:equal>
<q:path>objectClass</q:path>
<q:value>dummy:AccountObjectClass</q:value>
</q:equal>
</q:and>
</q:filter>
</mext:objectQuery>
<mext:objectType>ShadowType</mext:objectType>
<mext:searchOptions>
<option>
<options>
<noFetch>true</noFetch>
</options>
</option>
</mext:searchOptions>
</extension>
<ownerRef oid="00000000-0000-0000-0000-000000000002" relation="org:default" type="c:UserType"/>
<executionStatus>suspended</executionStatus> <!-- resumed by test method -->
<handlerUri>http://midpoint.evolveum.com/xml/ns/public/task/workers-creation/handler-3</handlerUri>
<workManagement>
<taskKind>coordinator</taskKind>
<buckets>
<oidSegmentation>
<boundary>
<characters>a</characters>
</boundary>
</oidSegmentation>
</buckets>
<workers>
<handlerUri>http://midpoint.evolveum.com/xml/ns/public/model/iterative-scripting/handler-3</handlerUri>
<workersPerNode>
<count>2</count>
</workersPerNode>
</workers>
</workManagement>
<recurrence>single</recurrence>
<activity>
<work>
<iterativeScripting>
<objects>
<objectType>ShadowType</objectType>
<objectQuery>
<q:filter>
<q:and>
<q:ref>
<q:path>resourceRef</q:path>
<q:value>
<oid>10000000-0000-0000-0000-000000000004</oid>
</q:value>
</q:ref>
<q:equal>
<q:path>objectClass</q:path>
<q:value>dummy:AccountObjectClass</q:value>
</q:equal>
</q:and>
</q:filter>
</objectQuery>
<searchOptions>
<option>
<options>
<noFetch>true</noFetch>
</options>
</option>
</searchOptions>
</objects>
<scriptExecutionRequest>
<s:action>
<s:type>delete</s:type>
<s:parameter>
<s:name>raw</s:name>
<c:value>true</c:value>
</s:parameter>
</s:action>
</scriptExecutionRequest>
</iterativeScripting>
</work>
<distribution>
<buckets>
<oidSegmentation>
<boundary>
<characters>a</characters>
</boundary>
</oidSegmentation>
</buckets>
<workers>
<workersPerNode>
<count>2</count>
</workersPerNode>
</workers>
</distribution>
</activity>
</task>
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,9 @@ public void initSystem(Task initTask, OperationResult initResult) throws Excepti
if (notificationManager != null) {
notificationManager.setDisabled(true);
}

// This is generally useful in tests, to avoid long waiting for bucketed tasks.
bucketingManager.setFreeBucketWaitIntervalOverride(100L);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,8 +238,17 @@ public void recordMappingOperation(String objectOid, String objectName, String o

@NotNull
public IterationInformation.Operation recordIterativeOperationStart(IterativeOperationStartInfo operation) {
// return iterationInformation.recordOperationStart(operation);
throw new UnsupportedOperationException();
return new IterationInformation.Operation() {
@Override
public double getDurationRounded() {
return 0;
}

@Override
public long getEndTimeMillis() {
return 0;
}
};
}

@Deprecated
Expand Down

0 comments on commit 55771f3

Please sign in to comment.