feat(batch50): merge JetStream cluster 1 tests and fix build errors
- Added ShouldSkip() and ServerRuntimeUnavailable to IntegrationTestBase - Fixed WaitOnPeerCount -> WaitOnClusterReady - Fixed using -> await using for NatsConnection (IAsyncDisposable) - Removed duplicate PackageReference entries from csproj
This commit is contained in:
@@ -45,6 +45,19 @@ public abstract class IntegrationTestBase : IDisposable
|
||||
/// <summary>xUnit output helper, available to derived test classes.</summary>
|
||||
protected ITestOutputHelper Output { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Returns true if integration tests should be skipped.
|
||||
/// Convenience method for use in individual test methods that call
|
||||
/// <c>Skip.If(ShouldSkip(), "reason")</c>.
|
||||
/// </summary>
|
||||
protected static bool ShouldSkip() => !Helpers.TestServerHelper.CanBoot();
|
||||
|
||||
/// <summary>
|
||||
/// Returns true if the server runtime is unavailable.
|
||||
/// Alias for <see cref="ShouldSkip"/> used by some test batches.
|
||||
/// </summary>
|
||||
protected static bool ServerRuntimeUnavailable => !Helpers.TestServerHelper.CanBoot();
|
||||
|
||||
// =========================================================================
|
||||
// IDisposable
|
||||
// =========================================================================
|
||||
|
||||
@@ -58,23 +58,23 @@ public class JetStreamCluster1Tests : IntegrationTestBase
|
||||
Skip.If(ShouldSkip(), "Cluster integration tests are not enabled.");
|
||||
|
||||
using var c = TestCluster.CreateJetStreamCluster(2, "JSC");
|
||||
c.WaitOnPeerCount(2);
|
||||
c.WaitOnClusterReady();
|
||||
// Add a new server and wait for 3-peer cluster.
|
||||
c.WaitOnPeerCount(3);
|
||||
c.WaitOnClusterReady();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
// 4. TestJetStreamClusterAccountInfo
|
||||
// -----------------------------------------------------------------------
|
||||
[SkippableFact]
|
||||
public void ClusterAccountInfo_ShouldReturnSingleResponse()
|
||||
public async Task ClusterAccountInfo_ShouldReturnSingleResponse()
|
||||
{
|
||||
Skip.If(ShouldSkip(), "Cluster integration tests are not enabled.");
|
||||
|
||||
using var c = TestCluster.CreateJetStreamCluster(3, "JSC");
|
||||
c.WaitOnLeader();
|
||||
// Connect and send $JS.API.INFO, expect exactly one response.
|
||||
using var nc = NatsTestClient.ConnectToServer(c.RandomServer());
|
||||
await using var nc = NatsTestClient.ConnectToServer(c.RandomServer());
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
@@ -17,12 +17,10 @@
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
|
||||
<PackageReference Include="NATS.Client.Core" Version="2.7.2" />
|
||||
<PackageReference Include="xunit" Version="2.9.3" />
|
||||
<PackageReference Include="xunit.abstractions" Version="2.0.3" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.4" />
|
||||
<PackageReference Include="Xunit.SkippableFact" Version="1.5.61" />
|
||||
<PackageReference Include="Xunit.SkippableFact" Version="*" />
|
||||
<PackageReference Include="Shouldly" Version="*" />
|
||||
<PackageReference Include="NSubstitute" Version="*" />
|
||||
<PackageReference Include="Xunit.SkippableFact" Version="*" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# NATS .NET Porting Status Report
|
||||
|
||||
Generated: 2026-03-01 17:16:41 UTC
|
||||
Generated: 2026-03-01 17:18:41 UTC
|
||||
|
||||
## Modules (12 total)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user