Skip to content

Commit e2c60a1

Browse files
authored
Improve reactive retry tests stability (#1458)
1 parent 00bd2de commit e2c60a1

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

driver/src/test/java/org/neo4j/driver/internal/util/ImmediateSchedulingEventExecutor.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
package org.neo4j.driver.internal.util;
2020

2121
import static java.util.Collections.unmodifiableList;
22-
import static org.mockito.Mockito.mock;
2322

2423
import io.netty.util.concurrent.EventExecutor;
2524
import io.netty.util.concurrent.EventExecutorGroup;
@@ -148,17 +147,24 @@ public <T> Future<T> submit(Callable<T> task) {
148147

149148
@Override
150149
public ScheduledFuture<?> schedule(Runnable command, long delay, TimeUnit unit) {
151-
scheduleDelays.add(unit.toMillis(delay));
152-
delegate.execute(command);
153-
return mock(ScheduledFuture.class);
150+
var delayMillis = unit.toMillis(delay);
151+
scheduleDelays.add(delayMillis);
152+
if (delayMillis > 100) {
153+
// Ensure there is some delay to prevent Mono.delayElement going silent (reactor-core 3.5.7)
154+
delayMillis = 100;
155+
}
156+
return delegate.schedule(command, delayMillis, TimeUnit.MILLISECONDS);
154157
}
155158

156159
@Override
157-
@SuppressWarnings("unchecked")
158160
public <V> ScheduledFuture<V> schedule(Callable<V> callable, long delay, TimeUnit unit) {
159-
scheduleDelays.add(unit.toMillis(delay));
160-
delegate.submit(callable);
161-
return mock(ScheduledFuture.class);
161+
var delayMillis = unit.toMillis(delay);
162+
scheduleDelays.add(delayMillis);
163+
if (delayMillis > 100) {
164+
// Ensure there is some delay to prevent Mono.delayElement going silent (reactor-core 3.5.7)
165+
delayMillis = 100;
166+
}
167+
return delegate.schedule(callable, delayMillis, TimeUnit.MILLISECONDS);
162168
}
163169

164170
@Override

0 commit comments

Comments
 (0)