Skip to content

Commit 17431c4

Browse files
Copilotrujche
andauthored
test: add dedicated service bus connection coverage for consumer and processor
Agent-Logs-Url: https://github.com/Azure/azure-sdk-for-java/sessions/b427b614-03be-4f37-8224-084e99299ed8 Co-authored-by: rujche <171773178+rujche@users.noreply.github.com>
1 parent e519306 commit 17431c4

1 file changed

Lines changed: 51 additions & 0 deletions

File tree

sdk/spring/spring-cloud-azure-autoconfigure/src/test/java/com/azure/spring/cloud/autoconfigure/implementation/servicebus/AzureServiceBusAutoConfigurationTests.java

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
import com.azure.core.amqp.AmqpTransportType;
77
import com.azure.messaging.servicebus.ServiceBusClientBuilder;
8+
import com.azure.messaging.servicebus.ServiceBusProcessorClient;
9+
import com.azure.messaging.servicebus.ServiceBusReceiverClient;
810
import com.azure.messaging.servicebus.ServiceBusSenderClient;
911
import com.azure.messaging.servicebus.models.ServiceBusReceiveMode;
1012
import com.azure.spring.cloud.autoconfigure.implementation.AbstractAzureServiceConfigurationTests;
@@ -174,6 +176,55 @@ void producerDedicatedConnectionStringShouldConfigureWithoutTopLevelConnectionIn
174176
});
175177
}
176178

179+
@Test
180+
void producerDedicatedNamespaceShouldConfigureWithoutTopLevelConnectionInfo() {
181+
this.contextRunner
182+
.withPropertyValues(
183+
"spring.cloud.azure.servicebus.producer.namespace=producer-namespace",
184+
"spring.cloud.azure.servicebus.producer.entity-name=test-queue",
185+
"spring.cloud.azure.servicebus.producer.entity-type=queue"
186+
)
187+
.withBean(AzureGlobalProperties.class, AzureGlobalProperties::new)
188+
.run(context -> {
189+
assertThat(context).hasSingleBean(AzureServiceBusProperties.class);
190+
assertThat(context).hasSingleBean(ServiceBusSenderClient.class);
191+
});
192+
}
193+
194+
@Test
195+
void consumerDedicatedConnectionDetailsShouldConfigureWithoutTopLevelConnectionInfo() {
196+
this.contextRunner
197+
.withPropertyValues(
198+
"spring.cloud.azure.servicebus.consumer.connection-string=" + String.format(CONNECTION_STRING_FORMAT, "consumer-namespace"),
199+
"spring.cloud.azure.servicebus.consumer.namespace=consumer-namespace",
200+
"spring.cloud.azure.servicebus.consumer.entity-name=test-queue",
201+
"spring.cloud.azure.servicebus.consumer.entity-type=queue"
202+
)
203+
.withBean(AzureGlobalProperties.class, AzureGlobalProperties::new)
204+
.run(context -> {
205+
assertThat(context).hasSingleBean(AzureServiceBusProperties.class);
206+
assertThat(context).hasSingleBean(ServiceBusReceiverClient.class);
207+
});
208+
}
209+
210+
@Test
211+
void processorDedicatedConnectionDetailsShouldConfigureWithoutTopLevelConnectionInfo() {
212+
this.contextRunner
213+
.withPropertyValues(
214+
"spring.cloud.azure.servicebus.processor.connection-string=" + String.format(CONNECTION_STRING_FORMAT, "processor-namespace"),
215+
"spring.cloud.azure.servicebus.processor.namespace=processor-namespace",
216+
"spring.cloud.azure.servicebus.processor.entity-name=test-queue",
217+
"spring.cloud.azure.servicebus.processor.entity-type=queue"
218+
)
219+
.withBean(AzureGlobalProperties.class, AzureGlobalProperties::new)
220+
.withBean(ServiceBusRecordMessageListener.class, () -> messageContext -> { })
221+
.withBean(ServiceBusErrorHandler.class, () -> errorContext -> { })
222+
.run(context -> {
223+
assertThat(context).hasSingleBean(AzureServiceBusProperties.class);
224+
assertThat(context).hasSingleBean(ServiceBusProcessorClient.class);
225+
});
226+
}
227+
177228
@Test
178229
void configurationPropertiesShouldBind() {
179230
String connectionString = String.format(CONNECTION_STRING_FORMAT, "fake-namespace");

0 commit comments

Comments
 (0)