Skip to content

Commit 38af982

Browse files
authored
Move test code into testing module (#292)
1 parent f7bc07d commit 38af982

39 files changed

+240
-30
lines changed

settings.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
rootProject.name='temporalio'
22
include 'temporal-serviceclient'
33
include 'temporal-sdk'
4+
include 'temporal-testing'

temporal-sdk/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ dependencies {
5151
implementation 'javax.annotation:javax.annotation-api:1.3.2'
5252
}
5353

54+
testImplementation project(':temporal-testing')
5455
testImplementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
5556
testImplementation group: 'com.googlecode.junit-toolbox', name: 'junit-toolbox', version: '2.4'
5657
testImplementation group: 'junit', name: 'junit', version: '4.13.1'

temporal-sdk/src/main/java/io/temporal/failure/FailureConverter.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
import io.temporal.common.converter.DataConverter;
3838
import io.temporal.common.converter.EncodedValues;
3939
import io.temporal.internal.common.CheckedExceptionWrapper;
40-
import io.temporal.testing.SimulatedTimeoutFailure;
4140
import java.io.PrintWriter;
4241
import java.io.StringWriter;
4342
import java.util.Optional;

temporal-sdk/src/main/java/io/temporal/testing/SimulatedTimeoutFailure.java renamed to temporal-sdk/src/main/java/io/temporal/failure/SimulatedTimeoutFailure.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@
1717
* permissions and limitations under the License.
1818
*/
1919

20-
package io.temporal.testing;
20+
package io.temporal.failure;
2121

2222
import com.google.common.annotations.VisibleForTesting;
23-
import io.temporal.failure.TimeoutFailure;
2423

2524
/** Internal do not use in application code. */
2625
@VisibleForTesting

temporal-sdk/src/main/java/io/temporal/internal/statemachines/StateMachineDefinition.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -314,9 +314,8 @@ public String asPlantUMLStateDiagram() {
314314
result.append(finalState);
315315
result.append(" --> [*]\n");
316316
}
317-
int year = Calendar.getInstance().get(Calendar.YEAR);
318317
result.append("center footer Copyright (C) ");
319-
result.append(year);
318+
result.append("2020");
320319
result.append(" Temporal Technologies, Inc. All Rights Reserved.\n");
321320
result.append("@enduml\n");
322321
return result.toString();
@@ -407,9 +406,8 @@ public String asPlantUMLStateDiagramCoverage(
407406
result.append(finalState);
408407
result.append(" --> [*]\n");
409408
}
410-
int year = Calendar.getInstance().get(Calendar.YEAR);
411409
result.append("center footer Copyright (C) ");
412-
result.append(year);
410+
result.append("2020");
413411
result.append(" Temporal Technologies, Inc. All Rights Reserved.\n");
414412
result.append("@enduml\n");
415413
return result.toString();

temporal-sdk/src/main/java/io/temporal/internal/sync/ActivityInvocationHandler.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
package io.temporal.internal.sync;
2121

22+
import com.google.common.annotations.VisibleForTesting;
2223
import io.temporal.activity.ActivityOptions;
2324
import io.temporal.common.MethodRetry;
2425
import io.temporal.common.interceptors.WorkflowOutboundCallsInterceptor;
@@ -27,11 +28,13 @@
2728
import java.lang.reflect.Method;
2829
import java.util.function.Function;
2930

30-
class ActivityInvocationHandler extends ActivityInvocationHandlerBase {
31+
@VisibleForTesting
32+
public class ActivityInvocationHandler extends ActivityInvocationHandlerBase {
3133
private final ActivityOptions options;
3234
private final WorkflowOutboundCallsInterceptor activityExecutor;
3335

34-
static InvocationHandler newInstance(
36+
@VisibleForTesting
37+
public static InvocationHandler newInstance(
3538
Class<?> activityInterface,
3639
ActivityOptions options,
3740
WorkflowOutboundCallsInterceptor activityExecutor) {

temporal-sdk/src/main/java/io/temporal/internal/sync/ActivityInvocationHandlerBase.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import static io.temporal.internal.common.InternalUtils.getValueOrDefault;
2323

24+
import com.google.common.annotations.VisibleForTesting;
2425
import io.temporal.common.MethodRetry;
2526
import io.temporal.internal.sync.AsyncInternal.AsyncMarker;
2627
import java.lang.reflect.InvocationHandler;
@@ -31,12 +32,14 @@
3132
import java.util.function.Function;
3233

3334
/** Dynamic implementation of a strongly typed activity interface. */
34-
abstract class ActivityInvocationHandlerBase implements InvocationHandler {
35+
@VisibleForTesting
36+
public abstract class ActivityInvocationHandlerBase implements InvocationHandler {
3537

3638
private final Map<Method, Function<Object[], Object>> methodFunctions = new HashMap<>();
3739

40+
@VisibleForTesting
3841
@SuppressWarnings("unchecked")
39-
static <T> T newProxy(Class<T> activityInterface, InvocationHandler invocationHandler) {
42+
public static <T> T newProxy(Class<T> activityInterface, InvocationHandler invocationHandler) {
4043
return (T)
4144
Proxy.newProxyInstance(
4245
activityInterface.getClassLoader(),

temporal-sdk/src/main/java/io/temporal/internal/sync/DeterministicRunnerWrapper.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,20 @@
1919

2020
package io.temporal.internal.sync;
2121

22+
import com.google.common.annotations.VisibleForTesting;
2223
import java.lang.reflect.InvocationHandler;
2324
import java.lang.reflect.Method;
2425
import java.util.Objects;
2526
import java.util.concurrent.CompletableFuture;
2627
import java.util.concurrent.ExecutionException;
2728

28-
class DeterministicRunnerWrapper implements InvocationHandler {
29+
@VisibleForTesting
30+
public class DeterministicRunnerWrapper implements InvocationHandler {
2931

3032
private final InvocationHandler invocationHandler;
3133

32-
DeterministicRunnerWrapper(InvocationHandler invocationHandler) {
34+
@VisibleForTesting
35+
public DeterministicRunnerWrapper(InvocationHandler invocationHandler) {
3336
this.invocationHandler = Objects.requireNonNull(invocationHandler);
3437
}
3538

temporal-sdk/src/main/java/io/temporal/internal/sync/LoggingInterceptor.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@
2626
import io.grpc.ServerCallHandler;
2727
import io.grpc.Status;
2828
import io.temporal.internal.common.WorkflowExecutionUtils;
29-
import io.temporal.internal.testservice.TestWorkflowService;
3029
import org.slf4j.Logger;
3130
import org.slf4j.LoggerFactory;
3231

3332
class LoggingInterceptor implements io.grpc.ServerInterceptor {
34-
private static final Logger log = LoggerFactory.getLogger(TestWorkflowService.class);
33+
private static final Logger log = LoggerFactory.getLogger(LoggingInterceptor.class);
3534

3635
@Override
3736
public <ReqT, RespT> ServerCall.Listener<ReqT> interceptCall(

temporal-sdk/src/main/java/io/temporal/internal/sync/POJOActivityTaskHandler.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import io.temporal.common.interceptors.ActivityInboundCallsInterceptor;
3939
import io.temporal.common.interceptors.ActivityInterceptor;
4040
import io.temporal.failure.FailureConverter;
41+
import io.temporal.failure.SimulatedTimeoutFailure;
4142
import io.temporal.failure.TemporalFailure;
4243
import io.temporal.failure.TimeoutFailure;
4344
import io.temporal.internal.common.CheckedExceptionWrapper;
@@ -47,7 +48,6 @@
4748
import io.temporal.internal.worker.ActivityTaskHandler;
4849
import io.temporal.serviceclient.MetricsTag;
4950
import io.temporal.serviceclient.WorkflowServiceStubs;
50-
import io.temporal.testing.SimulatedTimeoutFailure;
5151
import java.lang.reflect.InvocationTargetException;
5252
import java.lang.reflect.Method;
5353
import java.util.Collections;
@@ -61,7 +61,8 @@
6161
import org.slf4j.Logger;
6262
import org.slf4j.LoggerFactory;
6363

64-
final class POJOActivityTaskHandler implements ActivityTaskHandler {
64+
@VisibleForTesting
65+
public final class POJOActivityTaskHandler implements ActivityTaskHandler {
6566

6667
private static final Logger log = LoggerFactory.getLogger(POJOActivityTaskHandler.class);
6768

@@ -74,7 +75,8 @@ final class POJOActivityTaskHandler implements ActivityTaskHandler {
7475
Collections.synchronizedMap(new HashMap<>());
7576
private ActivityTaskExecutor dynamicActivity;
7677

77-
POJOActivityTaskHandler(
78+
@VisibleForTesting
79+
public POJOActivityTaskHandler(
7880
WorkflowServiceStubs service,
7981
String namespace,
8082
DataConverter dataConverter,
@@ -164,7 +166,7 @@ public Set<String> getRegisteredActivityTypes() {
164166
return activities.keySet();
165167
}
166168

167-
void registerActivityImplementations(Object[] activitiesImplementation) {
169+
public void registerActivityImplementations(Object[] activitiesImplementation) {
168170
for (Object activity : activitiesImplementation) {
169171
registerActivityImplementation(activity, POJOActivityImplementation::new);
170172
}

0 commit comments

Comments
 (0)