From 12843f1db51418fbb4466f2ad3a850368c8c9f0a Mon Sep 17 00:00:00 2001 From: Cassandra Coyle Date: Wed, 11 Jun 2025 13:59:05 -0500 Subject: [PATCH 1/2] pull out logical changes from @salaboy's PR to release it Signed-off-by: Cassandra Coyle --- .../io/dapr/workflows/WorkflowContext.java | 5 +---- .../runtime/DefaultWorkflowContext.java | 6 ++++++ .../workflows/DefaultWorkflowContextTest.java | 19 +++++++++++-------- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/sdk-workflows/src/main/java/io/dapr/workflows/WorkflowContext.java b/sdk-workflows/src/main/java/io/dapr/workflows/WorkflowContext.java index f649f0086d..9994cb7792 100644 --- a/sdk-workflows/src/main/java/io/dapr/workflows/WorkflowContext.java +++ b/sdk-workflows/src/main/java/io/dapr/workflows/WorkflowContext.java @@ -347,10 +347,7 @@ default Task> anyOf(Task... tasks) { * @param zonedDateTime timestamp with specific zone when the timer should expire * @return a new {@code Task} that completes after the specified delay */ - default Task createTimer(ZonedDateTime zonedDateTime) { - throw new UnsupportedOperationException("This method is not implemented."); - } - + Task createTimer(ZonedDateTime zonedDateTime); /** * Gets the deserialized input of the current task orchestration. diff --git a/sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowContext.java b/sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowContext.java index f6964b6d2f..40875737f7 100644 --- a/sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowContext.java +++ b/sdk-workflows/src/main/java/io/dapr/workflows/runtime/DefaultWorkflowContext.java @@ -30,6 +30,7 @@ import java.time.Duration; import java.time.Instant; +import java.time.ZonedDateTime; import java.util.List; import java.util.UUID; @@ -186,6 +187,11 @@ public Task createTimer(Duration duration) { return this.innerContext.createTimer(duration); } + @Override + public Task createTimer(ZonedDateTime zonedDateTime) { + return this.innerContext.createTimer(zonedDateTime); + } + /** * {@inheritDoc} */ diff --git a/sdk-workflows/src/test/java/io/dapr/workflows/DefaultWorkflowContextTest.java b/sdk-workflows/src/test/java/io/dapr/workflows/DefaultWorkflowContextTest.java index 54265c7411..ba0deb3b4a 100644 --- a/sdk-workflows/src/test/java/io/dapr/workflows/DefaultWorkflowContextTest.java +++ b/sdk-workflows/src/test/java/io/dapr/workflows/DefaultWorkflowContextTest.java @@ -35,14 +35,10 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; -import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.mockito.Mockito.*; public class DefaultWorkflowContextTest { private DefaultWorkflowContext context; @@ -120,6 +116,11 @@ public Task createTimer(Duration duration) { return null; } + @Override + public Task createTimer(ZonedDateTime zonedDateTime) { + return null; + } + @Override public V getInput(Class targetType) { return null; @@ -265,8 +266,10 @@ public void createTimerTest() { } @Test - public void createTimerWithZonedDateTimeThrowsTest() { - assertThrows(UnsupportedOperationException.class, () -> context.createTimer(ZonedDateTime.now())); + public void createTimerWithZonedDateTimeTest() { + ZonedDateTime now = ZonedDateTime.now(); + context.createTimer(now); + verify(mockInnerContext, times(1)).createTimer(now); } @Test From cbfbbbfcbdae1218e1fb816f2db8d9f71396a7f2 Mon Sep 17 00:00:00 2001 From: Cassandra Coyle Date: Wed, 11 Jun 2025 14:06:01 -0500 Subject: [PATCH 2/2] add missing import Signed-off-by: Cassandra Coyle --- .../test/java/io/dapr/workflows/DefaultWorkflowContextTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/sdk-workflows/src/test/java/io/dapr/workflows/DefaultWorkflowContextTest.java b/sdk-workflows/src/test/java/io/dapr/workflows/DefaultWorkflowContextTest.java index 580fafa648..15e8c8449e 100644 --- a/sdk-workflows/src/test/java/io/dapr/workflows/DefaultWorkflowContextTest.java +++ b/sdk-workflows/src/test/java/io/dapr/workflows/DefaultWorkflowContextTest.java @@ -38,6 +38,7 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq;