Polish MessageListenerContainerObservationTests

This commit is contained in:
Sam Brannen 2023-08-14 17:08:56 +02:00
parent 94fe1f4c63
commit 3228502108
1 changed files with 9 additions and 12 deletions

View File

@ -21,7 +21,6 @@ import java.util.concurrent.TimeUnit;
import java.util.stream.Stream; import java.util.stream.Stream;
import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.observation.tck.TestObservationRegistry;
import jakarta.jms.Message;
import jakarta.jms.MessageListener; import jakarta.jms.MessageListener;
import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory; import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;
import org.apache.activemq.artemis.junit.EmbeddedActiveMQExtension; import org.apache.activemq.artemis.junit.EmbeddedActiveMQExtension;
@ -35,6 +34,8 @@ import org.junit.jupiter.params.provider.MethodSource;
import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.core.JmsTemplate;
import static io.micrometer.observation.tck.TestObservationRegistryAssert.assertThat; import static io.micrometer.observation.tck.TestObservationRegistryAssert.assertThat;
import static org.junit.jupiter.api.Named.named;
import static org.junit.jupiter.params.provider.Arguments.arguments;
/** /**
* Observation tests for {@link AbstractMessageListenerContainer} implementations. * Observation tests for {@link AbstractMessageListenerContainer} implementations.
@ -47,7 +48,7 @@ class MessageListenerContainerObservationTests {
TestObservationRegistry registry = TestObservationRegistry.create(); TestObservationRegistry registry = TestObservationRegistry.create();
private ActiveMQConnectionFactory connectionFactory; ActiveMQConnectionFactory connectionFactory;
@BeforeEach @BeforeEach
void setupServer() { void setupServer() {
@ -55,21 +56,16 @@ class MessageListenerContainerObservationTests {
connectionFactory = new ActiveMQConnectionFactory(server.getVmURL()); connectionFactory = new ActiveMQConnectionFactory(server.getVmURL());
} }
@ParameterizedTest(name = "{index} {0}") @ParameterizedTest(name = "[{index}] {0}")
@MethodSource("listenerContainers") @MethodSource("listenerContainers")
void shouldRecordJmsProcessObservations(String implementationClass, AbstractMessageListenerContainer listenerContainer) throws Exception { void shouldRecordJmsProcessObservations(AbstractMessageListenerContainer listenerContainer) throws Exception {
JmsTemplate jmsTemplate = new JmsTemplate(connectionFactory); JmsTemplate jmsTemplate = new JmsTemplate(connectionFactory);
jmsTemplate.convertAndSend("spring.test.observation", "message content"); jmsTemplate.convertAndSend("spring.test.observation", "message content");
CountDownLatch latch = new CountDownLatch(1); CountDownLatch latch = new CountDownLatch(1);
listenerContainer.setConnectionFactory(connectionFactory); listenerContainer.setConnectionFactory(connectionFactory);
listenerContainer.setObservationRegistry(registry); listenerContainer.setObservationRegistry(registry);
listenerContainer.setDestinationName("spring.test.observation"); listenerContainer.setDestinationName("spring.test.observation");
listenerContainer.setMessageListener(new MessageListener() { listenerContainer.setMessageListener((MessageListener) message -> latch.countDown());
@Override
public void onMessage(Message message) {
latch.countDown();
}
});
listenerContainer.afterPropertiesSet(); listenerContainer.afterPropertiesSet();
listenerContainer.start(); listenerContainer.start();
latch.await(2, TimeUnit.SECONDS); latch.await(2, TimeUnit.SECONDS);
@ -82,8 +78,8 @@ class MessageListenerContainerObservationTests {
static Stream<Arguments> listenerContainers() { static Stream<Arguments> listenerContainers() {
return Stream.of( return Stream.of(
Arguments.of(DefaultMessageListenerContainer.class.getSimpleName(), new DefaultMessageListenerContainer()), arguments(named(DefaultMessageListenerContainer.class.getSimpleName(), new DefaultMessageListenerContainer())),
Arguments.of(SimpleMessageListenerContainer.class.getSimpleName(), new SimpleMessageListenerContainer()) arguments(named(SimpleMessageListenerContainer.class.getSimpleName(), new SimpleMessageListenerContainer()))
); );
} }
@ -92,4 +88,5 @@ class MessageListenerContainerObservationTests {
connectionFactory.close(); connectionFactory.close();
server.stop(); server.stop();
} }
} }