@Test
void doesNotRetryOnRandomClientExceptionRx()
{

    Clock clock = mock( Clock.class );
    Logging logging = mock( Logging.class );
    Logger logger = mock( Logger.class );
    when( logging.getLog( anyString() ) ).thenReturn( logger );
    ExponentialBackoffRetryLogic logic = new ExponentialBackoffRetryLogic( RetrySettings.DEFAULT, eventExecutor, clock, logging );
    AtomicBoolean exceptionThrown = new AtomicBoolean( false );
    ClientException exception = Assertions.assertThrows( ClientException.class, () -> await( Mono.from( logic.retryRx( Mono.fromSupplier( () ->
    {
        if ( exceptionThrown.compareAndSet( false, true ) )
        {
            throw randomClientException();
        }
        return "Done";
    } ) ) ) ) );
    assertEquals( "Meeh", exception.getMessage() );
}