WorkerStatusClient implements Closeable { public CompletableFuture<WorkerStatusResponse> getWorkerStatus() { WorkerStatusRequest request = WorkerStatusRequest.newBuilder().setId(idGenerator.getId()).build(); return getWorkerStatus(request); } private  WorkerStatusClient(String workerId, StreamObserver<WorkerStatusRequest> requestReceiver); static WorkerStatusClient forRequestObserver(
      String workerId, StreamObserver<WorkerStatusRequest> requestObserver); CompletableFuture<WorkerStatusResponse> getWorkerStatus(); @Override void close(); boolean isClosed(); String getWorkerId(); StreamObserver<WorkerStatusResponse> getResponseObserver();  }
@Test public void testGetWorkerStatusRequestSent() { CompletableFuture<WorkerStatusResponse> workerStatus = client.getWorkerStatus(); verify(mockObserver).onNext(any(WorkerStatusRequest.class)); }