Skip to content

Commit b0b0cbc

Browse files
authored
chore: Change Kafka vendor configuration from class to interface (#1519)
1 parent ae19f4d commit b0b0cbc

File tree

4 files changed

+23
-23
lines changed

4 files changed

+23
-23
lines changed

src/Testcontainers.Kafka/ApacheConfiguration.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
namespace Testcontainers.Kafka;
22

3-
/// <inheritdoc cref="KafkaVendorConfiguration" />
4-
internal sealed class ApacheConfiguration : KafkaVendorConfiguration
3+
/// <inheritdoc cref="IKafkaVendorConfiguration" />
4+
internal sealed class ApacheConfiguration : IKafkaVendorConfiguration
55
{
66
static ApacheConfiguration()
77
{
@@ -17,25 +17,25 @@ private ApacheConfiguration()
1717
/// <summary>
1818
/// Gets the singleton instance of the Apache vendor configuration.
1919
/// </summary>
20-
public static KafkaVendorConfiguration Instance { get; }
20+
public static IKafkaVendorConfiguration Instance { get; }
2121
= new ApacheConfiguration();
2222

2323
/// <inheritdoc />
24-
public override KafkaVendor Vendor
24+
public KafkaVendor Vendor
2525
=> KafkaVendor.ApacheSoftwareFoundation;
2626

2727
/// <inheritdoc />
28-
public override ConsensusProtocol ConsensusProtocol
28+
public ConsensusProtocol ConsensusProtocol
2929
=> ConsensusProtocol.KRaft;
3030

3131
/// <inheritdoc />
32-
public override bool IsImageFromVendor(IImage image)
32+
public bool IsImageFromVendor(IImage image)
3333
{
3434
return image.Repository.Contains("apache") || image.Repository.Contains("bitnami");
3535
}
3636

3737
/// <inheritdoc />
38-
public override void Validate(KafkaConfiguration resourceConfiguration)
38+
public void Validate(KafkaConfiguration resourceConfiguration)
3939
{
4040
const string message = "Local ZooKeeper is not supported for Apache Kafka images. Configure an external ZooKeeper.";
4141

@@ -48,7 +48,7 @@ public override void Validate(KafkaConfiguration resourceConfiguration)
4848
}
4949

5050
/// <inheritdoc />
51-
public override string CreateStartupScript(KafkaConfiguration resourceConfiguration, KafkaContainer container)
51+
public string CreateStartupScript(KafkaConfiguration resourceConfiguration, KafkaContainer container)
5252
{
5353
var additionalAdvertisedListeners = string.Join(",", container.AdvertisedListeners ?? Array.Empty<string>());
5454

src/Testcontainers.Kafka/ConfluentConfiguration.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
namespace Testcontainers.Kafka;
22

3-
/// <inheritdoc cref="KafkaVendorConfiguration" />
4-
internal sealed class ConfluentConfiguration : KafkaVendorConfiguration
3+
/// <inheritdoc cref="IKafkaVendorConfiguration" />
4+
internal sealed class ConfluentConfiguration : IKafkaVendorConfiguration
55
{
66
static ConfluentConfiguration()
77
{
@@ -17,25 +17,25 @@ private ConfluentConfiguration()
1717
/// <summary>
1818
/// Gets the singleton instance of the Confluent vendor configuration.
1919
/// </summary>
20-
public static KafkaVendorConfiguration Instance { get; }
20+
public static IKafkaVendorConfiguration Instance { get; }
2121
= new ConfluentConfiguration();
2222

2323
/// <inheritdoc />
24-
public override KafkaVendor Vendor
24+
public KafkaVendor Vendor
2525
=> KafkaVendor.Confluent;
2626

2727
/// <inheritdoc />
28-
public override ConsensusProtocol ConsensusProtocol
28+
public ConsensusProtocol ConsensusProtocol
2929
=> ConsensusProtocol.ZooKeeper;
3030

3131
/// <inheritdoc />
32-
public override bool IsImageFromVendor(IImage image)
32+
public bool IsImageFromVendor(IImage image)
3333
{
3434
return image.Repository.Contains("confluentinc");
3535
}
3636

3737
/// <inheritdoc />
38-
public override void Validate(KafkaConfiguration resourceConfiguration)
38+
public void Validate(KafkaConfiguration resourceConfiguration)
3939
{
4040
const string message = "KRaft is not supported for Confluent Platform images with versions earlier than 7.0.0.";
4141

@@ -47,7 +47,7 @@ public override void Validate(KafkaConfiguration resourceConfiguration)
4747
}
4848

4949
/// <inheritdoc />
50-
public override string CreateStartupScript(KafkaConfiguration resourceConfiguration, KafkaContainer container)
50+
public string CreateStartupScript(KafkaConfiguration resourceConfiguration, KafkaContainer container)
5151
{
5252
var additionalAdvertisedListeners = string.Join(",", container.AdvertisedListeners ?? Array.Empty<string>());
5353

src/Testcontainers.Kafka/KafkaVendorConfiguration.cs renamed to src/Testcontainers.Kafka/IKafkaVendorConfiguration.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,36 @@ namespace Testcontainers.Kafka;
33
/// <summary>
44
/// Represents the configuration for a Kafka vendor.
55
/// </summary>
6-
internal abstract class KafkaVendorConfiguration
6+
internal interface IKafkaVendorConfiguration
77
{
88
/// <summary>
99
/// Gets the Kafka vendor.
1010
/// </summary>
11-
public abstract KafkaVendor Vendor { get; }
11+
public KafkaVendor Vendor { get; }
1212

1313
/// <summary>
1414
/// Gets the consensus protocol.
1515
/// </summary>
16-
public abstract ConsensusProtocol ConsensusProtocol { get; }
16+
public ConsensusProtocol ConsensusProtocol { get; }
1717

1818
/// <summary>
1919
/// Determines whether the specified Docker image belongs to this vendor.
2020
/// </summary>
2121
/// <param name="image">The Docker image.</param>
2222
/// <returns><c>true</c> if the image belongs to this vendor; otherwise, <c>false</c>.</returns>
23-
public abstract bool IsImageFromVendor(IImage image);
23+
public bool IsImageFromVendor(IImage image);
2424

2525
/// <summary>
2626
/// Validates the resource configuration.
2727
/// </summary>
2828
/// <param name="resourceConfiguration">The resource configuration.</param>
29-
public abstract void Validate(KafkaConfiguration resourceConfiguration);
29+
public void Validate(KafkaConfiguration resourceConfiguration);
3030

3131
/// <summary>
3232
/// Creates the startup script.
3333
/// </summary>
3434
/// <param name="resourceConfiguration">The resource configuration.</param>
3535
/// <param name="container">The Kafka container.</param>
3636
/// <returns>The startup script as a string.</returns>
37-
public abstract string CreateStartupScript(KafkaConfiguration resourceConfiguration, KafkaContainer container);
37+
public string CreateStartupScript(KafkaConfiguration resourceConfiguration, KafkaContainer container);
3838
}

src/Testcontainers.Kafka/KafkaBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public sealed class KafkaBuilder : ContainerBuilder<KafkaBuilder, KafkaContainer
2222

2323
private const string ProtocolPrefix = "TC";
2424

25-
private static readonly KafkaVendorConfiguration[] VendorConfigurations = new[] { ApacheConfiguration.Instance, ConfluentConfiguration.Instance };
25+
private static readonly IKafkaVendorConfiguration[] VendorConfigurations = new[] { ApacheConfiguration.Instance, ConfluentConfiguration.Instance };
2626

2727
/// <summary>
2828
/// Initializes a new instance of the <see cref="KafkaBuilder" /> class.

0 commit comments

Comments
 (0)