21
21
package io .temporal .worker ;
22
22
23
23
import static org .junit .Assert .assertEquals ;
24
+ import static org .junit .Assert .assertSame ;
24
25
import static org .junit .Assert .assertThrows ;
26
+ import static org .mockito .Mockito .mock ;
25
27
26
28
import io .temporal .worker .tuning .*;
29
+ import java .time .Duration ;
27
30
import org .junit .Test ;
28
31
29
32
public class WorkerOptionsTest {
@@ -50,6 +53,61 @@ public void verifyWorkerOptionsEquality() {
50
53
assertEquals (w1 , w2 );
51
54
}
52
55
56
+ @ Test
57
+ public void verifyNewBuilderFromExistingWorkerOptions () {
58
+ WorkerOptions w1 =
59
+ WorkerOptions .newBuilder ()
60
+ .setMaxWorkerActivitiesPerSecond (100 )
61
+ .setMaxConcurrentActivityExecutionSize (1000 )
62
+ .setMaxConcurrentWorkflowTaskExecutionSize (500 )
63
+ .setMaxConcurrentLocalActivityExecutionSize (200 )
64
+ .setWorkerTuner (mock (WorkerTuner .class ))
65
+ .setMaxTaskQueueActivitiesPerSecond (50 )
66
+ .setMaxConcurrentWorkflowTaskPollers (4 )
67
+ .setMaxConcurrentActivityTaskPollers (3 )
68
+ .setLocalActivityWorkerOnly (false )
69
+ .setDefaultDeadlockDetectionTimeout (2 )
70
+ .setMaxHeartbeatThrottleInterval (Duration .ofSeconds (10 ))
71
+ .setDefaultHeartbeatThrottleInterval (Duration .ofSeconds (7 ))
72
+ .setStickyQueueScheduleToStartTimeout (Duration .ofSeconds (60 ))
73
+ .setDisableEagerExecution (false )
74
+ .setUseBuildIdForVersioning (false )
75
+ .setBuildId ("build-id" )
76
+ .setStickyTaskQueueDrainTimeout (Duration .ofSeconds (15 ))
77
+ .setIdentity ("worker-identity" )
78
+ .build ();
79
+
80
+ WorkerOptions w2 = WorkerOptions .newBuilder (w1 ).build ();
81
+
82
+ assertEquals (w1 .getMaxWorkerActivitiesPerSecond (), w2 .getMaxWorkerActivitiesPerSecond (), 0 );
83
+ assertEquals (
84
+ w1 .getMaxConcurrentActivityExecutionSize (), w2 .getMaxConcurrentActivityExecutionSize ());
85
+ assertEquals (
86
+ w1 .getMaxConcurrentWorkflowTaskExecutionSize (),
87
+ w2 .getMaxConcurrentWorkflowTaskExecutionSize ());
88
+ assertEquals (
89
+ w1 .getMaxConcurrentLocalActivityExecutionSize (),
90
+ w2 .getMaxConcurrentLocalActivityExecutionSize ());
91
+ assertSame (w1 .getWorkerTuner (), w2 .getWorkerTuner ());
92
+ assertEquals (
93
+ w1 .getMaxTaskQueueActivitiesPerSecond (), w2 .getMaxTaskQueueActivitiesPerSecond (), 0 );
94
+ assertEquals (
95
+ w1 .getMaxConcurrentWorkflowTaskPollers (), w2 .getMaxConcurrentWorkflowTaskPollers ());
96
+ assertEquals (
97
+ w1 .getMaxConcurrentActivityTaskPollers (), w2 .getMaxConcurrentActivityTaskPollers ());
98
+ assertEquals (w1 .isLocalActivityWorkerOnly (), w2 .isLocalActivityWorkerOnly ());
99
+ assertEquals (w1 .getMaxHeartbeatThrottleInterval (), w2 .getMaxHeartbeatThrottleInterval ());
100
+ assertEquals (
101
+ w1 .getDefaultHeartbeatThrottleInterval (), w2 .getDefaultHeartbeatThrottleInterval ());
102
+ assertEquals (
103
+ w1 .getStickyQueueScheduleToStartTimeout (), w2 .getStickyQueueScheduleToStartTimeout ());
104
+ assertEquals (w1 .isEagerExecutionDisabled (), w2 .isEagerExecutionDisabled ());
105
+ assertEquals (w1 .isUsingBuildIdForVersioning (), w2 .isUsingBuildIdForVersioning ());
106
+ assertEquals (w1 .getBuildId (), w2 .getBuildId ());
107
+ assertEquals (w1 .getStickyTaskQueueDrainTimeout (), w2 .getStickyTaskQueueDrainTimeout ());
108
+ assertEquals (w1 .getIdentity (), w2 .getIdentity ());
109
+ }
110
+
53
111
@ Test
54
112
public void canBuildMixedSlotSupplierTuner () {
55
113
ResourceBasedController resourceController =
0 commit comments