Skip to content
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -7,19 +7,30 @@ public sealed class ModuleNameBuilder : ContainerBuilder<ModuleNameBuilder, Modu
/// <summary>
/// Initializes a new instance of the <see cref="ModuleNameBuilder" /> class.
/// </summary>
public ModuleNameBuilder()
/// <param name="image">Docker image tag. Available tags can be found here: <see href="https://hub.docker.com/...">https://hub.docker.com/...</see>.</param>
public ModuleNameBuilder(string image)
: this(new ModuleNameConfiguration())
{
// 1) To change the ContainerBuilder default configuration override the DockerResourceConfiguration property and the "ModuleNameBuilder Init()" method.
// Append the module configuration to base.Init() e.g. base.Init().WithImage("alpine:3.17") to set the modules' default image.
// Append the module configuration to base.Init() e.g. base.Init().WithXXX().

// 2) To customize the ContainerBuilder validation override the "void Validate()" method.
// Use Testcontainers' Guard.Argument<TType>(TType, string) or your own guard implementation to validate the module configuration.

// 3) Add custom builder methods to extend the ContainerBuilder capabilities such as "ModuleNameBuilder WithModuleNameConfig(object)".
// Merge the current module configuration with a new instance of the immutable ModuleNameConfiguration type to update the module configuration.

// DockerResourceConfiguration = Init().DockerResourceConfiguration;
// DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="ModuleNameBuilder" /> class.
/// </summary>
/// <param name="image">Image instance to use in configuration.</param>
public ModuleNameBuilder(IImage image)
: this(new ModuleNameConfiguration())
{
// DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
Expand Down
23 changes: 22 additions & 1 deletion src/Testcontainers.ActiveMq/ArtemisBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,31 @@ public sealed class ArtemisBuilder : ContainerBuilder<ArtemisBuilder, ArtemisCon
/// <summary>
/// Initializes a new instance of the <see cref="ArtemisBuilder" /> class.
/// </summary>
[Obsolete("Use constructor with image as a parameter instead.")]
public ArtemisBuilder()
: this(new ActiveMqConfiguration())
{
DockerResourceConfiguration = Init().DockerResourceConfiguration;
DockerResourceConfiguration = Init().WithImage(ArtemisImage).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="ArtemisBuilder" /> class.
/// </summary>
/// <param name="image">Docker image tag. Available tags can be found here: <see href="https://hub.docker.com/r/apache/activemq-artemis/tags">https://hub.docker.com/r/apache/activemq-artemis/tags</see>.</param>
public ArtemisBuilder(string image)
: this(new ActiveMqConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="ArtemisBuilder" /> class.
/// </summary>
/// <param name="image">Image instance to use in configuration.</param>
public ArtemisBuilder(IImage image)
: this(new ActiveMqConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
Expand Down
4 changes: 2 additions & 2 deletions src/Testcontainers.ActiveMq/Testcontainers.ActiveMq.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All"/>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj"/>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj" />
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions src/Testcontainers.ActiveMq/Usings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
global using DotNet.Testcontainers.Builders;
global using DotNet.Testcontainers.Configurations;
global using DotNet.Testcontainers.Containers;
global using DotNet.Testcontainers.Images;
global using JetBrains.Annotations;
23 changes: 22 additions & 1 deletion src/Testcontainers.ArangoDb/ArangoDbBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,31 @@ public sealed class ArangoDbBuilder : ContainerBuilder<ArangoDbBuilder, ArangoDb
/// <summary>
/// Initializes a new instance of the <see cref="ArangoDbBuilder" /> class.
/// </summary>
[Obsolete("Use constructor with image as a parameter instead.")]
public ArangoDbBuilder()
: this(new ArangoDbConfiguration())
{
DockerResourceConfiguration = Init().DockerResourceConfiguration;
DockerResourceConfiguration = Init().WithImage(ArangoDbImage).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="ArangoDbBuilder" /> class.
/// </summary>
/// <param name="image">Docker image tag. Available tags can be found here: <see href="https://hub.docker.com/_/arangodb/tags">https://hub.docker.com/_/arangodb/tags</see>.</param>
public ArangoDbBuilder(string image)
: this(new ArangoDbConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="ArangoDbBuilder" /> class.
/// </summary>
/// <param name="image">Image instance to use in configuration.</param>
public ArangoDbBuilder(IImage image)
: this(new ArangoDbConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
Expand Down
4 changes: 2 additions & 2 deletions src/Testcontainers.ArangoDb/Testcontainers.ArangoDb.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All"/>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj"/>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj" />
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions src/Testcontainers.ArangoDb/Usings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
global using DotNet.Testcontainers.Builders;
global using DotNet.Testcontainers.Configurations;
global using DotNet.Testcontainers.Containers;
global using DotNet.Testcontainers.Images;
global using JetBrains.Annotations;
23 changes: 22 additions & 1 deletion src/Testcontainers.Azurite/AzuriteBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,31 @@ static AzuriteBuilder()
/// <summary>
/// Initializes a new instance of the <see cref="AzuriteBuilder" /> class.
/// </summary>
[Obsolete("Use constructor with image as a parameter instead.")]
public AzuriteBuilder()
: this(new AzuriteConfiguration())
{
DockerResourceConfiguration = Init().DockerResourceConfiguration;
DockerResourceConfiguration = Init().WithImage(AzuriteImage).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="AzuriteBuilder" /> class.
/// </summary>
/// <param name="image">Docker image tag. Available tags can be found here: <see href="https://hub.docker.com/r/microsoft/azure-storage-azurite">https://hub.docker.com/r/microsoft/azure-storage-azurite</see>.</param>
public AzuriteBuilder(string image)
: this(new AzuriteConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="AzuriteBuilder" /> class.
/// </summary>
/// <param name="image">Image instance to use in configuration.</param>
public AzuriteBuilder(IImage image)
: this(new AzuriteConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
Expand Down
4 changes: 2 additions & 2 deletions src/Testcontainers.Azurite/Testcontainers.Azurite.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All"/>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj"/>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj" />
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions src/Testcontainers.Azurite/Usings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@
global using DotNet.Testcontainers.Builders;
global using DotNet.Testcontainers.Configurations;
global using DotNet.Testcontainers.Containers;
global using DotNet.Testcontainers.Images;
global using JetBrains.Annotations;
23 changes: 22 additions & 1 deletion src/Testcontainers.BigQuery/BigQueryBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,31 @@ public sealed class BigQueryBuilder : ContainerBuilder<BigQueryBuilder, BigQuery
/// <summary>
/// Initializes a new instance of the <see cref="BigQueryBuilder" /> class.
/// </summary>
[Obsolete("Use constructor with image as a parameter instead.")]
public BigQueryBuilder()
: this(new BigQueryConfiguration())
{
DockerResourceConfiguration = Init().DockerResourceConfiguration;
DockerResourceConfiguration = Init().WithImage(BigQueryImage).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="BigQueryBuilder" /> class.
/// </summary>
/// <param name="image">Docker image tag. Available tags can be found here: <see href="https://github.com/goccy/bigquery-emulator/pkgs/container/bigquery-emulator">https://github.com/goccy/bigquery-emulator/pkgs/container/bigquery-emulator</see>.</param>
public BigQueryBuilder(string image)
: this(new BigQueryConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="BigQueryBuilder" /> class.
/// </summary>
/// <param name="image">Image instance to use in configuration.</param>
public BigQueryBuilder(IImage image)
: this(new BigQueryConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
Expand Down
4 changes: 2 additions & 2 deletions src/Testcontainers.BigQuery/Testcontainers.BigQuery.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All"/>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj"/>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj" />
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions src/Testcontainers.BigQuery/Usings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
global using DotNet.Testcontainers.Builders;
global using DotNet.Testcontainers.Configurations;
global using DotNet.Testcontainers.Containers;
global using DotNet.Testcontainers.Images;
global using JetBrains.Annotations;
23 changes: 22 additions & 1 deletion src/Testcontainers.Bigtable/BigtableBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,31 @@ public sealed class BigtableBuilder : ContainerBuilder<BigtableBuilder, Bigtable
/// <summary>
/// Initializes a new instance of the <see cref="BigtableBuilder" /> class.
/// </summary>
[Obsolete("Use constructor with image as a parameter instead.")]
public BigtableBuilder()
: this(new BigtableConfiguration())
{
DockerResourceConfiguration = Init().DockerResourceConfiguration;
DockerResourceConfiguration = Init().WithImage(GoogleCloudCliImage).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="BigtableBuilder" /> class.
/// </summary>
/// <param name="image">Docker image tag. Available tags can be found here: <see href="https://console.cloud.google.com/artifacts/docker/google.com:cloudsdktool/us/gcr.io/google-cloud-cli?pli=1">https://console.cloud.google.com/artifacts/docker/google.com:cloudsdktool/us/gcr.io/google-cloud-cli?pli=1</see>.</param>
public BigtableBuilder(string image)
: this(new BigtableConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="BigtableBuilder" /> class.
/// </summary>
/// <param name="image">Image instance to use in configuration.</param>
public BigtableBuilder(IImage image)
: this(new BigtableConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
Expand Down
4 changes: 2 additions & 2 deletions src/Testcontainers.Bigtable/Testcontainers.Bigtable.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All"/>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj"/>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj" />
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions src/Testcontainers.Bigtable/Usings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
global using DotNet.Testcontainers.Builders;
global using DotNet.Testcontainers.Configurations;
global using DotNet.Testcontainers.Containers;
global using DotNet.Testcontainers.Images;
global using JetBrains.Annotations;
23 changes: 22 additions & 1 deletion src/Testcontainers.Cassandra/CassandraBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,31 @@ public sealed class CassandraBuilder : ContainerBuilder<CassandraBuilder, Cassan
/// <summary>
/// Initializes a new instance of the <see cref="CassandraBuilder" /> class.
/// </summary>
[Obsolete("Use constructor with image as a parameter instead.")]
public CassandraBuilder()
: this(new CassandraConfiguration())
{
DockerResourceConfiguration = Init().DockerResourceConfiguration;
DockerResourceConfiguration = Init().WithImage(CassandraImage).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="CassandraBuilder" /> class.
/// </summary>
/// <param name="image">Docker image tag. Available tags can be found here: <see href="https://hub.docker.com/_/cassandra/tags">https://hub.docker.com/_/cassandra/tags</see>.</param>
public CassandraBuilder(string image)
: this(new CassandraConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="CassandraBuilder" /> class.
/// </summary>
/// <param name="image">Image instance to use in configuration.</param>
public CassandraBuilder(IImage image)
: this(new CassandraConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
Expand Down
4 changes: 2 additions & 2 deletions src/Testcontainers.Cassandra/Testcontainers.Cassandra.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All"/>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj"/>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj" />
</ItemGroup>
</Project>
1 change: 1 addition & 0 deletions src/Testcontainers.Cassandra/Usings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@
global using DotNet.Testcontainers.Builders;
global using DotNet.Testcontainers.Configurations;
global using DotNet.Testcontainers.Containers;
global using DotNet.Testcontainers.Images;
global using JetBrains.Annotations;
23 changes: 22 additions & 1 deletion src/Testcontainers.ClickHouse/ClickHouseBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,31 @@ public sealed class ClickHouseBuilder : ContainerBuilder<ClickHouseBuilder, Clic
/// <summary>
/// Initializes a new instance of the <see cref="ClickHouseBuilder" /> class.
/// </summary>
[Obsolete("Use constructor with image as a parameter instead.")]
public ClickHouseBuilder()
: this(new ClickHouseConfiguration())
{
DockerResourceConfiguration = Init().DockerResourceConfiguration;
DockerResourceConfiguration = Init().WithImage(ClickHouseImage).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="ClickHouseBuilder" /> class.
/// </summary>
/// <param name="image">Docker image tag. Available tags can be found here: <see href="https://hub.docker.com/_/clickhouse/tags">https://hub.docker.com/_/clickhouse/tags</see>.</param>
public ClickHouseBuilder(string image)
: this(new ClickHouseConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
/// Initializes a new instance of the <see cref="ClickHouseBuilder" /> class.
/// </summary>
/// <param name="image">Image instance to use in configuration.</param>
public ClickHouseBuilder(IImage image)
: this(new ClickHouseConfiguration())
{
DockerResourceConfiguration = Init().WithImage(image).DockerResourceConfiguration;
}

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All"/>
<PackageReference Include="JetBrains.Annotations" VersionOverride="2023.3.0" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj"/>
<ProjectReference Include="../Testcontainers/Testcontainers.csproj" />
</ItemGroup>
</Project>
Loading
Loading