Skip to content

test: make ProcessInstanceAdminServiceImplTest deterministic - #2487

Open
Jack-LuoHongyi wants to merge 1 commit into
kiegroup:mainfrom
Jack-LuoHongyi:test/deterministic-processinstanceadminservice
Open

test: make ProcessInstanceAdminServiceImplTest deterministic#2487
Jack-LuoHongyi wants to merge 1 commit into
kiegroup:mainfrom
Jack-LuoHongyi:test/deterministic-processinstanceadminservice

Conversation

@Jack-LuoHongyi

Copy link
Copy Markdown

Summary

  • Type: deterministic fixture (deployment descriptor stability)
  • Scope: test-only; no production changes
  • Module: jbpm-services/jbpm-kie-services
  • Tests addressed:
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testCancelAndTrigger
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testCancelAndTriggerAnotherNode
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testErrorByDeploymentId
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testErrorHandlingOnScriptTask
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testGetNodes
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testListSLATimer
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testListSuspendUntilTimer
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testQuerySlaProcess
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testReTriggerNodeInstance
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testTimerName
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testTriggerLastActionNode
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testTriggerSubProcessNodeInstance
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testUpdateTimer
org.jbpm.kie.services.impl.admin.ProcessInstanceAdminServiceImplTest#testUpdateTimerRelative

Root Cause
The shared @Before setup serialises a deployment descriptor whose content order depends on iteration over unordered collections. When the runtime perturbs iteration order, the generated XML violates the schema, so the affected tests never exercise their assertions.

Fix
Provide a deterministic kie-deployment-descriptor.xml string in the test fixture. The file mirrors the descriptor produced by the builder, so all listeners and persistence settings remain intact. This change eliminates order variation without easing assertions, and coverage stays unchanged because every test still deploys the same assets and executes the same runtime paths.

Validation

  • The regular unit test continues to pass as before.
  • Multiple verification runs were performed with the edu.illinois:nondex-maven-plugin:2.1.7 tooling.

Risk
Low. The change only stabilises fixture data while preserving original validation logic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant