test: add integration tests for DO_WHILE list iteration (issue #624)#824
Open
nthmost-orkes wants to merge 9 commits intomainfrom
Open
test: add integration tests for DO_WHILE list iteration (issue #624)#824nthmost-orkes wants to merge 9 commits intomainfrom
nthmost-orkes wants to merge 9 commits intomainfrom
Conversation
v1r3n
approved these changes
Mar 5, 2026
Add Spock integration tests for the native list iteration mode of DO_WHILE tasks (items parameter, issue #624). Tests cover both normal iteration over a list of items and the edge case of an empty items list completing immediately. Also adds the workflow definition JSON used by the integration tests, using LAMBDA tasks for self-contained testing without external HTTP dependencies.
e17464e to
7bf2f5c
Compare
…pCondition When a DO_WHILE task uses list-iteration mode (items field set, or _items in inputParameters for Orkes compat), the executor auto-generates the loop condition. The validator was incorrectly requiring loopCondition in all cases, blocking workflow definitions that used the list-iteration feature. Fixes #819 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Spring Boot BOM bump fixes: - CVE-2025-48988: Tomcat DoS in multipart upload - CVE-2025-48989: Tomcat HTTP/2 MadeYouReset DoS - CVE-2025-55752: Tomcat directory traversal with possible RCE - CVE-2025-22235: Spring Boot EndpointRequest.to() wrong matcher - CVE-2025-41249: Spring Framework annotation detection vulnerability Dependency version constraints added for transitive deps: - CVE-2025-66516: tika-core 3.0.0 -> 3.2.2 (CRITICAL) - CVE-2025-48734: commons-beanutils 1.9.4 -> 1.11.0 - CVE-2025-12183: lz4-java 1.8.0 -> 1.8.1 - CVE-2025-59250: mssql-jdbc 12.6.4 -> 12.8.2.jre11
at.yawk.lz4:lz4-java declares the same Gradle capability as org.lz4:lz4-java. Using a dependency constraint forced org.lz4:lz4-java onto the classpath as a direct dependency, triggering an unresolvable capability conflict with the yawk fork. Moved the version pin to resolutionStrategy.eachDependency which upgrades existing transitive deps without adding a new direct dependency. CVE-2025-12183 mitigation is preserved. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…publisher (#720) * feat: Add configurable workflow status subscription for HTTP webhook publisher * fix: preserve backward-compatible defaults for workflow status publishing
eachDependency alone is insufficient because capability conflicts are resolved during module selection, before version selection runs. at.yawk.lz4:lz4-java:1.8.1 declares Gradle capability org.lz4:lz4-java:1.8.1 in its module metadata. When lz4-java is upgraded to 1.8.1 for CVE-2025-12183, both modules claim the same capability and Gradle deadlocks. Add capabilitiesResolution rule to explicitly prefer org.lz4:lz4-java over the at.yawk fork when both are present, breaking the tie. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
taskResult.getLogs() can return null, causing a NullPointerException that prevents decide(workflowId) from being invoked and blocks subsequent task execution in the workflow. Revives the fix from community PR #334 (closed without merge). Closes #791 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat: Add GENERATE_PDF system task for markdown-to-PDF conversion
Use default TaskDef instead of terminating workflow when definition is missing.
Contributor
Author
|
Rebased on top of #820 (DO_WHILE validator fix) — the tests require that PR's change to allow DO_WHILE tasks with |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
itemsparameter) introduced in issue Epic: Implement native list iteration for DO_WHILE (Q4 Roadmap 2.3) #624do_while_list_iteration_integration_test.json— a self-contained workflow definition using LAMBDA tasks (no external HTTP dependencies)Context
The list iteration feature (
itemsfield on DO_WHILE tasks) was already merged into main. This PR adds the missing integration test coverage in the test-harness.Depends On
Blocked by #820 — The test workflow uses
itemswithoutloopCondition. Until the validator fix in #820 is merged, registering this workflow duringsetup()throws aConstraintViolationExceptionthat causes allDoWhileSpectests to fail. CI will be red until #820 merges.Test plan
Test DO_WHILE list iteration with items parameter iterates over each item— starts workflow with['apple', 'banana', 'cherry'], verifies COMPLETED status, 4 tasks (DO_WHILE iter=3 + 3 LAMBDA executions)Test DO_WHILE list iteration with empty items list completes immediately— starts workflow with[], verifies COMPLETED status, 1 task (DO_WHILE only, no iterations)Closes #624 (integration test coverage)