@Test
public void shouldExecuteMonitorableRequest() {

    TaskMonitor monitor = mock(TaskMonitor.class);
    given(httpClient.sendRequest(anyString(), any(Request.class))).willReturn(ANY_TASK_RESOURCE);
    given(adaptor.buildResource(anyString(), eq(TaskResource.class))).willReturn(new TaskResource());
    given(supplier.get()).willReturn(monitor);
    given(monitor.execute(any(BaseClient.class), any(TaskResource.class), anyInt())).willReturn(new TaskResource());
    Request request = new Request(HttpMethod.GET, ANY_URI_STRING);
    this.baseClient.executeMonitorableRequest(request);
    then(httpClient).should().sendRequest(anyString(), eq(request));
}