@Test(groups = "unit", timeOut = TIMEOUT)
public void onBeforeSendRequestNotInvoked() {

    GlobalEndpointManager endpointManager = Mockito.mock(GlobalEndpointManager.class);
    Mockito.doReturn(Completable.complete()).when(endpointManager).refreshLocationAsync(Mockito.eq(null), Mockito.eq(false));
    IRetryPolicyFactory retryPolicyFactory = new RetryPolicy(endpointManager, ConnectionPolicy.GetDefault());
    RxClientCollectionCache rxClientCollectionCache = Mockito.mock(RxClientCollectionCache.class);
    ISessionContainer sessionContainer = Mockito.mock(ISessionContainer.class);
    RenameCollectionAwareClientRetryPolicy renameCollectionAwareClientRetryPolicy = new RenameCollectionAwareClientRetryPolicy(sessionContainer
            , rxClientCollectionCache
            , retryPolicyFactory.getRequestPolicy());
    Exception exception = ReadTimeoutException.INSTANCE;
    RxDocumentServiceRequest dsr = RxDocumentServiceRequest.createFromName(
            OperationType.Create, "/dbs/db/colls/col/docs/docId", ResourceType.Document);
    dsr.requestContext = Mockito.mock(DocumentServiceRequestContext.class);
    Single<IRetryPolicy.ShouldRetryResult> shouldRetry = renameCollectionAwareClientRetryPolicy.shouldRetry(exception);
    validateSuccess(shouldRetry, ShouldRetryValidator.builder()
            .withException(exception)
            .shouldRetry(false)
            .build());
    Mockito.verifyZeroInteractions(endpointManager);
}