From 37abafeab7339db3402bd4cdf802e85e2f32c4c0 Mon Sep 17 00:00:00 2001 From: Shijie Sheng Date: Thu, 7 Nov 2024 11:14:22 -0800 Subject: [PATCH 1/2] add more test --- .../WorkflowServiceTChannel.java | 9 + .../serviceclient/ClientOptionsTest.java | 60 +++ .../IWorkflowServiceBaseTest.java | 67 ++- .../WorkflowServiceTChannelTest.java | 420 +++++++++++++++++- 4 files changed, 550 insertions(+), 6 deletions(-) create mode 100644 src/test/java/com/uber/cadence/serviceclient/ClientOptionsTest.java diff --git a/src/main/java/com/uber/cadence/serviceclient/WorkflowServiceTChannel.java b/src/main/java/com/uber/cadence/serviceclient/WorkflowServiceTChannel.java index d3ac4f1e5..2878e6fac 100644 --- a/src/main/java/com/uber/cadence/serviceclient/WorkflowServiceTChannel.java +++ b/src/main/java/com/uber/cadence/serviceclient/WorkflowServiceTChannel.java @@ -506,6 +506,9 @@ private UpdateDomainResponse updateDomain(UpdateDomainRequest updateRequest) thr if (result.isSetDomainNotActiveError()) { throw result.getDomainNotActiveError(); } + if (result.isSetClientVersionNotSupportedError()) { + throw result.getClientVersionNotSupportedError(); + } throw new TException("UpdateDomain failed with unknown error:" + result); } finally { if (response != null) { @@ -551,6 +554,9 @@ private void deprecateDomain(DeprecateDomainRequest deprecateRequest) throws TEx if (result.isSetDomainNotActiveError()) { throw result.getDomainNotActiveError(); } + if (result.isSetClientVersionNotSupportedError()) { + throw result.getClientVersionNotSupportedError(); + } throw new TException("DeprecateDomain failed with unknown error:" + result); } finally { if (response != null) { @@ -2102,6 +2108,9 @@ private QueryWorkflowResponse queryWorkflow(QueryWorkflowRequest queryRequest) t if (result.isSetQueryFailedError()) { throw result.getQueryFailedError(); } + if (result.isSetLimitExceededError()) { + throw result.getLimitExceededError(); + } if (result.isSetClientVersionNotSupportedError()) { throw result.getClientVersionNotSupportedError(); } diff --git a/src/test/java/com/uber/cadence/serviceclient/ClientOptionsTest.java b/src/test/java/com/uber/cadence/serviceclient/ClientOptionsTest.java new file mode 100644 index 000000000..3f5d4e83c --- /dev/null +++ b/src/test/java/com/uber/cadence/serviceclient/ClientOptionsTest.java @@ -0,0 +1,60 @@ +/** + * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + *

Modifications copyright (C) 2017 Uber Technologies, Inc. + * + *

Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. A copy of the License is located at + * + *

http://aws.amazon.com/apache2.0 + * + *

or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ +package com.uber.cadence.serviceclient; + +import com.uber.cadence.serviceclient.auth.OAuthAuthorizationProvider; +import com.uber.m3.tally.NoopScope; +import com.uber.m3.tally.Scope; +import io.grpc.*; +import java.util.Collections; +import java.util.concurrent.TimeUnit; +import junit.framework.TestCase; + +public class ClientOptionsTest extends TestCase { + + public void testBuilderWithGRPC() { + ManagedChannel channel = + ManagedChannelBuilder.forAddress("localhost", 8080).usePlaintext().build(); + Scope scope = new NoopScope(); + ClientOptions options = + ClientOptions.newBuilder() + .setAuthorizationProvider( + new OAuthAuthorizationProvider( + "clientID", "clientSecret", "https://128.1.1.1", null)) + .setServiceName("serviceName") + .setClientAppName("clientAppName") + .setGRPCChannel(channel) + .setRpcTimeout(TimeUnit.SECONDS.toMillis(10)) + .setRpcLongPollTimeout(TimeUnit.SECONDS.toMillis(10)) + .setQueryRpcTimeout(TimeUnit.SECONDS.toMillis(10)) + .setListArchivedWorkflowRpcTimeout(TimeUnit.SECONDS.toMillis(10)) + .setMetricsScope(scope) + .setTransportHeaders(Collections.singletonMap("transportKey", "value")) + .setHeaders(Collections.singletonMap("key", "value")) + .setIsolationGroup("isolation-group") + .build(); + assertEquals("serviceName", options.getServiceName()); + assertEquals("clientAppName", options.getClientAppName()); + assertEquals(channel, options.getGRPCChannel()); + assertEquals(TimeUnit.SECONDS.toMillis(10), options.getRpcTimeoutMillis()); + assertEquals(TimeUnit.SECONDS.toMillis(10), options.getRpcLongPollTimeoutMillis()); + assertEquals(TimeUnit.SECONDS.toMillis(10), options.getRpcQueryTimeoutMillis()); + assertEquals(TimeUnit.SECONDS.toMillis(10), options.getRpcListArchivedWorkflowTimeoutMillis()); + assertEquals(scope, options.getMetricsScope()); + assertEquals("value", options.getTransportHeaders().get("transportKey")); + assertEquals("value", options.getHeaders().get("key")); + assertEquals("isolation-group", options.getIsolationGroup()); + } +} diff --git a/src/test/java/com/uber/cadence/serviceclient/IWorkflowServiceBaseTest.java b/src/test/java/com/uber/cadence/serviceclient/IWorkflowServiceBaseTest.java index 5e09f0297..de02e485e 100644 --- a/src/test/java/com/uber/cadence/serviceclient/IWorkflowServiceBaseTest.java +++ b/src/test/java/com/uber/cadence/serviceclient/IWorkflowServiceBaseTest.java @@ -27,218 +27,281 @@ public void testGetOptions() { } public void testRegisterDomain() { + assertThrows(UnsupportedOperationException.class, () -> service.RegisterDomain(null)); assertThrows(UnsupportedOperationException.class, () -> service.RegisterDomain(null, null)); } public void testDescribeDomain() { + assertThrows(UnsupportedOperationException.class, () -> service.DescribeDomain(null)); assertThrows(UnsupportedOperationException.class, () -> service.DescribeDomain(null, null)); } public void testListDomains() { + assertThrows(UnsupportedOperationException.class, () -> service.ListDomains(null)); assertThrows(UnsupportedOperationException.class, () -> service.ListDomains(null, null)); } public void testUpdateDomain() { + assertThrows(UnsupportedOperationException.class, () -> service.UpdateDomain(null)); assertThrows(UnsupportedOperationException.class, () -> service.UpdateDomain(null, null)); } public void testDeprecateDomain() { + assertThrows(UnsupportedOperationException.class, () -> service.DeprecateDomain(null)); assertThrows(UnsupportedOperationException.class, () -> service.DeprecateDomain(null, null)); } public void testRestartWorkflowExecution() { + assertThrows(UnsupportedOperationException.class, () -> service.RestartWorkflowExecution(null)); assertThrows( UnsupportedOperationException.class, () -> service.RestartWorkflowExecution(null, null)); } public void testStartWorkflowExecution() { + assertThrows(UnsupportedOperationException.class, () -> service.StartWorkflowExecution(null)); assertThrows( UnsupportedOperationException.class, () -> service.StartWorkflowExecution(null, null)); } public void testStartWorkflowExecutionAsync() { + assertThrows( + UnsupportedOperationException.class, () -> service.StartWorkflowExecutionAsync(null)); assertThrows( UnsupportedOperationException.class, () -> service.StartWorkflowExecutionAsync(null, null)); } public void testGetWorkflowExecutionHistory() { + assertThrows( + UnsupportedOperationException.class, () -> service.GetWorkflowExecutionHistory(null)); assertThrows( UnsupportedOperationException.class, () -> service.GetWorkflowExecutionHistory(null, null)); } public void testPollForDecisionTask() { + assertThrows(UnsupportedOperationException.class, () -> service.PollForDecisionTask(null)); assertThrows( UnsupportedOperationException.class, () -> service.PollForDecisionTask(null, null)); } public void testRespondDecisionTaskCompleted() { + assertThrows( + UnsupportedOperationException.class, () -> service.RespondDecisionTaskCompleted(null)); assertThrows( UnsupportedOperationException.class, () -> service.RespondDecisionTaskCompleted(null, null)); } public void testRespondDecisionTaskFailed() { + assertThrows( + UnsupportedOperationException.class, () -> service.RespondDecisionTaskFailed(null)); assertThrows( UnsupportedOperationException.class, () -> service.RespondDecisionTaskFailed(null, null)); } public void testPollForActivityTask() { + assertThrows(UnsupportedOperationException.class, () -> service.PollForActivityTask(null)); assertThrows( UnsupportedOperationException.class, () -> service.PollForActivityTask(null, null)); } public void testRecordActivityTaskHeartbeat() { + assertThrows( + UnsupportedOperationException.class, () -> service.RecordActivityTaskHeartbeat(null)); assertThrows( UnsupportedOperationException.class, () -> service.RecordActivityTaskHeartbeat(null, null)); } public void testRecordActivityTaskHeartbeatByID() { + assertThrows( + UnsupportedOperationException.class, () -> service.RecordActivityTaskHeartbeatByID(null)); assertThrows( UnsupportedOperationException.class, () -> service.RecordActivityTaskHeartbeatByID(null, null)); } public void testRespondActivityTaskCompleted() { + assertThrows( + UnsupportedOperationException.class, () -> service.RespondActivityTaskCompleted(null)); assertThrows( UnsupportedOperationException.class, () -> service.RespondActivityTaskCompleted(null, null)); } public void testRespondActivityTaskCompletedByID() { + assertThrows( + UnsupportedOperationException.class, () -> service.RespondActivityTaskCompletedByID(null)); assertThrows( UnsupportedOperationException.class, () -> service.RespondActivityTaskCompletedByID(null, null)); } public void testRespondActivityTaskFailed() { + assertThrows( + UnsupportedOperationException.class, () -> service.RespondActivityTaskFailed(null)); assertThrows( UnsupportedOperationException.class, () -> service.RespondActivityTaskFailed(null, null)); } public void testRespondActivityTaskFailedByID() { + assertThrows( + UnsupportedOperationException.class, () -> service.RespondActivityTaskFailedByID(null)); assertThrows( UnsupportedOperationException.class, () -> service.RespondActivityTaskFailedByID(null, null)); } public void testRespondActivityTaskCanceled() { + assertThrows( + UnsupportedOperationException.class, () -> service.RespondActivityTaskCanceled(null)); assertThrows( UnsupportedOperationException.class, () -> service.RespondActivityTaskCanceled(null, null)); } public void testRespondActivityTaskCanceledByID() { + assertThrows( + UnsupportedOperationException.class, () -> service.RespondActivityTaskCanceledByID(null)); assertThrows( UnsupportedOperationException.class, () -> service.RespondActivityTaskCanceledByID(null, null)); } public void testRequestCancelWorkflowExecution() { + assertThrows( + UnsupportedOperationException.class, () -> service.RequestCancelWorkflowExecution(null)); assertThrows( UnsupportedOperationException.class, () -> service.RequestCancelWorkflowExecution(null, null)); } public void testSignalWorkflowExecution() { + assertThrows(UnsupportedOperationException.class, () -> service.SignalWorkflowExecution(null)); assertThrows( UnsupportedOperationException.class, () -> service.SignalWorkflowExecution(null, null)); } public void testSignalWithStartWorkflowExecution() { + assertThrows( + UnsupportedOperationException.class, () -> service.SignalWithStartWorkflowExecution(null)); assertThrows( UnsupportedOperationException.class, () -> service.SignalWithStartWorkflowExecution(null, null)); } public void testSignalWithStartWorkflowExecutionAsync() { + assertThrows( + UnsupportedOperationException.class, + () -> service.SignalWithStartWorkflowExecutionAsync(null)); assertThrows( UnsupportedOperationException.class, () -> service.SignalWithStartWorkflowExecutionAsync(null, null)); } public void testResetWorkflowExecution() { + assertThrows(UnsupportedOperationException.class, () -> service.ResetWorkflowExecution(null)); assertThrows( UnsupportedOperationException.class, () -> service.ResetWorkflowExecution(null, null)); } public void testTerminateWorkflowExecution() { + assertThrows( + UnsupportedOperationException.class, () -> service.TerminateWorkflowExecution(null)); assertThrows( UnsupportedOperationException.class, () -> service.TerminateWorkflowExecution(null, null)); } public void testListOpenWorkflowExecutions() { + assertThrows( + UnsupportedOperationException.class, () -> service.ListOpenWorkflowExecutions(null)); assertThrows( UnsupportedOperationException.class, () -> service.ListOpenWorkflowExecutions(null, null)); } public void testListClosedWorkflowExecutions() { + assertThrows( + UnsupportedOperationException.class, () -> service.ListClosedWorkflowExecutions(null)); assertThrows( UnsupportedOperationException.class, () -> service.ListClosedWorkflowExecutions(null, null)); } public void testListWorkflowExecutions() { + assertThrows(UnsupportedOperationException.class, () -> service.ListWorkflowExecutions(null)); assertThrows( UnsupportedOperationException.class, () -> service.ListWorkflowExecutions(null, null)); } public void testListArchivedWorkflowExecutions() { + assertThrows( + UnsupportedOperationException.class, () -> service.ListArchivedWorkflowExecutions(null)); assertThrows( UnsupportedOperationException.class, () -> service.ListArchivedWorkflowExecutions(null, null)); } public void testScanWorkflowExecutions() { + assertThrows(UnsupportedOperationException.class, () -> service.ScanWorkflowExecutions(null)); assertThrows( UnsupportedOperationException.class, () -> service.ScanWorkflowExecutions(null, null)); } public void testCountWorkflowExecutions() { + assertThrows(UnsupportedOperationException.class, () -> service.CountWorkflowExecutions(null)); assertThrows( UnsupportedOperationException.class, () -> service.CountWorkflowExecutions(null, null)); } public void testGetSearchAttributes() { - assertThrows(UnsupportedOperationException.class, () -> service.GetSearchAttributes(null)); + assertThrows(UnsupportedOperationException.class, () -> service.GetSearchAttributes()); } public void testRespondQueryTaskCompleted() { + assertThrows( + UnsupportedOperationException.class, () -> service.RespondQueryTaskCompleted(null)); assertThrows( UnsupportedOperationException.class, () -> service.RespondQueryTaskCompleted(null, null)); } public void testResetStickyTaskList() { + assertThrows(UnsupportedOperationException.class, () -> service.ResetStickyTaskList(null)); assertThrows( UnsupportedOperationException.class, () -> service.ResetStickyTaskList(null, null)); } public void testQueryWorkflow() { + assertThrows(UnsupportedOperationException.class, () -> service.QueryWorkflow(null)); assertThrows(UnsupportedOperationException.class, () -> service.QueryWorkflow(null, null)); } public void testDescribeWorkflowExecution() { + assertThrows( + UnsupportedOperationException.class, () -> service.DescribeWorkflowExecution(null)); assertThrows( UnsupportedOperationException.class, () -> service.DescribeWorkflowExecution(null, null)); } public void testDescribeTaskList() { + assertThrows(UnsupportedOperationException.class, () -> service.DescribeTaskList(null)); assertThrows(UnsupportedOperationException.class, () -> service.DescribeTaskList(null, null)); } public void testGetClusterInfo() { - assertThrows(UnsupportedOperationException.class, () -> service.GetClusterInfo(null)); + assertThrows(UnsupportedOperationException.class, () -> service.GetClusterInfo()); } public void testGetTaskListsByDomain() { + assertThrows(UnsupportedOperationException.class, () -> service.GetTaskListsByDomain(null)); assertThrows( UnsupportedOperationException.class, () -> service.GetTaskListsByDomain(null, null)); } public void testListTaskListPartitions() { + assertThrows(UnsupportedOperationException.class, () -> service.ListTaskListPartitions(null)); assertThrows( UnsupportedOperationException.class, () -> service.ListTaskListPartitions(null, null)); } public void testRefreshWorkflowTasks() { + assertThrows(UnsupportedOperationException.class, () -> service.RefreshWorkflowTasks(null)); assertThrows( UnsupportedOperationException.class, () -> service.RefreshWorkflowTasks(null, null)); } diff --git a/src/test/java/com/uber/cadence/serviceclient/WorkflowServiceTChannelTest.java b/src/test/java/com/uber/cadence/serviceclient/WorkflowServiceTChannelTest.java index a3a2e739b..b5dc9b4a5 100644 --- a/src/test/java/com/uber/cadence/serviceclient/WorkflowServiceTChannelTest.java +++ b/src/test/java/com/uber/cadence/serviceclient/WorkflowServiceTChannelTest.java @@ -276,6 +276,13 @@ public static Iterable data() { BadRequestError.class, null, }, + { + ResponseCode.Error, + new WorkflowService.ListDomains_result() + .setEntityNotExistError(new EntityNotExistsError("")), + EntityNotExistsError.class, + null, + }, { ResponseCode.Error, new WorkflowService.ListDomains_result() @@ -884,6 +891,20 @@ public static Iterable data() { ServiceBusyError.class, null }, + { + ResponseCode.Error, + new WorkflowService.QueryWorkflow_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.QueryWorkflow_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, { ResponseCode.Error, new WorkflowService.QueryWorkflow_result(), TException.class, null }, @@ -931,6 +952,27 @@ public static Iterable data() { ServiceBusyError.class, null }, + { + ResponseCode.Error, + new WorkflowService.DescribeWorkflowExecution_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.DescribeWorkflowExecution_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.DescribeWorkflowExecution_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, { ResponseCode.Error, new WorkflowService.DescribeWorkflowExecution_result(), @@ -981,6 +1023,20 @@ public static Iterable data() { ServiceBusyError.class, null }, + { + ResponseCode.Error, + new WorkflowService.DescribeTaskList_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.DescribeTaskList_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, { ResponseCode.Error, new WorkflowService.DescribeTaskList_result(), @@ -1078,6 +1134,13 @@ public static Iterable data() { ServiceBusyError.class, null }, + { + ResponseCode.Error, + new WorkflowService.ListTaskListPartitions_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, { ResponseCode.Error, new WorkflowService.ListTaskListPartitions_result(), @@ -1140,6 +1203,13 @@ public static Iterable data() { DomainNotActiveError.class, null }, + { + ResponseCode.Error, + new WorkflowService.UpdateDomain_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, {ResponseCode.Error, new WorkflowService.UpdateDomain_result(), TException.class, null}, }); } @@ -1157,7 +1227,7 @@ public void callbackIsNotSupported() { } @RunWith(Parameterized.class) - public static class GetWorkflowExecutionHistoryWithTimeoutTest + public static class GetWorkflowExecutionHistoryTest extends BaseTest< WorkflowService.GetWorkflowExecutionHistory_result, GetWorkflowExecutionHistoryResponse> { @Parameterized.Parameters(name = "{index}: Response Code {0}, Response {1}") @@ -1199,6 +1269,13 @@ public static Iterable data() { ClientVersionNotSupportedError.class, null }, + { + ResponseCode.Error, + new WorkflowService.GetWorkflowExecutionHistory_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, { ResponseCode.Error, new WorkflowService.GetWorkflowExecutionHistory_result(), @@ -1211,9 +1288,7 @@ public static Iterable data() { @Test public void responseIsHandledCorrectly() throws Exception { testHelper( - () -> - service.GetWorkflowExecutionHistoryWithTimeout( - new GetWorkflowExecutionHistoryRequest(), 1000L)); + () -> service.GetWorkflowExecutionHistory(new GetWorkflowExecutionHistoryRequest())); } @Test @@ -1223,6 +1298,14 @@ public void responseIsHandledCorrectlyWithCallback() throws Exception { service.GetWorkflowExecutionHistoryWithTimeout( new GetWorkflowExecutionHistoryRequest(), callback, 1000L)); } + + @Test + public void responseIsHandledCorrectlyWithTimeout() throws Exception { + testHelper( + () -> + service.GetWorkflowExecutionHistoryWithTimeout( + new GetWorkflowExecutionHistoryRequest(), 1000L)); + } } @RunWith(Parameterized.class) @@ -1289,6 +1372,27 @@ public static Iterable data() { ClientVersionNotSupportedError.class, null }, + { + ResponseCode.Error, + new WorkflowService.StartWorkflowExecutionAsync_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.StartWorkflowExecutionAsync_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.StartWorkflowExecutionAsync_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, { ResponseCode.Error, new WorkflowService.StartWorkflowExecutionAsync_result(), @@ -1382,6 +1486,27 @@ public static Iterable data() { ClientVersionNotSupportedError.class, null }, + { + ResponseCode.Error, + new WorkflowService.StartWorkflowExecution_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.StartWorkflowExecution_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.StartWorkflowExecution_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, { ResponseCode.Error, new WorkflowService.StartWorkflowExecution_result(), @@ -1453,6 +1578,20 @@ public static Iterable data() { ClientVersionNotSupportedError.class, null }, + { + ResponseCode.Error, + new WorkflowService.GetTaskListsByDomain_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.GetTaskListsByDomain_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, { ResponseCode.Error, new WorkflowService.GetTaskListsByDomain_result(), @@ -1510,6 +1649,13 @@ public static Iterable data() { DomainNotActiveError.class, null }, + { + ResponseCode.Error, + new WorkflowService.DeprecateDomain_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, { ResponseCode.Error, new WorkflowService.DeprecateDomain_result(), @@ -1563,6 +1709,27 @@ public static Iterable data() { ServiceBusyError.class, null }, + { + ResponseCode.Error, + new WorkflowService.PollForDecisionTask_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.PollForDecisionTask_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.PollForDecisionTask_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, { ResponseCode.Error, new WorkflowService.PollForDecisionTask_result() @@ -1628,6 +1795,35 @@ public static Iterable data() { EntityNotExistsError.class, null }, + { + ResponseCode.Error, + new WorkflowService.RespondDecisionTaskCompleted_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondDecisionTaskCompleted_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondDecisionTaskCompleted_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError("")), + WorkflowExecutionAlreadyCompletedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondDecisionTaskCompleted_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, { ResponseCode.Error, new WorkflowService.RespondDecisionTaskCompleted_result(), @@ -1687,6 +1883,27 @@ public static Iterable data() { EntityNotExistsError.class, null }, + { + ResponseCode.Error, + new WorkflowService.PollForActivityTask_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.PollForActivityTask_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.PollForActivityTask_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, { ResponseCode.Error, new WorkflowService.PollForActivityTask_result(), @@ -1744,6 +1961,35 @@ public static Iterable data() { EntityNotExistsError.class, null }, + { + ResponseCode.Error, + new WorkflowService.RecordActivityTaskHeartbeat_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RecordActivityTaskHeartbeat_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RecordActivityTaskHeartbeat_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RecordActivityTaskHeartbeat_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError()), + WorkflowExecutionAlreadyCompletedError.class, + null + }, { ResponseCode.Error, new WorkflowService.RecordActivityTaskHeartbeat_result(), @@ -1805,6 +2051,35 @@ public static Iterable data() { EntityNotExistsError.class, null }, + { + ResponseCode.Error, + new WorkflowService.RecordActivityTaskHeartbeatByID_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RecordActivityTaskHeartbeatByID_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RecordActivityTaskHeartbeatByID_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RecordActivityTaskHeartbeatByID_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError()), + WorkflowExecutionAlreadyCompletedError.class, + null + }, { ResponseCode.Error, new WorkflowService.RecordActivityTaskHeartbeatByID_result(), @@ -1862,6 +2137,35 @@ public static Iterable data() { EntityNotExistsError.class, null }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCompleted_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError("")), + WorkflowExecutionAlreadyCompletedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCompleted_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCompleted_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCompleted_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, { ResponseCode.Error, new WorkflowService.RespondActivityTaskCompleted_result(), @@ -1923,6 +2227,35 @@ public static Iterable data() { EntityNotExistsError.class, null }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCompletedByID_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCompletedByID_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCompletedByID_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCompletedByID_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError("")), + WorkflowExecutionAlreadyCompletedError.class, + null + }, { ResponseCode.Error, new WorkflowService.RespondActivityTaskCompletedByID_result(), @@ -1979,6 +2312,35 @@ public static Iterable data() { EntityNotExistsError.class, null }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskFailed_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError("")), + WorkflowExecutionAlreadyCompletedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskFailed_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskFailed_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskFailed_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, { ResponseCode.Error, new WorkflowService.RespondActivityTaskFailed_result(), @@ -2045,6 +2407,35 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskFailedByID_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskFailedByID_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskFailedByID_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskFailedByID_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError("")), + WorkflowExecutionAlreadyCompletedError.class, + null + }, }); } @@ -2526,6 +2917,27 @@ public static Iterable data() { ServiceBusyError.class, null }, + { + ResponseCode.Error, + new WorkflowService.RespondDecisionTaskFailed_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondDecisionTaskFailed_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondDecisionTaskFailed_result() + .setLimitExceededError(new LimitExceededError()), + LimitExceededError.class, + null + }, { ResponseCode.Error, new WorkflowService.RespondDecisionTaskFailed_result(), From 7fcd54308b9987e828a2592565f58e9b089abe0b Mon Sep 17 00:00:00 2001 From: Shijie Sheng Date: Thu, 7 Nov 2024 12:14:36 -0800 Subject: [PATCH 2/2] add test --- .../WorkflowServiceTChannelTest.java | 405 +++++++++++++++++- 1 file changed, 403 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/uber/cadence/serviceclient/WorkflowServiceTChannelTest.java b/src/test/java/com/uber/cadence/serviceclient/WorkflowServiceTChannelTest.java index b5dc9b4a5..8add61525 100644 --- a/src/test/java/com/uber/cadence/serviceclient/WorkflowServiceTChannelTest.java +++ b/src/test/java/com/uber/cadence/serviceclient/WorkflowServiceTChannelTest.java @@ -341,6 +341,34 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.ResetWorkflowExecution_result() + .setEntityNotExistError(new EntityNotExistsError("")), + EntityNotExistsError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ResetWorkflowExecution_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ResetWorkflowExecution_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ResetWorkflowExecution_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, }); } @@ -384,6 +412,42 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.TerminateWorkflowExecution_result() + .setEntityNotExistError(new EntityNotExistsError("")), + EntityNotExistsError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.TerminateWorkflowExecution_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError("")), + WorkflowExecutionAlreadyCompletedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.TerminateWorkflowExecution_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.TerminateWorkflowExecution_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.TerminateWorkflowExecution_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, }); } @@ -440,6 +504,27 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.ListOpenWorkflowExecutions_result() + .setEntityNotExistError(new EntityNotExistsError("")), + EntityNotExistsError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ListOpenWorkflowExecutions_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ListOpenWorkflowExecutions_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, }); } @@ -493,6 +578,20 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.ListClosedWorkflowExecutions_result() + .setEntityNotExistError(new EntityNotExistsError("")), + EntityNotExistsError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ListClosedWorkflowExecutions_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, }); } @@ -546,6 +645,20 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.ListWorkflowExecutions_result() + .setEntityNotExistError(new EntityNotExistsError("")), + EntityNotExistsError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ListWorkflowExecutions_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, }); } @@ -598,6 +711,20 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.ListArchivedWorkflowExecutions_result() + .setEntityNotExistError(new EntityNotExistsError("")), + EntityNotExistsError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ListArchivedWorkflowExecutions_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, }); } @@ -652,6 +779,20 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.ScanWorkflowExecutions_result() + .setEntityNotExistError(new EntityNotExistsError("")), + EntityNotExistsError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ScanWorkflowExecutions_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, }); } @@ -703,6 +844,20 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.CountWorkflowExecutions_result() + .setEntityNotExistError(new EntityNotExistsError("")), + EntityNotExistsError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.CountWorkflowExecutions_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, }); } @@ -849,6 +1004,50 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.ResetStickyTaskList_result() + .setEntityNotExistError(new EntityNotExistsError("")), + EntityNotExistsError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ResetStickyTaskList_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ResetStickyTaskList_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ResetStickyTaskList_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError()), + WorkflowExecutionAlreadyCompletedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ResetStickyTaskList_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError()), + WorkflowExecutionAlreadyCompletedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.ResetStickyTaskList_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, }); } @@ -905,6 +1104,16 @@ public static Iterable data() { ClientVersionNotSupportedError.class, null }, + { + ResponseCode.Error, + new WorkflowService.QueryWorkflow_result() + .setEntityNotExistError(new EntityNotExistsError("")), + EntityNotExistsError.class, + null + }, + { + ResponseCode.Error, new WorkflowService.QueryWorkflow_result(), TException.class, null + }, { ResponseCode.Error, new WorkflowService.QueryWorkflow_result(), TException.class, null }, @@ -955,8 +1164,8 @@ public static Iterable data() { { ResponseCode.Error, new WorkflowService.DescribeWorkflowExecution_result() - .setLimitExceededError(new LimitExceededError("")), - LimitExceededError.class, + .setEntityNotExistError(new EntityNotExistsError("")), + EntityNotExistsError.class, null }, { @@ -1134,6 +1343,13 @@ public static Iterable data() { ServiceBusyError.class, null }, + { + ResponseCode.Error, + new WorkflowService.ListTaskListPartitions_result() + .setEntityNotExistError(new EntityNotExistsError("")), + EntityNotExistsError.class, + null + }, { ResponseCode.Error, new WorkflowService.ListTaskListPartitions_result() @@ -1293,6 +1509,10 @@ public void responseIsHandledCorrectly() throws Exception { @Test public void responseIsHandledCorrectlyWithCallback() throws Exception { + testHelperWithCallback( + callback -> + service.GetWorkflowExecutionHistory( + new GetWorkflowExecutionHistoryRequest(), callback)); testHelperWithCallback( callback -> service.GetWorkflowExecutionHistoryWithTimeout( @@ -1419,6 +1639,13 @@ public void responseIsHandledCorrectWithCallback() throws TChannelError, TExcept new StartWorkflowExecutionAsyncRequest() .setRequest(new StartWorkflowExecutionRequest()), callback)); + testHelperWithCallback( + callback -> + service.StartWorkflowExecutionAsyncWithTimeout( + new StartWorkflowExecutionAsyncRequest() + .setRequest(new StartWorkflowExecutionRequest()), + callback, + 1000L)); } } @@ -1526,6 +1753,10 @@ public void responseIsHandledCorrectWithCallback() throws TChannelError, TExcept testHelperWithCallback( callback -> service.StartWorkflowExecution(new StartWorkflowExecutionRequest(), callback)); + testHelperWithCallback( + callback -> + service.StartWorkflowExecutionWithTimeout( + new StartWorkflowExecutionRequest(), callback, 1000L)); } } @@ -2492,6 +2723,41 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCanceled_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCanceled_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCanceled_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCanceled_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError("")), + WorkflowExecutionAlreadyCompletedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCanceled_result(), + TException.class, + null + } }); } @@ -2553,6 +2819,35 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCanceledByID_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCanceledByID_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCanceledByID_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RespondActivityTaskCanceledByID_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError("")), + WorkflowExecutionAlreadyCompletedError.class, + null + }, }); } @@ -2614,6 +2909,35 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.RequestCancelWorkflowExecution_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RequestCancelWorkflowExecution_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RequestCancelWorkflowExecution_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.RequestCancelWorkflowExecution_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError("")), + WorkflowExecutionAlreadyCompletedError.class, + null + }, }); } @@ -2670,6 +2994,41 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.SignalWorkflowExecution_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.SignalWorkflowExecution_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.SignalWorkflowExecution_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.SignalWorkflowExecution_result() + .setWorkflowExecutionAlreadyCompletedError( + new WorkflowExecutionAlreadyCompletedError("")), + WorkflowExecutionAlreadyCompletedError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.SignalWorkflowExecution_result(), + TException.class, + null + }, }); } @@ -2733,6 +3092,27 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.SignalWithStartWorkflowExecution_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.SignalWithStartWorkflowExecution_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.SignalWithStartWorkflowExecution_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + }, }); } @@ -2857,6 +3237,27 @@ public static Iterable data() { TException.class, null }, + { + ResponseCode.Error, + new WorkflowService.SignalWithStartWorkflowExecutionAsync_result() + .setDomainNotActiveError(new DomainNotActiveError()), + DomainNotActiveError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.SignalWithStartWorkflowExecutionAsync_result() + .setLimitExceededError(new LimitExceededError("")), + LimitExceededError.class, + null + }, + { + ResponseCode.Error, + new WorkflowService.SignalWithStartWorkflowExecutionAsync_result() + .setClientVersionNotSupportedError(new ClientVersionNotSupportedError()), + ClientVersionNotSupportedError.class, + null + } }); }