From 970fdfc30ec4444fba9a2d08856419618db58557 Mon Sep 17 00:00:00 2001 From: kaibocai <89094811+kaibocai@users.noreply.github.com> Date: Sun, 5 Nov 2023 06:10:50 -0600 Subject: [PATCH] add unit test to improve coverage Signed-off-by: kaibocai <89094811+kaibocai@users.noreply.github.com> --- .../DaprWorkflowContextImplTest.java | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/sdk-workflows/src/test/java/io/dapr/workflows/DaprWorkflowContextImplTest.java b/sdk-workflows/src/test/java/io/dapr/workflows/DaprWorkflowContextImplTest.java index 5dbd7a7a18..8c0ce49d44 100644 --- a/sdk-workflows/src/test/java/io/dapr/workflows/DaprWorkflowContextImplTest.java +++ b/sdk-workflows/src/test/java/io/dapr/workflows/DaprWorkflowContextImplTest.java @@ -13,20 +13,25 @@ package io.dapr.workflows; +import com.microsoft.durabletask.CompositeTaskFailedException; import com.microsoft.durabletask.RetryPolicy; import com.microsoft.durabletask.Task; +import com.microsoft.durabletask.TaskCanceledException; import com.microsoft.durabletask.TaskOptions; import com.microsoft.durabletask.TaskOrchestrationContext; +import org.jetbrains.annotations.Nullable; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import java.time.Duration; +import java.time.Instant; import java.time.ZonedDateTime; import java.util.Arrays; import java.util.List; +import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; @@ -37,11 +42,95 @@ public class DaprWorkflowContextImplTest { private DaprWorkflowContextImpl context; private TaskOrchestrationContext mockInnerContext; + private WorkflowContext testWorkflowContext; @BeforeEach public void setUp() { mockInnerContext = mock(TaskOrchestrationContext.class); context = new DaprWorkflowContextImpl(mockInnerContext); + testWorkflowContext = new WorkflowContext() { + @Override + public Logger getLogger() { + return null; + } + + @Override + public String getName() { + return null; + } + + @Override + public String getInstanceId() { + return null; + } + + @Override + public Instant getCurrentInstant() { + return null; + } + + @Override + public void complete(Object output) { + + } + + @Override + public Task waitForExternalEvent(String name, Duration timeout, Class dataType) + throws TaskCanceledException { + return null; + } + + @Override + public Task waitForExternalEvent(String name, Duration timeout) throws TaskCanceledException { + return null; + } + + @Override + public Task waitForExternalEvent(String name) throws TaskCanceledException { + return null; + } + + @Override + public Task callActivity(String name, Object input, TaskOptions options, Class returnType) { + return null; + } + + @Override + public boolean isReplaying() { + return false; + } + + @Override + public Task> allOf(List> tasks) throws CompositeTaskFailedException { + return null; + } + + @Override + public Task> anyOf(List> tasks) { + return null; + } + + @Override + public Task createTimer(Duration duration) { + return null; + } + + @Override + public V getInput(Class targetType) { + return null; + } + + @Override + public Task callSubWorkflow(String name, @Nullable Object input, @Nullable String instanceID, + @Nullable TaskOptions options, Class returnType) { + return null; + } + + @Override + public void continueAsNew(Object input, boolean preserveUnprocessedEvents) { + + } + }; } @Test @@ -213,4 +302,11 @@ public void newUuidTest() { context.newUuid(); verify(mockInnerContext, times(1)).newUUID(); } + + @Test + public void newUuidTestNoImplementationExceptionTest() { + RuntimeException runtimeException = assertThrows(RuntimeException.class, testWorkflowContext::newUuid); + String expectedMessage = "No implementation found."; + assertEquals(expectedMessage, runtimeException.getMessage()); + } }