diff --git a/docs/modules/azure.md b/docs/modules/azure.md
index 5e80270e90c..ef7be72159c 100644
--- a/docs/modules/azure.md
+++ b/docs/modules/azure.md
@@ -18,31 +18,31 @@ CosmosDBEmulatorContainer | [mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emula
Start Azure CosmosDB Emulator during a test:
-[Starting a Azure CosmosDB Emulator container](../../modules/azure/src/test/java/org/testcontainers/containers/CosmosDBEmulatorContainerTest.java) inside_block:emulatorContainer
+[Starting a Azure CosmosDB Emulator container](../../modules/azure/src/test/java/org/testcontainers/azure/CosmosDBEmulatorContainerTest.java) inside_block:emulatorContainer
Prepare KeyStore to use for SSL.
-[Building KeyStore from certificate within container](../../modules/azure/src/test/java/org/testcontainers/containers/CosmosDBEmulatorContainerTest.java) inside_block:buildAndSaveNewKeyStore
+[Building KeyStore from certificate within container](../../modules/azure/src/test/java/org/testcontainers/azure/CosmosDBEmulatorContainerTest.java) inside_block:buildAndSaveNewKeyStore
Set system trust-store parameters to use already built KeyStore:
-[Set system trust-store parameters](../../modules/azure/src/test/java/org/testcontainers/containers/CosmosDBEmulatorContainerTest.java) inside_block:setSystemTrustStoreParameters
+[Set system trust-store parameters](../../modules/azure/src/test/java/org/testcontainers/azure/CosmosDBEmulatorContainerTest.java) inside_block:setSystemTrustStoreParameters
Build Azure CosmosDB client:
-[Build Azure CosmosDB client](../../modules/azure/src/test/java/org/testcontainers/containers/CosmosDBEmulatorContainerTest.java) inside_block:buildClient
+[Build Azure CosmosDB client](../../modules/azure/src/test/java/org/testcontainers/azure/CosmosDBEmulatorContainerTest.java) inside_block:buildClient
Test against the Emulator:
-[Testing against Azure CosmosDB Emulator container](../../modules/azure/src/test/java/org/testcontainers/containers/CosmosDBEmulatorContainerTest.java) inside_block:testWithClientAgainstEmulatorContainer
+[Testing against Azure CosmosDB Emulator container](../../modules/azure/src/test/java/org/testcontainers/azure/CosmosDBEmulatorContainerTest.java) inside_block:testWithClientAgainstEmulatorContainer
## Adding this module to your project dependencies
diff --git a/modules/azure/src/main/java/org/testcontainers/azure/CosmosDBEmulatorContainer.java b/modules/azure/src/main/java/org/testcontainers/azure/CosmosDBEmulatorContainer.java
new file mode 100644
index 00000000000..1080e780e6b
--- /dev/null
+++ b/modules/azure/src/main/java/org/testcontainers/azure/CosmosDBEmulatorContainer.java
@@ -0,0 +1,58 @@
+package org.testcontainers.azure;
+
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.utility.DockerImageName;
+
+import java.security.KeyStore;
+
+/**
+ * Testcontainers implementation for CosmosDB Emulator.
+ *
+ * Supported image: {@code mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator}
+ *
+ * Exposed ports: 8081
+ */
+public class CosmosDBEmulatorContainer extends GenericContainer {
+
+ private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse(
+ "mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator"
+ );
+
+ private static final int PORT = 8081;
+
+ /**
+ * @param dockerImageName specified docker image name to run
+ */
+ public CosmosDBEmulatorContainer(final DockerImageName dockerImageName) {
+ super(dockerImageName);
+ dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME);
+ withExposedPorts(PORT);
+ waitingFor(Wait.forLogMessage(".*Started\\r\\n$", 1));
+ }
+
+ /**
+ * @return new KeyStore built with PKCS12
+ */
+ public KeyStore buildNewKeyStore() {
+ return KeyStoreBuilder.buildByDownloadingCertificate(getEmulatorEndpoint(), getEmulatorKey());
+ }
+
+ /**
+ * Emulator key is a known constant and specified in Azure Cosmos DB Documents.
+ * This key is also used as password for emulator certificate file.
+ *
+ * @return predefined emulator key
+ * @see Azure Cosmos DB Documents
+ */
+ public String getEmulatorKey() {
+ return "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==";
+ }
+
+ /**
+ * @return secure https emulator endpoint to send requests
+ */
+ public String getEmulatorEndpoint() {
+ return "https://" + getHost() + ":" + getMappedPort(PORT);
+ }
+}
diff --git a/modules/azure/src/main/java/org/testcontainers/containers/KeyStoreBuilder.java b/modules/azure/src/main/java/org/testcontainers/azure/KeyStoreBuilder.java
similarity index 98%
rename from modules/azure/src/main/java/org/testcontainers/containers/KeyStoreBuilder.java
rename to modules/azure/src/main/java/org/testcontainers/azure/KeyStoreBuilder.java
index f7b6af370ac..123c3a82068 100644
--- a/modules/azure/src/main/java/org/testcontainers/containers/KeyStoreBuilder.java
+++ b/modules/azure/src/main/java/org/testcontainers/azure/KeyStoreBuilder.java
@@ -1,4 +1,4 @@
-package org.testcontainers.containers;
+package org.testcontainers.azure;
import okhttp3.Cache;
import okhttp3.OkHttpClient;
diff --git a/modules/azure/src/main/java/org/testcontainers/containers/CosmosDBEmulatorContainer.java b/modules/azure/src/main/java/org/testcontainers/containers/CosmosDBEmulatorContainer.java
index a1cfdeaf124..53ecbc18835 100644
--- a/modules/azure/src/main/java/org/testcontainers/containers/CosmosDBEmulatorContainer.java
+++ b/modules/azure/src/main/java/org/testcontainers/containers/CosmosDBEmulatorContainer.java
@@ -1,57 +1,25 @@
package org.testcontainers.containers;
-import org.testcontainers.containers.wait.strategy.Wait;
import org.testcontainers.utility.DockerImageName;
-import java.security.KeyStore;
-
/**
- * Testcontainers implementation for CosmosDB Emulator.
- *
- * Supported image: {@code mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator}
- *
- * Exposed ports: 8081
+ * Original Testcontainers implementation for CosmosDB Emulator.
+ *
+ * @deprecated Please use {@link org.testcontainers.azure.CosmosDBEmulatorContainer}.
*/
-public class CosmosDBEmulatorContainer extends GenericContainer {
-
- private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse(
- "mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator"
- );
-
- private static final int PORT = 8081;
+@Deprecated
+public class CosmosDBEmulatorContainer extends org.testcontainers.azure.CosmosDBEmulatorContainer {
/**
* @param dockerImageName specified docker image name to run
+ * @deprecated Please use {@link org.testcontainers.azure.CosmosDBEmulatorContainer}.
*/
+ @Deprecated
public CosmosDBEmulatorContainer(final DockerImageName dockerImageName) {
super(dockerImageName);
- dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME);
- withExposedPorts(PORT);
- waitingFor(Wait.forLogMessage(".*Started\\r\\n$", 1));
- }
-
- /**
- * @return new KeyStore built with PKCS12
- */
- public KeyStore buildNewKeyStore() {
- return KeyStoreBuilder.buildByDownloadingCertificate(getEmulatorEndpoint(), getEmulatorKey());
- }
-
- /**
- * Emulator key is a known constant and specified in Azure Cosmos DB Documents.
- * This key is also used as password for emulator certificate file.
- *
- * @return predefined emulator key
- * @see Azure Cosmos DB Documents
- */
- public String getEmulatorKey() {
- return "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==";
- }
-
- /**
- * @return secure https emulator endpoint to send requests
- */
- public String getEmulatorEndpoint() {
- return "https://" + getHost() + ":" + getMappedPort(PORT);
+ logger()
+ .warn(
+ "The CosmosDBEmulatorContainer moved to the org.testcontainers.azure package. This old class will be removed in a future version."
+ );
}
}
diff --git a/modules/azure/src/test/java/org/testcontainers/containers/CosmosDBEmulatorContainerTest.java b/modules/azure/src/test/java/org/testcontainers/azure/CosmosDBEmulatorContainerTest.java
similarity index 84%
rename from modules/azure/src/test/java/org/testcontainers/containers/CosmosDBEmulatorContainerTest.java
rename to modules/azure/src/test/java/org/testcontainers/azure/CosmosDBEmulatorContainerTest.java
index 140bd64c39a..4b2508e1b7b 100644
--- a/modules/azure/src/test/java/org/testcontainers/containers/CosmosDBEmulatorContainerTest.java
+++ b/modules/azure/src/test/java/org/testcontainers/azure/CosmosDBEmulatorContainerTest.java
@@ -1,4 +1,4 @@
-package org.testcontainers.containers;
+package org.testcontainers.azure;
import com.azure.cosmos.CosmosAsyncClient;
import com.azure.cosmos.CosmosClientBuilder;
@@ -46,8 +46,8 @@ public static void restoreOriginalSystemProperties() {
@Test
public void testWithCosmosClient() throws Exception {
// buildAndSaveNewKeyStore {
- Path keyStoreFile = tempFolder.newFile("azure-cosmos-emulator.keystore").toPath();
- KeyStore keyStore = emulator.buildNewKeyStore();
+ final Path keyStoreFile = tempFolder.newFile("azure-cosmos-emulator.keystore").toPath();
+ final KeyStore keyStore = emulator.buildNewKeyStore();
keyStore.store(new FileOutputStream(keyStoreFile.toFile()), emulator.getEmulatorKey().toCharArray());
// }
// setSystemTrustStoreParameters {
@@ -56,7 +56,7 @@ public void testWithCosmosClient() throws Exception {
System.setProperty("javax.net.ssl.trustStoreType", "PKCS12");
// }
// buildClient {
- CosmosAsyncClient client = new CosmosClientBuilder()
+ final CosmosAsyncClient client = new CosmosClientBuilder()
.gatewayMode()
.endpointDiscoveryEnabled(false)
.endpoint(emulator.getEmulatorEndpoint())
@@ -64,9 +64,9 @@ public void testWithCosmosClient() throws Exception {
.buildAsyncClient();
// }
// testWithClientAgainstEmulatorContainer {
- CosmosDatabaseResponse databaseResponse = client.createDatabaseIfNotExists("Azure").block();
+ final CosmosDatabaseResponse databaseResponse = client.createDatabaseIfNotExists("Azure").block();
assertThat(databaseResponse.getStatusCode()).isEqualTo(201);
- CosmosContainerResponse containerResponse = client
+ final CosmosContainerResponse containerResponse = client
.getDatabase("Azure")
.createContainerIfNotExists("ServiceContainer", "/name")
.block();