Verify Pulsar consumer enum values as properties

When providing Pulsar consumer properties as Boot properties,
if there are enum values, verify that they are translated properly
as valid consumer properties.
This commit is contained in:
Soby Chacko
2022-08-30 21:47:42 -04:00
parent bf1dbd9547
commit ada6086cd8

View File

@@ -21,6 +21,7 @@ import static org.mockito.Mockito.mock;
import java.util.concurrent.TimeUnit;
import org.apache.pulsar.client.api.SubscriptionInitialPosition;
import org.apache.pulsar.client.api.interceptor.ProducerInterceptor;
import org.assertj.core.api.InstanceOfAssertFactories;
import org.junit.jupiter.api.Nested;
@@ -54,6 +55,7 @@ import org.springframework.pulsar.listener.DefaultPulsarMessageListenerContainer
*
* @author Chris Bono
* @author Alexander Preuß
* @author Soby Chacko
*/
@SuppressWarnings("unchecked")
class PulsarAutoConfigurationTests {
@@ -139,6 +141,14 @@ class PulsarAutoConfigurationTests {
.isSameAs(consumerFactory));
}
@Test
void pulsarConsumerFactoryWithEnumPropertyValue() {
this.contextRunner.withPropertyValues("spring.pulsar.consumer.subscriptionInitialPosition=Earliest")
.run((context -> assertThat(context).hasNotFailed().getBean(PulsarConsumerFactory.class)
.extracting("consumerConfig").hasFieldOrPropertyWithValue("subscriptionInitialPosition",
SubscriptionInitialPosition.Earliest)));
}
@Test
void customPulsarListenerContainerFactoryIsRespected() {
PulsarListenerContainerFactory<DefaultPulsarMessageListenerContainer<String>> listenerContainerFactory = mock(