1313import io .temporal .activity .ActivityInterface ;
1414import io .temporal .activity .ActivityMethod ;
1515import io .temporal .api .enums .v1 .TaskQueueType ;
16+ import io .temporal .api .enums .v1 .WorkerStatus ;
17+ import io .temporal .api .worker .v1 .WorkerHeartbeat ;
1618import io .temporal .api .workflowservice .v1 .GetSystemInfoResponse ;
1719import io .temporal .api .workflowservice .v1 .ShutdownWorkerRequest ;
1820import io .temporal .api .workflowservice .v1 .ShutdownWorkerResponse ;
3133import java .util .Collections ;
3234import java .util .List ;
3335import java .util .concurrent .TimeUnit ;
36+ import java .util .function .Supplier ;
3437import org .junit .Test ;
3538import org .mockito .ArgumentCaptor ;
3639
@@ -121,6 +124,9 @@ public void activeTaskQueueTypesEvaluatedAtShutdownTime() throws Exception {
121124 worker .registerWorkflowImplementationTypes (TestWorkflowImpl .class );
122125 worker .registerActivitiesImplementations (new TestActivityImpl ());
123126 worker .registerNexusServiceImplementation (new TestNexusServiceImpl ());
127+ Supplier <WorkerHeartbeat > heartbeatSupplier =
128+ () -> WorkerHeartbeat .newBuilder ().setStatus (WorkerStatus .WORKER_STATUS_RUNNING ).build ();
129+ worker .setHeartbeatSupplier (heartbeatSupplier );
124130
125131 worker .shutdown (new ShutdownManager (), true ).get (5 , TimeUnit .SECONDS );
126132
@@ -137,5 +143,9 @@ public void activeTaskQueueTypesEvaluatedAtShutdownTime() throws Exception {
137143 assertTrue (
138144 "ShutdownWorkerRequest should include NEXUS type registered after construction" ,
139145 shutdownTypes .contains (TaskQueueType .TASK_QUEUE_TYPE_NEXUS ));
146+ assertEquals (
147+ "ShutdownWorkerRequest heartbeat should report SHUTTING_DOWN" ,
148+ WorkerStatus .WORKER_STATUS_SHUTTING_DOWN ,
149+ captor .getValue ().getWorkerHeartbeat ().getStatus ());
140150 }
141151}
0 commit comments