< Summary

Information
Class: Nabs.Tests.PubSubTests.KafkaPubSubContainerRunOnce
Assembly: Nabs.Tests.PubSubTests
File(s): /home/runner/work/Nabs/Nabs/src/Nabs.Tests.PubSubTests/KafkaPubSubContainerRunOnce.cs
Tag: 90_14636759620
Line coverage
100%
Covered lines: 15
Uncovered lines: 0
Coverable lines: 15
Total lines: 32
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
Dispose()100%11100%

File(s)

/home/runner/work/Nabs/Nabs/src/Nabs.Tests.PubSubTests/KafkaPubSubContainerRunOnce.cs

#LineLine coverage
 1namespace Nabs.Tests.PubSubTests;
 2
 3public sealed class KafkaPubSubContainerRunOnce : XunitTestFramework, IDisposable
 4{
 5    public const string RunOnceFqn = "Nabs.Tests.PubSubTests.KafkaPubSubContainerRunOnce";
 6    public const string RunOnceAssemblyName = "Nabs.Tests.PubSubTests";
 7
 8    private readonly KafkaContainer _container;
 9
 10    public KafkaPubSubContainerRunOnce(IMessageSink messageSink)
 111        : base(messageSink)
 12    {
 113        DiagnosticMessageSink.OnMessage(new DiagnosticMessage("Kafka Container starting ..."));
 14
 115        _container = new KafkaBuilder()
 116            .WithImage("confluentinc/cp-kafka:6.2.10")
 117            .WithName("nabs-test-pubsub-kafka")
 118            .WithPortBinding(9092, 9092)
 119            .Build();
 20
 121        _container.StartAsync().GetAwaiter().GetResult();
 122    }
 23
 24    public new void Dispose()
 25    {
 126        DiagnosticMessageSink.OnMessage(new DiagnosticMessage("Kafka Container stopping ..."));
 127        _container.StopAsync().GetAwaiter().GetResult();
 128        GC.SuppressFinalize(this);
 129        base.Dispose();
 130        DiagnosticMessageSink.OnMessage(new DiagnosticMessage("Kafka Container stopped!"));
 131    }
 32}