Skip to content

Commit 81d8766

Browse files
committed
Making quarkus kafka test use reactive jaxrs client
1 parent e6b9fa3 commit 81d8766

File tree

2 files changed

+19
-33
lines changed

2 files changed

+19
-33
lines changed

chapter-5/chapter-5-quarkus-kafka-streams/pom.xml

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -47,23 +47,13 @@
4747
<scope>test</scope>
4848
</dependency>
4949
<dependency>
50-
<groupId>org.jboss.resteasy</groupId>
51-
<artifactId>resteasy-client</artifactId>
52-
<scope>test</scope>
53-
</dependency>
54-
<dependency>
55-
<groupId>io.rest-assured</groupId>
56-
<artifactId>rest-assured</artifactId>
57-
<scope>test</scope>
58-
</dependency>
59-
<dependency>
60-
<groupId>org.awaitility</groupId>
61-
<artifactId>awaitility</artifactId>
50+
<groupId>org.assertj</groupId>
51+
<artifactId>assertj-core</artifactId>
6252
<scope>test</scope>
6353
</dependency>
6454
<dependency>
65-
<groupId>org.assertj</groupId>
66-
<artifactId>assertj-core</artifactId>
55+
<groupId>io.quarkus</groupId>
56+
<artifactId>quarkus-jaxrs-client-reactive</artifactId>
6757
<scope>test</scope>
6858
</dependency>
6959
</dependencies>

chapter-5/chapter-5-quarkus-kafka-streams/src/test/java/org/acme/rest/PriceResourceTest.java

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
11
package org.acme.rest;
22

33
import static org.assertj.core.api.Assertions.assertThat;
4-
import static org.awaitility.Awaitility.await;
54

65
import java.net.URI;
76
import java.time.Duration;
87
import java.util.List;
9-
import java.util.concurrent.CopyOnWriteArrayList;
108

11-
import javax.ws.rs.client.Client;
129
import javax.ws.rs.client.ClientBuilder;
13-
import javax.ws.rs.client.WebTarget;
14-
import javax.ws.rs.sse.SseEventSource;
10+
import javax.ws.rs.core.MediaType;
1511

12+
import org.jboss.resteasy.reactive.client.impl.MultiInvoker;
1613
import org.junit.jupiter.api.Test;
1714

1815
import io.quarkus.test.common.http.TestHTTPEndpoint;
1916
import io.quarkus.test.common.http.TestHTTPResource;
2017
import io.quarkus.test.junit.QuarkusTest;
18+
import io.smallrye.mutiny.helpers.test.AssertSubscriber;
2119

2220
@QuarkusTest
2321
class PriceResourceTest {
@@ -26,20 +24,18 @@ class PriceResourceTest {
2624
URI uri;
2725

2826
@Test
29-
void testPricesEventStream() {
30-
Client client = ClientBuilder.newClient();
31-
WebTarget target = client.target(this.uri);
32-
33-
List<Double> received = new CopyOnWriteArrayList<>();
34-
35-
try (SseEventSource source = SseEventSource.target(target).build()) {
36-
source.register(inboundSseEvent -> received.add(Double.valueOf(inboundSseEvent.readData())));
37-
source.open();
38-
39-
await()
40-
.atMost(Duration.ofSeconds(20))
41-
.until(() -> received.size() == 3);
42-
}
27+
public void sseEventStream() {
28+
List<Double> received = ClientBuilder.newClient()
29+
.target(this.uri)
30+
.request(MediaType.SERVER_SENT_EVENTS)
31+
.rx(MultiInvoker.class)
32+
.get(Double.class)
33+
.select().first(3)
34+
.subscribe().withSubscriber(AssertSubscriber.create(3))
35+
.assertSubscribed()
36+
.awaitItems(3, Duration.ofSeconds(20))
37+
.assertCompleted()
38+
.getItems();
4339

4440
assertThat(received)
4541
.hasSize(3)

0 commit comments

Comments
 (0)