Skip to content

Commit 44de84c

Browse files
committed
Reproducer for issue 50751
1 parent dd0dccc commit 44de84c

File tree

2 files changed

+67
-0
lines changed

2 files changed

+67
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package io.quarkus.it.kafka;
2+
3+
import jakarta.enterprise.context.ApplicationScoped;
4+
import jakarta.inject.Inject;
5+
6+
import org.eclipse.microprofile.reactive.messaging.Channel;
7+
import org.eclipse.microprofile.reactive.messaging.Emitter;
8+
9+
@ApplicationScoped
10+
public class MessageTransmitter {
11+
12+
@Inject
13+
@Channel("foo.bar-topic")
14+
Emitter<String> emitter;
15+
16+
public void emit(String message) {
17+
emitter.send(message).toCompletableFuture().join();
18+
}
19+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package io.quarkus.it.kafka;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
5+
import java.time.Duration;
6+
import java.util.List;
7+
8+
import jakarta.inject.Inject;
9+
10+
import org.apache.kafka.clients.consumer.ConsumerRecord;
11+
import org.junit.jupiter.api.Tag;
12+
import org.junit.jupiter.api.Test;
13+
import org.junit.jupiter.api.condition.DisabledOnOs;
14+
import org.junit.jupiter.api.condition.OS;
15+
16+
import io.quarkus.test.common.WithTestResource;
17+
import io.quarkus.test.junit.QuarkusTest;
18+
import io.quarkus.test.kafka.InjectKafkaCompanion;
19+
import io.quarkus.test.kafka.KafkaCompanionResource;
20+
import io.smallrye.reactive.messaging.kafka.companion.KafkaCompanion;
21+
22+
@QuarkusTest
23+
@WithTestResource(KafkaCompanionResource.class)
24+
@DisabledOnOs({ OS.WINDOWS }) // Kafka requires docker to start
25+
@Tag("https://github.com/quarkusio/quarkus/issues/50751")
26+
class TransmitterTest {
27+
28+
@Inject
29+
MessageTransmitter messageTransmitter;
30+
31+
@InjectKafkaCompanion
32+
KafkaCompanion companion;
33+
34+
@Test
35+
void dashedTopic() {
36+
String message = "Hello, Quarkus!";
37+
messageTransmitter.emit(message);
38+
39+
List<String> actual = companion.consumeStrings()
40+
.fromTopics("foo.bar-topic")
41+
.awaitRecords(1, Duration.ofSeconds(30))
42+
.stream()
43+
.map(ConsumerRecord::value)
44+
.toList();
45+
assertEquals(1, actual.size());
46+
assertEquals(message, actual.get(0));
47+
}
48+
}

0 commit comments

Comments
 (0)