Skip to content

Commit ce13e06

Browse files
committed
Add Azure Eventhubs Emulator container to Azure module
- Fix license acceptance - Use Transferable - Remove unnecessary code from tests Signed-off-by: Esta Nagy <[email protected]>
1 parent fa3e337 commit ce13e06

File tree

2 files changed

+12
-21
lines changed

2 files changed

+12
-21
lines changed

modules/azure/src/main/java/org/testcontainers/azure/AzureEventhubsEmulatorContainer.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
import org.testcontainers.containers.GenericContainer;
44
import org.testcontainers.containers.wait.strategy.Wait;
5+
import org.testcontainers.images.builder.Transferable;
56
import org.testcontainers.utility.DockerImageName;
6-
import org.testcontainers.utility.MountableFile;
7+
import org.testcontainers.utility.LicenseAcceptance;
78

89
/**
910
* Testcontainers implementation for Azure Eventhubs Emulator.
@@ -31,7 +32,7 @@ public class AzureEventhubsEmulatorContainer extends GenericContainer<AzureEvent
3132

3233
private AzuriteContainer azuriteContainer;
3334

34-
private MountableFile config;
35+
private Transferable config;
3536

3637
/**
3738
* @param dockerImageName specified docker image name to run
@@ -69,7 +70,7 @@ public void stop() {
6970
* @param config The file containing the broker configuration
7071
* @return this
7172
*/
72-
public AzureEventhubsEmulatorContainer withConfig(final MountableFile config) {
73+
public AzureEventhubsEmulatorContainer withConfig(final Transferable config) {
7374
this.config = config;
7475
return this;
7576
}
@@ -79,7 +80,7 @@ public AzureEventhubsEmulatorContainer withConfig(final MountableFile config) {
7980
*
8081
* @return this
8182
*/
82-
public AzureEventhubsEmulatorContainer acceptEula() {
83+
public AzureEventhubsEmulatorContainer acceptLicense() {
8384
return withEnv("ACCEPT_EULA", "Y");
8485
}
8586

@@ -89,9 +90,14 @@ protected void configure() {
8990
final String azuriteHost = azuriteContainer.getNetworkAliases().get(0);
9091
withEnv("BLOB_SERVER", azuriteHost);
9192
withEnv("METADATA_SERVER", azuriteHost);
93+
// If license was not accepted programatically, check if it was accepted via resource file
94+
if (!getEnvMap().containsKey("ACCEPT_EULA")) {
95+
LicenseAcceptance.assertLicenseAccepted(this.getDockerImageName());
96+
acceptLicense();
97+
}
9298
if (this.config != null) {
9399
logger().info("Using path for configuration file: '{}'", this.config);
94-
withCopyFileToContainer(this.config, "/Eventhubs_Emulator/ConfigFiles/Config.json");
100+
withCopyToContainer(this.config, "/Eventhubs_Emulator/ConfigFiles/Config.json");
95101
}
96102
}
97103

modules/azure/src/test/java/org/testcontainers/azure/AzureEventhubsEmulatorContainerTest.java

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
import com.azure.messaging.eventhubs.EventHubProducerClient;
88
import com.azure.messaging.eventhubs.models.EventPosition;
99
import com.azure.messaging.eventhubs.models.PartitionEvent;
10-
import org.junit.AfterClass;
11-
import org.junit.BeforeClass;
1210
import org.junit.Rule;
1311
import org.junit.Test;
1412
import org.testcontainers.containers.Network;
@@ -18,31 +16,18 @@
1816
import java.time.Duration;
1917
import java.util.Collections;
2018
import java.util.Optional;
21-
import java.util.Properties;
2219

2320
import static org.assertj.core.api.Assertions.assertThat;
2421
import static org.awaitility.Awaitility.waitAtMost;
2522

2623
public class AzureEventhubsEmulatorContainerTest {
2724

28-
private static Properties originalSystemProperties;
29-
30-
@BeforeClass
31-
public static void captureOriginalSystemProperties() {
32-
originalSystemProperties = (Properties) System.getProperties().clone();
33-
}
34-
35-
@AfterClass
36-
public static void restoreOriginalSystemProperties() {
37-
System.setProperties(originalSystemProperties);
38-
}
39-
4025
@Rule
4126
// emulatorContainer {
4227
public AzureEventhubsEmulatorContainer emulator = new AzureEventhubsEmulatorContainer(
4328
DockerImageName.parse("mcr.microsoft.com/azure-messaging/eventhubs-emulator:2.0.1")
4429
)
45-
.acceptEula()
30+
.acceptLicense()
4631
.withNetwork(Network.newNetwork())
4732
.withConfig(MountableFile.forClasspathResource("/eventhubs_config.json"));
4833

0 commit comments

Comments
 (0)