test: make org.jbpm.kie.services.test.ProcessServiceWithVariableTagsTest deterministic #2496
+38
−11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
jbpm-services/jbpm-kie-servicesorg.jbpm.kie.services.test.ProcessServiceWithVariableTagsTest#testStartProcessWithRestrictedVariableorg.jbpm.kie.services.test.ProcessServiceWithVariableTagsTest#testStartProcessWithViolatedRestrictedVariableRoot Cause
DeploymentDescriptorImpl#toXml()materializeskie-deployment-descriptor.xmlfrom unordered collections. Under NonDex the iteration order shuffles, producing a descriptor whose top-level XML element order violates the schema. This throws aMarshalExceptionduring@Before prepare()before either test executes, making both methods flaky for the same reason.Fix
Inject a static, deterministic
kie-deployment-descriptor.xmlas an extra test resource and disable dynamic descriptor generation. The XML preserves original semantics (same persistence/audit units, runtime strategy SINGLETON, and the sameVariableGuardProcessEventListener("admin", identityProvider)), so assertions and scenarios remain unchanged while ordering becomes stable.Validation
Risk
Low. Fixture-only change; no production impact. Descriptor behavior and test assertions are preserved, with deterministic ordering guaranteed.