Skip to content

Commit 000dd69

Browse files
committed
Tests pass, needed azure-messaging-servicebus:7.17.8
1 parent 684a274 commit 000dd69

File tree

2 files changed

+41
-5
lines changed

2 files changed

+41
-5
lines changed

modules/azure/src/main/java/org/testcontainers/containers/ServicebusEmulatorContainer.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import org.testcontainers.containers.wait.strategy.Wait;
44
import org.testcontainers.utility.DockerImageName;
5+
import org.testcontainers.utility.MountableFile;
56

67
public class ServicebusEmulatorContainer<SELF extends ServicebusEmulatorContainer<SELF>> extends GenericContainer<SELF> {
78
private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse(
@@ -33,7 +34,13 @@ public ServicebusEmulatorContainer(final DockerImageName dockerImageName) {
3334
addEnv("MSSQL_SA_PASSWORD", mssqlServerContainer.getPassword());
3435
addEnv("SQL_SERVER", mssqlNetworkAlias);
3536
acceptLicense();
36-
addEnv("CONFIG_PATH", "/home/marvin.lillehaug/src/testcontainers-java/modules/azure/src/test/resources/servicebus-config.json");
37+
}
38+
39+
public SELF withConfigFile(MountableFile configFile) {
40+
return withCopyFileToContainer(
41+
configFile,
42+
"/ServiceBus_Emulator/ConfigFiles/Config.json"
43+
);
3744
}
3845

3946
/**
@@ -44,4 +51,9 @@ public SELF acceptLicense() {
4451
addEnv("ACCEPT_EULA", "Y");
4552
return self();
4653
}
54+
55+
public String getConnectionString() {
56+
Integer mappedPort = getMappedPort(5672);
57+
return "Endpoint=sb://localhost:" + mappedPort + ";SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;";
58+
}
4759
}

modules/azure/src/test/java/org/testcontainers/containers/ServicebusEmulatorContainerTest.java

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@ public class ServicebusEmulatorContainerTest {
2424
);
2525

2626
@Test
27-
public void testWithASBClient() {
28-
Integer mappedPort = servicebusEmulatorContainer.getMappedPort(5672);
27+
public void testWithDefaultConfig() {
2928
List<String> sentMessages = Arrays.asList("Hello World");
3029
try(ServiceBusSenderClient sender = new ServiceBusClientBuilder()
31-
.connectionString("Endpoint=sb://localhost:" + mappedPort + ";SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;")
30+
.connectionString(servicebusEmulatorContainer.getConnectionString())
3231
.sender()
3332
.queueName("queue.1")
3433
.buildClient()) {
@@ -37,7 +36,7 @@ public void testWithASBClient() {
3736
}
3837
}
3938
try(ServiceBusReceiverClient reciever = new ServiceBusClientBuilder()
40-
.connectionString("Endpoint=sb://localhost:" + mappedPort + ";SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=SAS_KEY_VALUE;UseDevelopmentEmulator=true;")
39+
.connectionString(servicebusEmulatorContainer.getConnectionString())
4140
.receiver()
4241
.queueName("queue.1")
4342
.receiveMode(ServiceBusReceiveMode.RECEIVE_AND_DELETE)
@@ -47,4 +46,29 @@ public void testWithASBClient() {
4746
assertThat(recievedMessages).isEqualTo(sentMessages);
4847
}
4948
}
49+
50+
51+
@Test
52+
public void testWithCustomConfig() {
53+
List<String> sentMessages = Arrays.asList("Hello World");
54+
try(ServiceBusSenderClient sender = new ServiceBusClientBuilder()
55+
.connectionString(servicebusEmulatorContainer.getConnectionString())
56+
.sender()
57+
.queueName("queue.666")
58+
.buildClient()) {
59+
for (String m : sentMessages) {
60+
sender.sendMessage(new ServiceBusMessage(m));
61+
}
62+
}
63+
try(ServiceBusReceiverClient reciever = new ServiceBusClientBuilder()
64+
.connectionString(servicebusEmulatorContainer.getConnectionString())
65+
.receiver()
66+
.queueName("queue.666")
67+
.receiveMode(ServiceBusReceiveMode.RECEIVE_AND_DELETE)
68+
.buildClient()) {
69+
IterableStream<ServiceBusReceivedMessage> messagesStream = reciever.receiveMessages(sentMessages.size());
70+
List<String> recievedMessages = messagesStream.stream().map(m -> m.getBody().toString()).collect(Collectors.toList());
71+
assertThat(recievedMessages).isEqualTo(sentMessages);
72+
}
73+
}
5074
}

0 commit comments

Comments
 (0)