Package io.temporal.testing
Interface TestActivityEnvironment
-
- All Known Implementing Classes:
TestActivityEnvironmentInternal
public interface TestActivityEnvironment
The helper class for unit testing activity implementations. Supports calls toActivity
methods from the tested activities. An example test:
Usepublic interface TestActivity { String activity1(String input); } private static class ActivityImpl implements TestActivity { @Override public String activity1(String input) { return Activity.getExecutionContext().getInfo().getActivityType() + "-" + input; } } @Test public void testSuccess() { testEnvironment.registerActivitiesImplementations(new ActivityImpl()); TestActivity activity = testEnvironment.newActivityStub(TestActivity.class); String result = activity.activity1("input1"); assertEquals("TestActivity::activity1-input1", result); }
TestWorkflowEnvironment
to test a workflow code.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description void
close()
<T> T
newActivityStub(java.lang.Class<T> activityInterface)
Creates a stub that can be used to invoke activities registered throughregisterActivitiesImplementations(Object...)
.<T> T
newActivityStub(java.lang.Class<T> activityInterface, io.temporal.activity.ActivityOptions options)
Creates a stub that can be used to invoke activities registered throughregisterActivitiesImplementations(Object...)
.static TestActivityEnvironment
newInstance()
static TestActivityEnvironment
newInstance(TestEnvironmentOptions options)
<T> T
newLocalActivityStub(java.lang.Class<T> activityInterface, io.temporal.activity.LocalActivityOptions options, java.util.Map<java.lang.String,io.temporal.activity.LocalActivityOptions> activityMethodOptions)
Creates a stub that can be used to invoke activities registered throughregisterActivitiesImplementations(Object...)
.void
registerActivitiesImplementations(java.lang.Object... activityImplementations)
Registers activity implementations to test.void
requestCancelActivity()
Requests activity cancellation.<T> void
setActivityHeartbeatListener(java.lang.Class<T> detailsClass, io.temporal.workflow.Functions.Proc1<T> listener)
Sets a listener that is called every time an activity implementation heartbeats throughActivityExecutionContext.heartbeat(Object)
.<T> void
setActivityHeartbeatListener(java.lang.Class<T> detailsClass, java.lang.reflect.Type detailsType, io.temporal.workflow.Functions.Proc1<T> listener)
Sets a listener that is called every time an activity implementation heartbeats throughActivityExecutionContext.heartbeat(Object)
.
-
-
-
Method Detail
-
newInstance
static TestActivityEnvironment newInstance()
-
newInstance
static TestActivityEnvironment newInstance(TestEnvironmentOptions options)
-
registerActivitiesImplementations
void registerActivitiesImplementations(java.lang.Object... activityImplementations)
Registers activity implementations to test. UsenewActivityStub(Class)
to create stubs that can be used to invoke them.
-
newActivityStub
<T> T newActivityStub(java.lang.Class<T> activityInterface)
Creates a stub that can be used to invoke activities registered throughregisterActivitiesImplementations(Object...)
.- Type Parameters:
T
- Type of the activity interface.- Parameters:
activityInterface
- activity interface class that the object under test implements.- Returns:
- The stub that implements the activity interface.
-
newActivityStub
<T> T newActivityStub(java.lang.Class<T> activityInterface, io.temporal.activity.ActivityOptions options)
Creates a stub that can be used to invoke activities registered throughregisterActivitiesImplementations(Object...)
.- Type Parameters:
T
- Type of the activity interface.- Parameters:
activityInterface
- activity interface class that the object under test implementsoptions
- options that specify the activity invocation parameters- Returns:
- The stub that implements the activity interface.
-
newLocalActivityStub
<T> T newLocalActivityStub(java.lang.Class<T> activityInterface, io.temporal.activity.LocalActivityOptions options, java.util.Map<java.lang.String,io.temporal.activity.LocalActivityOptions> activityMethodOptions)
Creates a stub that can be used to invoke activities registered throughregisterActivitiesImplementations(Object...)
.- Type Parameters:
T
- Type of the activity interface.- Parameters:
activityInterface
- activity interface class that the object under test implementsoptions
- options that specify the activity invocation parametersactivityMethodOptions
- a map keyed on Activity Type Name to its specific invocation parameters. By default the name of an activity type is its method name with the first letter capitalized.- Returns:
- The stub that implements the activity interface.
-
setActivityHeartbeatListener
<T> void setActivityHeartbeatListener(java.lang.Class<T> detailsClass, io.temporal.workflow.Functions.Proc1<T> listener)
Sets a listener that is called every time an activity implementation heartbeats throughActivityExecutionContext.heartbeat(Object)
.- Type Parameters:
T
- Type of the heartbeat details.- Parameters:
detailsClass
- class of the details passed to theActivityExecutionContext.heartbeat(Object)
.listener
- listener to register.
-
setActivityHeartbeatListener
<T> void setActivityHeartbeatListener(java.lang.Class<T> detailsClass, java.lang.reflect.Type detailsType, io.temporal.workflow.Functions.Proc1<T> listener)
Sets a listener that is called every time an activity implementation heartbeats throughActivityExecutionContext.heartbeat(Object)
.- Type Parameters:
T
- Type of the heartbeat details.- Parameters:
detailsClass
- class of the details passed to theActivityExecutionContext.heartbeat(Object)
.detailsType
- type of the details. Differs for detailsClass for generic types.listener
- listener to register.
-
requestCancelActivity
void requestCancelActivity()
Requests activity cancellation. The cancellation is going to be delivered to the activity on the next heartbeat.
-
close
void close()
-
-