Skip to content

Commit 95458de

Browse files
committed
feat: Add module connection string provider
1 parent 9de8428 commit 95458de

202 files changed

Lines changed: 894 additions & 13 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"ghcr.io/devcontainers/features/docker-in-docker:2": {
1414
"moby": true
1515
},
16-
"ghcr.io/devcontainers/features/dotnet:2.4.1": {
16+
"ghcr.io/devcontainers/features/dotnet:2.4.2": {
1717
"version": "10.0",
1818
"installUsingApt": false
1919
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
namespace Testcontainers.ActiveMq;
2+
3+
/// <summary>
4+
/// Provides the ActiveMq connection string.
5+
/// </summary>
6+
internal sealed class ActiveMqConnectionStringProvider : ContainerConnectionStringProvider<ArtemisContainer, ActiveMqConfiguration>
7+
{
8+
/// <inheritdoc />
9+
protected override string GetHostConnectionString()
10+
{
11+
return Container.GetBrokerAddress();
12+
}
13+
}

src/Testcontainers.ActiveMq/ArtemisBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ protected override ArtemisBuilder Init()
106106
.WithPortBinding(ArtemisConsolePort, true)
107107
.WithUsername(DefaultUsername)
108108
.WithPassword(DefaultPassword)
109+
.WithConnectionStringProvider(new ActiveMqConnectionStringProvider())
109110
.WithWaitStrategy(Wait.ForUnixContainer().UntilMessageIsLogged("HTTP Server started"));
110111
}
111112

src/Testcontainers.ArangoDb/ArangoDbBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ protected override ArangoDbBuilder Init()
9191
return base.Init()
9292
.WithPortBinding(ArangoDbPort, true)
9393
.WithPassword(DefaultPassword)
94+
.WithConnectionStringProvider(new ArangoDbConnectionStringProvider())
9495
.WithWaitStrategy(Wait.ForUnixContainer().UntilMessageIsLogged("Have fun!"));
9596
}
9697

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
namespace Testcontainers.ArangoDb;
2+
3+
/// <summary>
4+
/// Provides the ArangoDb connection string.
5+
/// </summary>
6+
internal sealed class ArangoDbConnectionStringProvider : ContainerConnectionStringProvider<ArangoDbContainer, ArangoDbConfiguration>
7+
{
8+
/// <inheritdoc />
9+
protected override string GetHostConnectionString()
10+
{
11+
return Container.GetTransportAddress();
12+
}
13+
}

src/Testcontainers.Azurite/AzuriteBuilder.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,8 @@ protected override AzuriteBuilder Init()
132132
.WithPortBinding(QueuePort, true)
133133
.WithPortBinding(TablePort, true)
134134
.WithEntrypoint("azurite")
135-
.WithCommand("--blobHost", "0.0.0.0", "--queueHost", "0.0.0.0", "--tableHost", "0.0.0.0");
135+
.WithCommand("--blobHost", "0.0.0.0", "--queueHost", "0.0.0.0", "--tableHost", "0.0.0.0")
136+
.WithConnectionStringProvider(new AzuriteConnectionStringProvider());
136137
}
137138

138139
/// <inheritdoc />
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
namespace Testcontainers.Azurite;
2+
3+
/// <summary>
4+
/// Provides the Azurite connection string.
5+
/// </summary>
6+
internal sealed class AzuriteConnectionStringProvider : ContainerConnectionStringProvider<AzuriteContainer, AzuriteConfiguration>
7+
{
8+
/// <inheritdoc />
9+
protected override string GetHostConnectionString()
10+
{
11+
return Container.GetConnectionString();
12+
}
13+
}

src/Testcontainers.BigQuery/BigQueryBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ protected override BigQueryBuilder Init()
8888
return base.Init()
8989
.WithPortBinding(BigQueryPort, true)
9090
.WithProject(DefaultProjectId)
91+
.WithConnectionStringProvider(new BigQueryConnectionStringProvider())
9192
.WithWaitStrategy(Wait.ForUnixContainer().UntilMessageIsLogged("(?s).*listening.*$"));
9293
}
9394

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
namespace Testcontainers.BigQuery;
2+
3+
/// <summary>
4+
/// Provides the BigQuery connection string.
5+
/// </summary>
6+
internal sealed class BigQueryConnectionStringProvider : ContainerConnectionStringProvider<BigQueryContainer, BigQueryConfiguration>
7+
{
8+
/// <inheritdoc />
9+
protected override string GetHostConnectionString()
10+
{
11+
return Container.GetEmulatorEndpoint();
12+
}
13+
}

src/Testcontainers.Bigtable/BigtableBuilder.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ protected override BigtableBuilder Init()
7777
.WithPortBinding(BigtablePort, true)
7878
.WithEntrypoint("gcloud")
7979
.WithCommand("beta", "emulators", "bigtable", "start", "--host-port", "0.0.0.0:" + BigtablePort)
80+
.WithConnectionStringProvider(new BigtableConnectionStringProvider())
8081
.WithWaitStrategy(Wait.ForUnixContainer().UntilMessageIsLogged("(?s).*running.*$"));
8182
}
8283

0 commit comments

Comments
 (0)