### Question:
EventsClientRest extends BaseClientRest implements EventsClient { @Override public void getRunners(RunnersRequest runnersRequest, StreamObserver<Runner> runnersObserver) { String url = buildSportsUrl(runnersRequest.resourcePath()); getRequest(url, runnersRequest, runnersObserver, new RunnersReader()); } EventsClientRest(ConnectionManager connectionManager); @Override void getSports(SportsRequest sportsRequest, StreamObserver<Sport> sportsObserver); @Override void getEvent(EventRequest eventRequest, StreamObserver<Event> eventObserver); @Override void getEvents(EventsRequest eventsRequest, StreamObserver<Event> eventsObserver); @Override void getMarket(MarketRequest marketRequest, StreamObserver<Market> marketObserver); @Override void getMarkets(MarketsRequest marketsRequest, StreamObserver<Market> marketsObserver); @Override void getRunner(RunnerRequest runnerRequest, StreamObserver<Runner> runnerObserver); @Override void getRunners(RunnersRequest runnersRequest, StreamObserver<Runner> runnersObserver);  }### Answer:
@Test @DisplayName("GET runners") void getRunnersTest() { RunnersRequest runnersRequest = mock(RunnersRequest.class); when(runnersRequest.resourcePath()).thenReturn("path"); when(runnersRequest.parameters()).thenReturn(Collections.singletonMap("param", "value")); StreamObserver<Runner> streamObserver = (StreamObserver<Runner>) mock(StreamObserver.class); unit.getRunners(runnersRequest, streamObserver); verify(httpClient).get(eq("https: }