@Test
public void testMessageHeader() {

    String topic = UUID.randomUUID().toString();
    Map<String, Object> config = new HashMap<>();
    config.put("address", topic);
    EventBusSource source = new EventBusSource(vertx,
            new VertxEventBusConnectorIncomingConfiguration(new MapBasedConfig(config)));
    Multi<? extends EventBusMessage<?>> multi = Multi.createFrom().publisher(source.source().buildRs())
            .onItem().transform(x -> (EventBusMessage<?>) x);
    List<EventBusMessage<?>> messages1 = new ArrayList<>();
    multi.subscribe().with(messages1::add);
    vertx.eventBus().sendAndForget(topic, 1, new DeliveryOptions()
            .addHeader("X-key", "value"));
    await().until(() -> messages1.size() == 1);
    EventBusMessage<?> message = messages1.get(0);
    assertThat(message.getHeader("X-key")).contains("value");
    assertThat(message.getHeaders("X-key")).containsExactly("value");
    assertThat(message.getAddress()).isEqualTo(topic);
    assertThat(message.unwrap()).isNotNull();
    assertThat(message.getReplyAddress()).isEmpty();
}