Skip to content

Commit 7541c38

Browse files
committed
Polish
1 parent 4a522ba commit 7541c38

File tree

3 files changed

+58
-69
lines changed

3 files changed

+58
-69
lines changed

docs/modules/azure.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ CosmosDBEmulatorContainer | [mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emula
1919
Start Azurite Emulator during a test:
2020

2121
<!--codeinclude-->
22-
[Starting a Azurite Blob container](../../modules/azure/src/test/java/org/testcontainers/azure/AzuriteContainerTest.java) inside_block:emulatorContainer
22+
[Starting a Azurite container](../../modules/azure/src/test/java/org/testcontainers/azure/AzuriteContainerTest.java) inside_block:emulatorContainer
2323
<!--/codeinclude-->
2424

2525
!!! note
@@ -29,11 +29,11 @@ If the tested application needs to use more than one set of credentials, the con
2929
Please see some examples below.
3030

3131
<!--codeinclude-->
32-
[Starting a Azurite Blob container with one account and two keys](../../modules/azure/src/test/java/org/testcontainers/azure/AzuriteContainerTest.java) inside_block:emulatorContainerWithTwoAccountKeys
32+
[Starting a Azurite Blob container with one account and two keys](../../modules/azure/src/test/java/org/testcontainers/azure/AzuriteContainerTest.java) inside_block:withTwoAccountKeys
3333
<!--/codeinclude-->
3434

3535
<!--codeinclude-->
36-
[Starting a Azurite Blob container with more accounts and keys](../../modules/azure/src/test/java/org/testcontainers/azure/AzuriteContainerTest.java) inside_block:useEmulatorContainerWithMoreAccounts
36+
[Starting a Azurite Blob container with more accounts and keys](../../modules/azure/src/test/java/org/testcontainers/azure/AzuriteContainerTest.java) inside_block:withMoreAccounts
3737
<!--/codeinclude-->
3838

3939
#### Using with Blob

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

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
* <p>
1212
* Exposed ports:
1313
* <ul>
14-
* <li>10000 (blob port)</li>
15-
* <li>10001 (queue port)</li>
16-
* <li>10002 (table port)</li>
14+
* <li>Blob: 10000</li>
15+
* <li>Queue: 10001</li>
16+
* <li>Table: 10002</li>
1717
* </ul>
1818
*/
1919
public class AzuriteContainer extends GenericContainer<AzuriteContainer> {
@@ -55,7 +55,14 @@ public class AzuriteContainer extends GenericContainer<AzuriteContainer> {
5555
/**
5656
* @param dockerImageName specified docker image name to run
5757
*/
58-
public AzuriteContainer(final DockerImageName dockerImageName) {
58+
public AzuriteContainer(String dockerImageName) {
59+
this(DockerImageName.parse(dockerImageName));
60+
}
61+
62+
/**
63+
* @param dockerImageName specified docker image name to run
64+
*/
65+
public AzuriteContainer(DockerImageName dockerImageName) {
5966
super(dockerImageName);
6067
dockerImageName.assertCompatibleWith(DEFAULT_IMAGE_NAME);
6168
withExposedPorts(DEFAULT_BLOB_PORT, DEFAULT_QUEUE_PORT, DEFAULT_TABLE_PORT);
@@ -69,9 +76,9 @@ public AzuriteContainer(final DockerImageName dockerImageName) {
6976
* @return this
7077
*/
7178
public AzuriteContainer withSsl(final MountableFile pfxCert, final String password) {
72-
cert = pfxCert;
73-
pwd = password;
74-
certExtension = ".pfx";
79+
this.cert = pfxCert;
80+
this.pwd = password;
81+
this.certExtension = ".pfx";
7582
return this;
7683
}
7784

@@ -83,21 +90,21 @@ public AzuriteContainer withSsl(final MountableFile pfxCert, final String passwo
8390
* @return this
8491
*/
8592
public AzuriteContainer withSsl(final MountableFile pemCert, final MountableFile pemKey) {
86-
cert = pemCert;
87-
key = pemKey;
88-
certExtension = ".pem";
93+
this.cert = pemCert;
94+
this.key = pemKey;
95+
this.certExtension = ".pem";
8996
return this;
9097
}
9198

9299
@Override
93100
protected void configure() {
94101
withCommand(getCommandLine());
95-
if (cert != null) {
96-
logger().info("Using path for cert file: '{}'", cert);
97-
withCopyFileToContainer(cert, "/cert" + certExtension);
98-
if (key != null) {
99-
logger().info("Using path for key file: '{}'", key);
100-
withCopyFileToContainer(key, "/key.pem");
102+
if (this.cert != null) {
103+
logger().info("Using path for cert file: '{}'", this.cert);
104+
withCopyFileToContainer(this.cert, "/cert" + this.certExtension);
105+
if (this.key != null) {
106+
logger().info("Using path for key file: '{}'", this.key);
107+
withCopyFileToContainer(this.key, "/key.pem");
101108
}
102109
}
103110
}
@@ -107,7 +114,7 @@ protected void configure() {
107114
*
108115
* @return connection string
109116
*/
110-
public String getDefaultConnectionString() {
117+
public String getConnectionString() {
111118
return getConnectionString(WELL_KNOWN_ACCOUNT_NAME, WELL_KNOWN_ACCOUNT_KEY);
112119
}
113120

@@ -145,10 +152,10 @@ String getCommandLine() {
145152
args.append(" --blobHost ").append(ALLOW_ALL_CONNECTIONS);
146153
args.append(" --queueHost ").append(ALLOW_ALL_CONNECTIONS);
147154
args.append(" --tableHost ").append(ALLOW_ALL_CONNECTIONS);
148-
if (cert != null) {
149-
args.append(" --cert ").append("/cert").append(certExtension);
150-
if (pwd != null) {
151-
args.append(" --pwd ").append(pwd);
155+
if (this.cert != null) {
156+
args.append(" --cert ").append("/cert").append(this.certExtension);
157+
if (this.pwd != null) {
158+
args.append(" --pwd ").append(this.pwd);
152159
} else {
153160
args.append(" --key ").append("/key.pem");
154161
}

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

Lines changed: 27 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import org.junit.AfterClass;
1515
import org.junit.BeforeClass;
1616
import org.junit.Test;
17-
import org.testcontainers.utility.DockerImageName;
1817
import org.testcontainers.utility.MountableFile;
1918

2019
import java.util.Properties;
@@ -47,141 +46,126 @@ public static void restoreOriginalSystemProperties() {
4746
public void testWithBlobServiceClient() {
4847
try (
4948
// emulatorContainer {
50-
AzuriteContainer emulator = new AzuriteContainer(
51-
DockerImageName.parse("mcr.microsoft.com/azure-storage/azurite:3.33.0")
52-
)
49+
AzuriteContainer emulator = new AzuriteContainer("mcr.microsoft.com/azure-storage/azurite:3.33.0")
5350
// }
5451
) {
5552
emulator.start();
53+
assertThat(emulator.getConnectionString()).contains("BlobEndpoint=http://");
5654
testBlob(emulator);
5755
}
5856
}
5957

6058
@Test
6159
public void testWithQueueServiceClient() {
62-
try (
63-
AzuriteContainer emulator = new AzuriteContainer(
64-
DockerImageName.parse("mcr.microsoft.com/azure-storage/azurite:3.33.0")
65-
)
66-
) {
60+
try (AzuriteContainer emulator = new AzuriteContainer("mcr.microsoft.com/azure-storage/azurite:3.33.0")) {
6761
emulator.start();
62+
assertThat(emulator.getConnectionString()).contains("QueueEndpoint=http://");
6863
testQueue(emulator);
6964
}
7065
}
7166

7267
@Test
7368
public void testWithTableServiceClient() {
74-
try (
75-
AzuriteContainer emulator = new AzuriteContainer(
76-
DockerImageName.parse("mcr.microsoft.com/azure-storage/azurite:3.33.0")
77-
)
78-
) {
69+
try (AzuriteContainer emulator = new AzuriteContainer("mcr.microsoft.com/azure-storage/azurite:3.33.0")) {
7970
emulator.start();
71+
assertThat(emulator.getConnectionString()).contains("TableEndpoint=http://");
8072
testTable(emulator);
8173
}
8274
}
8375

8476
@Test
8577
public void testWithBlobServiceClientWithSslUsingPfx() {
8678
try (
87-
AzuriteContainer emulator = new AzuriteContainer(
88-
DockerImageName.parse("mcr.microsoft.com/azure-storage/azurite:3.33.0")
89-
)
79+
AzuriteContainer emulator = new AzuriteContainer("mcr.microsoft.com/azure-storage/azurite:3.33.0")
9080
.withSsl(MountableFile.forClasspathResource("/keystore.pfx"), PASSWORD)
9181
) {
9282
emulator.start();
83+
assertThat(emulator.getConnectionString()).contains("BlobEndpoint=https://");
9384
testBlob(emulator);
9485
}
9586
}
9687

9788
@Test
9889
public void testWithQueueServiceClientWithSslUsingPfx() {
9990
try (
100-
AzuriteContainer emulator = new AzuriteContainer(
101-
DockerImageName.parse("mcr.microsoft.com/azure-storage/azurite:3.33.0")
102-
)
91+
AzuriteContainer emulator = new AzuriteContainer("mcr.microsoft.com/azure-storage/azurite:3.33.0")
10392
.withSsl(MountableFile.forClasspathResource("/keystore.pfx"), PASSWORD)
10493
) {
10594
emulator.start();
95+
assertThat(emulator.getConnectionString()).contains("QueueEndpoint=https://");
10696
testQueue(emulator);
10797
}
10898
}
10999

110100
@Test
111101
public void testWithTableServiceClientWithSslUsingPfx() {
112102
try (
113-
AzuriteContainer emulator = new AzuriteContainer(
114-
DockerImageName.parse("mcr.microsoft.com/azure-storage/azurite:3.33.0")
115-
)
103+
AzuriteContainer emulator = new AzuriteContainer("mcr.microsoft.com/azure-storage/azurite:3.33.0")
116104
.withSsl(MountableFile.forClasspathResource("/keystore.pfx"), PASSWORD)
117105
) {
118106
emulator.start();
107+
assertThat(emulator.getConnectionString()).contains("TableEndpoint=https://");
119108
testTable(emulator);
120109
}
121110
}
122111

123112
@Test
124113
public void testWithBlobServiceClientWithSslUsingPem() {
125114
try (
126-
AzuriteContainer emulator = new AzuriteContainer(
127-
DockerImageName.parse("mcr.microsoft.com/azure-storage/azurite:3.33.0")
128-
)
115+
AzuriteContainer emulator = new AzuriteContainer("mcr.microsoft.com/azure-storage/azurite:3.33.0")
129116
.withSsl(
130117
MountableFile.forClasspathResource("/certificate.pem"),
131118
MountableFile.forClasspathResource("/key.pem")
132119
)
133120
) {
134121
emulator.start();
122+
assertThat(emulator.getConnectionString()).contains("BlobEndpoint=https://");
135123
testBlob(emulator);
136124
}
137125
}
138126

139127
@Test
140128
public void testWithQueueServiceClientWithSslUsingPem() {
141129
try (
142-
AzuriteContainer emulator = new AzuriteContainer(
143-
DockerImageName.parse("mcr.microsoft.com/azure-storage/azurite:3.33.0")
144-
)
130+
AzuriteContainer emulator = new AzuriteContainer("mcr.microsoft.com/azure-storage/azurite:3.33.0")
145131
.withSsl(
146132
MountableFile.forClasspathResource("/certificate.pem"),
147133
MountableFile.forClasspathResource("/key.pem")
148134
)
149135
) {
150136
emulator.start();
137+
assertThat(emulator.getConnectionString()).contains("QueueEndpoint=https://");
151138
testQueue(emulator);
152139
}
153140
}
154141

155142
@Test
156143
public void testWithTableServiceClientWithSslUsingPem() {
157144
try (
158-
AzuriteContainer emulator = new AzuriteContainer(
159-
DockerImageName.parse("mcr.microsoft.com/azure-storage/azurite:3.33.0")
160-
)
145+
AzuriteContainer emulator = new AzuriteContainer("mcr.microsoft.com/azure-storage/azurite:3.33.0")
161146
.withSsl(
162147
MountableFile.forClasspathResource("/certificate.pem"),
163148
MountableFile.forClasspathResource("/key.pem")
164149
)
165150
) {
166151
emulator.start();
152+
assertThat(emulator.getConnectionString()).contains("TableEndpoint=https://");
167153
testTable(emulator);
168154
}
169155
}
170156

171157
@Test
172158
public void testTwoAccountKeysWithBlobServiceClient() {
173159
try (
174-
// emulatorContainerWithTwoAccountKeys {
175-
AzuriteContainer emulator = new AzuriteContainer(
176-
DockerImageName.parse("mcr.microsoft.com/azure-storage/azurite:3.33.0")
177-
)
160+
// withTwoAccountKeys {
161+
AzuriteContainer emulator = new AzuriteContainer("mcr.microsoft.com/azure-storage/azurite:3.33.0")
178162
.withEnv("AZURITE_ACCOUNTS", "account1:key1:key2")
179163
// }
180164
) {
181165
emulator.start();
182166

183167
String connectionString1 = emulator.getConnectionString("account1", "key1");
184-
// the second accuont will have access to the same container using a different key
168+
// the second account will have access to the same container using a different key
185169
String connectionString2 = emulator.getConnectionString("account1", "key2");
186170

187171
BlobServiceClient blobServiceClient1 = new BlobServiceClientBuilder()
@@ -212,18 +196,16 @@ public void testTwoAccountKeysWithBlobServiceClient() {
212196
@Test
213197
public void testMultipleAccountsWithBlobServiceClient() {
214198
try (
215-
// emulatorContainerWithMoreAccounts {
216-
AzuriteContainer emulator = new AzuriteContainer(
217-
DockerImageName.parse("mcr.microsoft.com/azure-storage/azurite:3.33.0")
218-
)
199+
// withMoreAccounts {
200+
AzuriteContainer emulator = new AzuriteContainer("mcr.microsoft.com/azure-storage/azurite:3.33.0")
219201
.withEnv("AZURITE_ACCOUNTS", "account1:key1;account2:key2")
220202
// }
221203
) {
222204
emulator.start();
223205

224206
// useNonDefaultCredentials {
225207
String connectionString1 = emulator.getConnectionString("account1", "key1");
226-
// the second accuont will not have access to the same container
208+
// the second account will not have access to the same container
227209
String connectionString2 = emulator.getConnectionString("account2", "key2");
228210
// }
229211
BlobServiceClient blobServiceClient1 = new BlobServiceClientBuilder()
@@ -252,7 +234,7 @@ public void testMultipleAccountsWithBlobServiceClient() {
252234
private void testBlob(AzuriteContainer container) {
253235
// createBlobClient {
254236
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
255-
.connectionString(container.getDefaultConnectionString())
237+
.connectionString(container.getConnectionString())
256238
.buildClient();
257239
// }
258240
BlobContainerClient containerClient = blobServiceClient.createBlobContainer("test-container");
@@ -263,7 +245,7 @@ private void testBlob(AzuriteContainer container) {
263245
private void testQueue(AzuriteContainer container) {
264246
// createQueueClient {
265247
QueueServiceClient queueServiceClient = new QueueServiceClientBuilder()
266-
.connectionString(container.getDefaultConnectionString())
248+
.connectionString(container.getConnectionString())
267249
.buildClient();
268250
// }
269251
QueueClient queueClient = queueServiceClient.createQueue("test-queue");
@@ -274,7 +256,7 @@ private void testQueue(AzuriteContainer container) {
274256
private void testTable(AzuriteContainer container) {
275257
// createTableClient {
276258
TableServiceClient tableServiceClient = new TableServiceClientBuilder()
277-
.connectionString(container.getDefaultConnectionString())
259+
.connectionString(container.getConnectionString())
278260
.buildClient();
279261
// }
280262
TableClient tableClient = tableServiceClient.createTable("testtable");

0 commit comments

Comments
 (0)