Skip to content

Commit

Permalink
Manage the un-register Event Bus consumer.
Browse files Browse the repository at this point in the history
  • Loading branch information
amusarra committed Apr 16, 2024
1 parent 2c7e0fd commit 115919b
Showing 1 changed file with 31 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@
import static org.junit.jupiter.api.Assertions.fail;

import io.quarkus.test.junit.QuarkusTest;
import io.quarkus.vertx.ConsumeEvent;
import io.vertx.core.json.JsonObject;
import io.vertx.mutiny.core.eventbus.EventBus;
import io.vertx.mutiny.core.eventbus.MessageConsumer;
import jakarta.inject.Inject;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;

@QuarkusTest
Expand All @@ -30,6 +31,10 @@ class PublishMessageOnEventBusTest {
JsonObject responseMessage = new JsonObject().put("message",
"Message Response to publish on the event");

MessageConsumer<JsonObject> httpRequestConsumer;

MessageConsumer<JsonObject> httpResponseConsumer;

final String ASSERTION_MESSAGE = "The send message is not as expected";

final String HTTP_REQUEST_VIRTUAL_ADDRESS_TEST = "http-request-test";
Expand Down Expand Up @@ -76,25 +81,43 @@ void testPublishFakeHttpResponseMessageOnEventBus() {

@Test
void testPublishHttpRequestMessageOnEventBus() {
// Registrazione del consumatore per l'indirizzo virtuale dell'evento
httpRequestConsumer = eventBus.consumer(httpRequestVirtualAddress);

// Registrazione del gestore per i messaggi ricevuti
httpRequestConsumer.handler(message -> {
assertEquals(requestMessage, message.body());
});

// Publish the messages on the event bus for the HTTP request and response
eventBus.publish(httpRequestVirtualAddress, requestMessage);
assertTrue(true);
}

@Test
void testPublishHttpResponseMessageOnEventBus() {
// Registrazione del consumatore per l'indirizzo virtuale dell'evento
httpResponseConsumer = eventBus.consumer(httpResponseVirtualAddress);

// Registrazione del gestore per i messaggi ricevuti
httpResponseConsumer.handler(message -> {
assertEquals(responseMessage, message.body());
});

// Publish the messages on the event bus for the HTTP request and response
eventBus.publish(httpResponseVirtualAddress, responseMessage);
assertTrue(true);
}

@ConsumeEvent("http-request")
void onHttpRequest(JsonObject message) {
assertEquals(requestMessage, message);
}
@AfterEach
public void tearDown() {
// De-registra i consumatori dell'evento bus
if (httpRequestConsumer != null) {
httpRequestConsumer.unregisterAndAwait();
}

@ConsumeEvent("http-response")
void onHttpRespone(JsonObject message) {
assertEquals(responseMessage, message);
if (httpResponseConsumer != null) {
httpResponseConsumer.unregisterAndAwait();
}
}
}

0 comments on commit 115919b

Please sign in to comment.