Skip to content

Conversation

fhussonnois
Copy link
Member

Handles multipart 'null' string as null (no value) for the input

Fixes: #11819

Handles multipart 'null' string as null (no value) for the input

Fixes: #11819
Copy link
Contributor

github-actions bot commented Oct 13, 2025

🐋 Docker image

ghcr.io/kestra-io/kestra-pr:11960
docker run --pull=always --rm -it -p 8080:8080 --user=root -v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp ghcr.io/kestra-io/kestra-pr:11960 server local

🧪 Java Unit Tests

TestsPassed ✅Skipped ⚠️FailedTime ⏱
Java Tests Report3425 ran3412 ✅13 ⚠️0 ❌52m 59s 96ms

Copy link
Member

@loicmathieu loicmathieu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not convinced here as now a String input with the string "null" would be considered a null input which seems wrong to me and is clearly a BC.

A null input should not have any part.

Copy link
Contributor

Tests report quick summary:

totals > tests: 3425, success: 3412, skipped: 13, failed: 0

Project Status Success Skipped Failed
cli success ✅ 72 0 0
core success ✅ 1601 0 0
executor success ✅ 3 0 0
jdbc success ✅ 10 0 0
jdbc-h2 success ✅ 430 0 0
jdbc-mysql success ✅ 432 0 0
jdbc-postgres success ✅ 432 0 0
processor success ✅ 7 0 0
runner-memory success ✅ 1 0 0
scheduler success ✅ 22 0 0
script success ✅ 11 0 0
storage-local success ✅ 62 0 0
webserver success ✅ 337 0 0
worker success ✅ 5 0 0

Flaky tests report quick summary:

totals > tests: 22, success: 17, skipped: 2, failed: 3

Project Status Success Skipped Failed
cli success ✅ 2 0 0
core failed ❌ 2 0 3
jdbc success ✅ 2 0 0
jdbc-h2 success ✅ 2 0 0
jdbc-mysql success ✅ 4 0 0
jdbc-postgres success ✅ 4 0 0
scheduler success ✅ 2 0 0
webserver success ✅ 1 0 0

Failed tests:

core > io.kestra.plugin.core.flow.PauseTest > delayFromInput() failed ❌ in 0.079
java.lang.IllegalArgumentException: Unable to find flow 'pause-duration-from-input'

java.lang.IllegalArgumentException: Unable to find flow 'pause-duration-from-input'
	at io.kestra.core.runners.TestRunnerUtils.lambda$runOneUntilPaused$1(TestRunnerUtils.java:121)
	at java.base/java.util.Optional.orElseThrow(Optional.java:403)
	at io.kestra.core.runners.TestRunnerUtils.runOneUntilPaused(TestRunnerUtils.java:121)
	at io.kestra.plugin.core.flow.PauseTest$Suite.runDurationFromInput(PauseTest.java:201)
	at io.kestra.plugin.core.flow.PauseTest.delayFromInput(PauseTest.java:66)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at io.micronaut.test.extensions.junit5.MicronautJunit5Extension$2.proceed(MicronautJunit5Extension.java:142)
	at io.micronaut.test.extensions.AbstractMicronautExtension.interceptEach(AbstractMicronautExtension.java:162)
	at io.micronaut.test.extensions.AbstractMicronautExtension.interceptTest(AbstractMicronautExtension.java:119)
	at io.micronaut.test.extensions.junit5.MicronautJunit5Extension.interceptTestMethod(MicronautJunit5Extension.java:129)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)

core > io.kestra.plugin.core.flow.PauseTest > parallelDelay() failed ❌ in 0.044
java.lang.IllegalArgumentException: Unable to find flow 'each-parallel-pause'

java.lang.IllegalArgumentException: Unable to find flow 'each-parallel-pause'
	at io.kestra.core.runners.TestRunnerUtils.lambda$runOne$0(TestRunnerUtils.java:79)
	at java.base/java.util.Optional.orElseThrow(Optional.java:403)
	at io.kestra.core.runners.TestRunnerUtils.runOne(TestRunnerUtils.java:79)
	at io.kestra.core.runners.TestRunnerUtils.runOne(TestRunnerUtils.java:66)
	at io.kestra.plugin.core.flow.PauseTest$Suite.runParallelDelay(PauseTest.java:219)
	at io.kestra.plugin.core.flow.PauseTest.parallelDelay(PauseTest.java:72)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at io.micronaut.test.extensions.junit5.MicronautJunit5Extension$2.proceed(MicronautJunit5Extension.java:142)
	at io.micronaut.test.extensions.AbstractMicronautExtension.interceptEach(AbstractMicronautExtension.java:162)
	at io.micronaut.test.extensions.AbstractMicronautExtension.interceptTest(AbstractMicronautExtension.java:119)
	at io.micronaut.test.extensions.junit5.MicronautJunit5Extension.interceptTestMethod(MicronautJunit5Extension.java:129)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.tryRemoveAndExec(ForkJoinPool.java:1351)
	at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:422)
	at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:651)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)

core > io.kestra.plugin.core.flow.PauseTest > delay() failed ❌ in 0.053
java.lang.IllegalArgumentException: Unable to find flow 'pause-delay'

java.lang.IllegalArgumentException: Unable to find flow 'pause-delay'
	at io.kestra.core.runners.TestRunnerUtils.lambda$runOneUntilPaused$1(TestRunnerUtils.java:121)
	at java.base/java.util.Optional.orElseThrow(Optional.java:403)
	at io.kestra.core.runners.TestRunnerUtils.runOneUntilPaused(TestRunnerUtils.java:121)
	at io.kestra.plugin.core.flow.PauseTest$Suite.runDelay(PauseTest.java:183)
	at io.kestra.plugin.core.flow.PauseTest.delay(PauseTest.java:60)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at io.micronaut.test.extensions.junit5.MicronautJunit5Extension$2.proceed(MicronautJunit5Extension.java:142)
	at io.micronaut.test.extensions.AbstractMicronautExtension.interceptEach(AbstractMicronautExtension.java:162)
	at io.micronaut.test.extensions.AbstractMicronautExtension.interceptTest(AbstractMicronautExtension.java:119)
	at io.micronaut.test.extensions.junit5.MicronautJunit5Extension.interceptTestMethod(MicronautJunit5Extension.java:129)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)

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

Labels

None yet

Projects

Status: To review

Development

Successfully merging this pull request may close these issues.

Flow with inputs defaults can be null and will use default

2 participants