Skip to content

Commit 5d923a7

Browse files
author
Daniel Bustamante Ospina
committed
Fix test in CI
1 parent 03aa804 commit 5d923a7

File tree

3 files changed

+47
-42
lines changed

3 files changed

+47
-42
lines changed

async/async-rabbit/src/test/java/org/reactivecommons/async/rabbit/listeners/ApplicationCommandListenerPerfTest.java

Lines changed: 12 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.reactivecommons.async.commons.converters.json.DefaultObjectMapperSupplier;
2525
import org.reactivecommons.async.rabbit.converters.json.JacksonMessageConverter;
2626
import org.reactivecommons.async.commons.ext.CustomReporter;
27+
import org.reactivecommons.async.utils.TestUtils;
2728
import reactor.core.publisher.Flux;
2829
import reactor.core.publisher.Mono;
2930
import reactor.rabbitmq.*;
@@ -97,14 +98,7 @@ public void shouldProcessMessagesInOptimalTime() throws JsonProcessingException,
9798
);
9899
messageListener = new StubGenericMessageListener("test-queue", reactiveMessageListener, true, 10, discardNotifier, "command", handlerResolver, messageConverter, errorReporter);
99100
Flux<AcknowledgableDelivery> messageFlux = createSource(messageCount);
100-
final AtomicBoolean flag = new AtomicBoolean(true);
101-
when(receiver.consumeManualAck(Mockito.anyString(), any(ConsumeOptions.class))).thenAnswer(invocation -> defer(() -> {
102-
if (flag.getAndSet(false)) {
103-
return messageFlux;
104-
} else {
105-
return Flux.never();
106-
}
107-
}));
101+
TestUtils.instructSafeReceiverMock(receiver, messageFlux);
108102

109103
messageListener.startListener();
110104
final long init = System.currentTimeMillis();
@@ -133,14 +127,7 @@ public void shouldProcessAsyncMessagesConcurrent() throws JsonProcessingExceptio
133127
);
134128
messageListener = new StubGenericMessageListener("test-queue", reactiveMessageListener, true, 10, discardNotifier, "command", handlerResolver, messageConverter, errorReporter);
135129
Flux<AcknowledgableDelivery> messageFlux = createSource(messageCount);
136-
final AtomicBoolean flag = new AtomicBoolean(true);
137-
when(receiver.consumeManualAck(Mockito.anyString(), any(ConsumeOptions.class))).thenAnswer(invocation -> defer(() -> {
138-
if (flag.getAndSet(false)) {
139-
return messageFlux;
140-
} else {
141-
return Flux.never();
142-
}
143-
}));
130+
TestUtils.instructSafeReceiverMock(receiver, messageFlux);
144131
System.out.println("Permits before: " + semaphore.availablePermits());
145132
final long init = System.currentTimeMillis();
146133
messageListener.startListener();
@@ -205,14 +192,9 @@ public void shouldProcessCPUMessagesInParallel() throws JsonProcessingException,
205192
reactiveMessageListener = new ReactiveMessageListener(receiver, topologyCreator, 250, 250);
206193
messageListener = new StubGenericMessageListener("test-queue", reactiveMessageListener, true, 10, discardNotifier, "command", handlerResolver, messageConverter, errorReporter);
207194
Flux<AcknowledgableDelivery> messageFlux = createSource(messageCount);
208-
final AtomicBoolean flag = new AtomicBoolean(true);
209-
when(receiver.consumeManualAck(Mockito.anyString(), any(ConsumeOptions.class))).thenAnswer(invocation -> defer(() -> {
210-
if (flag.getAndSet(false)) {
211-
return messageFlux;
212-
} else {
213-
return Flux.never();
214-
}
215-
}));
195+
196+
TestUtils.instructSafeReceiverMock(receiver, messageFlux);
197+
216198
System.out.println("Permits before: " + semaphore.availablePermits());
217199
final long init = System.currentTimeMillis();
218200
messageListener.startListener();
@@ -238,14 +220,9 @@ public void shouldProcessCPUWorkMessagesInParallel() throws JsonProcessingExcept
238220
reactiveMessageListener = new ReactiveMessageListener(receiver, topologyCreator, 500, 250);
239221
messageListener = new StubGenericMessageListener("test-queue", reactiveMessageListener, true, 10, discardNotifier, "command", handlerResolver, messageConverter, errorReporter);
240222
Flux<AcknowledgableDelivery> messageFlux = createSource(messageCount);
241-
final AtomicBoolean flag = new AtomicBoolean(true);
242-
when(receiver.consumeManualAck(Mockito.anyString(), any(ConsumeOptions.class))).thenAnswer(invocation -> defer(() -> {
243-
if (flag.getAndSet(false)) {
244-
return messageFlux;
245-
} else {
246-
return Flux.never();
247-
}
248-
}));
223+
224+
TestUtils.instructSafeReceiverMock(receiver, messageFlux);
225+
249226
System.out.println("Permits before: " + semaphore.availablePermits());
250227
final long init = System.currentTimeMillis();
251228
messageListener.startListener();
@@ -271,14 +248,9 @@ public void shouldProcessPasiveBlockingMessagesInParallel() throws JsonProcessin
271248
reactiveMessageListener = new ReactiveMessageListener(receiver, topologyCreator, 500, 250);
272249
messageListener = new StubGenericMessageListener("test-queue", reactiveMessageListener, true, 10, discardNotifier, "command", handlerResolver, messageConverter, errorReporter);
273250
Flux<AcknowledgableDelivery> messageFlux = createSource(messageCount);
274-
final AtomicBoolean flag = new AtomicBoolean(true);
275-
when(receiver.consumeManualAck(Mockito.anyString(), any(ConsumeOptions.class))).thenAnswer(invocation -> defer(() -> {
276-
if (flag.getAndSet(false)) {
277-
return messageFlux;
278-
} else {
279-
return Flux.never();
280-
}
281-
}));
251+
252+
TestUtils.instructSafeReceiverMock(receiver, messageFlux);
253+
282254
System.out.println("Permits before: " + semaphore.availablePermits());
283255
final long init = System.currentTimeMillis();
284256
messageListener.startListener();

async/async-rabbit/src/test/java/org/reactivecommons/async/rabbit/listeners/ListenerReporterTestSuperClass.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,15 @@
2323
import org.reactivecommons.async.commons.converters.json.DefaultObjectMapperSupplier;
2424
import org.reactivecommons.async.rabbit.converters.json.JacksonMessageConverter;
2525
import org.reactivecommons.async.commons.ext.CustomReporter;
26+
import org.reactivecommons.async.utils.TestUtils;
2627
import reactor.core.publisher.Flux;
2728
import reactor.rabbitmq.*;
2829

2930
import java.util.*;
3031
import java.util.concurrent.ConcurrentHashMap;
3132
import java.util.concurrent.Semaphore;
3233
import java.util.concurrent.TimeUnit;
34+
import java.util.concurrent.atomic.AtomicBoolean;
3335
import java.util.function.Function;
3436
import java.util.stream.Collectors;
3537
import java.util.stream.Stream;
@@ -39,6 +41,7 @@
3941
import static org.assertj.core.api.Assertions.assertThat;
4042
import static org.mockito.ArgumentMatchers.any;
4143
import static org.mockito.Mockito.*;
44+
import static reactor.core.publisher.Flux.defer;
4245
import static reactor.core.publisher.Mono.empty;
4346
import static reactor.core.publisher.Mono.just;
4447

@@ -90,8 +93,7 @@ protected void assertSendErrorToCustomReporter(HandlerRegistry handlerRegistry,
9093

9194
messageListener = createMessageListener(handlerResolver);
9295

93-
Flux<AcknowledgableDelivery> messageFlux = source;
94-
when(receiver.consumeManualAck(Mockito.anyString(), any(ConsumeOptions.class))).thenReturn(messageFlux);
96+
TestUtils.instructSafeReceiverMock(receiver, source);
9597

9698
messageListener.startListener();
9799

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package org.reactivecommons.async.utils;
2+
3+
import org.mockito.Mockito;
4+
import reactor.core.publisher.Flux;
5+
import reactor.rabbitmq.AcknowledgableDelivery;
6+
import reactor.rabbitmq.ConsumeOptions;
7+
import reactor.rabbitmq.Receiver;
8+
9+
import java.util.concurrent.atomic.AtomicBoolean;
10+
11+
import static org.mockito.ArgumentMatchers.any;
12+
import static org.mockito.Mockito.when;
13+
import static reactor.core.publisher.Flux.defer;
14+
15+
public class TestUtils {
16+
17+
private TestUtils() {
18+
}
19+
20+
public static void instructSafeReceiverMock(final Receiver receiver, final Flux<AcknowledgableDelivery> source) {
21+
final AtomicBoolean flag = new AtomicBoolean(true);
22+
when(receiver.consumeManualAck(Mockito.anyString(), any(ConsumeOptions.class))).thenAnswer(invocation -> defer(() -> {
23+
if (flag.getAndSet(false)) {
24+
return source;
25+
} else {
26+
return Flux.never();
27+
}
28+
}));
29+
}
30+
31+
}

0 commit comments

Comments
 (0)