refactor: extract NATS.Server.JetStream.Tests project

Move 225 JetStream-related test files from NATS.Server.Tests into a
dedicated NATS.Server.JetStream.Tests project. This includes root-level
JetStream*.cs files, storage test files (FileStore, MemStore,
StreamStoreContract), and the full JetStream/ subfolder tree (Api,
Cluster, Consumers, MirrorSource, Snapshots, Storage, Streams).

Updated all namespaces, added InternalsVisibleTo, registered in the
solution file, and added the JETSTREAM_INTEGRATION_MATRIX define.
This commit is contained in:
Joseph Doherty
2026-03-12 15:58:10 -04:00
parent 36b9dfa654
commit 78b4bc2486
228 changed files with 253 additions and 227 deletions

View File

@@ -14,6 +14,7 @@
<Project Path="tests/NATS.Server.Raft.Tests/NATS.Server.Raft.Tests.csproj" /> <Project Path="tests/NATS.Server.Raft.Tests/NATS.Server.Raft.Tests.csproj" />
<Project Path="tests/NATS.Server.Monitoring.Tests/NATS.Server.Monitoring.Tests.csproj" /> <Project Path="tests/NATS.Server.Monitoring.Tests/NATS.Server.Monitoring.Tests.csproj" />
<Project Path="tests/NATS.Server.Auth.Tests/NATS.Server.Auth.Tests.csproj" /> <Project Path="tests/NATS.Server.Auth.Tests/NATS.Server.Auth.Tests.csproj" />
<Project Path="tests/NATS.Server.JetStream.Tests/NATS.Server.JetStream.Tests.csproj" />
<Project Path="tests/NATS.E2E.Tests/NATS.E2E.Tests.csproj" /> <Project Path="tests/NATS.E2E.Tests/NATS.E2E.Tests.csproj" />
</Folder> </Folder>
</Solution> </Solution>

View File

@@ -9,6 +9,7 @@
<InternalsVisibleTo Include="NATS.Server.Raft.Tests" /> <InternalsVisibleTo Include="NATS.Server.Raft.Tests" />
<InternalsVisibleTo Include="NATS.Server.Monitoring.Tests" /> <InternalsVisibleTo Include="NATS.Server.Monitoring.Tests" />
<InternalsVisibleTo Include="NATS.Server.Auth.Tests" /> <InternalsVisibleTo Include="NATS.Server.Auth.Tests" />
<InternalsVisibleTo Include="NATS.Server.JetStream.Tests" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" /> <FrameworkReference Include="Microsoft.AspNetCore.App" />

View File

@@ -1,6 +1,6 @@
using NATS.Server.Configuration; using NATS.Server.Configuration;
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class ClusterJetStreamConfigProcessorTests public class ClusterJetStreamConfigProcessorTests
{ {

View File

@@ -5,7 +5,7 @@
using System.Security.Cryptography; using System.Security.Cryptography;
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class FileStoreEncryptionTests public class FileStoreEncryptionTests
{ {

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class FileStoreTests public class FileStoreTests
{ {

View File

@@ -4,7 +4,7 @@
using NATS.Server.Events; using NATS.Server.Events;
using NATS.Server.JetStream.Api; using NATS.Server.JetStream.Api;
namespace NATS.Server.Tests.JetStream.Api; namespace NATS.Server.JetStream.Tests.JetStream.Api;
public class AdvisoryEventTests public class AdvisoryEventTests
{ {

View File

@@ -4,7 +4,7 @@ using NATS.Server.TestUtilities;
// Covers create/info/update/delete for streams, create/info/list/delete for consumers, // Covers create/info/update/delete for streams, create/info/list/delete for consumers,
// direct-get access, account info, and 404 routing for unknown subjects. // direct-get access, account info, and 404 routing for unknown subjects.
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class ApiEndpointParityTests public class ApiEndpointParityTests
{ {

View File

@@ -3,10 +3,9 @@
// The Go server uses a configurable semaphore (default 256) to throttle concurrent API // The Go server uses a configurable semaphore (default 256) to throttle concurrent API
// requests, and caches responses for duplicate request IDs within a TTL window. // requests, and caches responses for duplicate request IDs within a TTL window.
namespace NATS.Server.Tests.JetStream.Api; namespace NATS.Server.JetStream.Tests.JetStream.Api;
using NATS.Server.JetStream.Api; using NATS.Server.JetStream.Api;
using NATS.Server.Tests;
public class ApiRateLimiterTests : IDisposable public class ApiRateLimiterTests : IDisposable
{ {

View File

@@ -5,7 +5,7 @@ using System.Text;
using NATS.Server.JetStream.Api.Handlers; using NATS.Server.JetStream.Api.Handlers;
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
namespace NATS.Server.Tests.JetStream.Api; namespace NATS.Server.JetStream.Tests.JetStream.Api;
public class ClusteredApiTests public class ClusteredApiTests
{ {

View File

@@ -5,7 +5,7 @@
using NATS.Server.JetStream.Api; using NATS.Server.JetStream.Api;
namespace NATS.Server.Tests.JetStream.Api; namespace NATS.Server.JetStream.Tests.JetStream.Api;
public class ClusteredRequestTests public class ClusteredRequestTests
{ {

View File

@@ -5,7 +5,7 @@
using NATS.Server.JetStream.Api; using NATS.Server.JetStream.Api;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Api; namespace NATS.Server.JetStream.Tests.JetStream.Api;
public class ConsumerPauseApiTests : IAsyncLifetime public class ConsumerPauseApiTests : IAsyncLifetime
{ {

View File

@@ -3,7 +3,7 @@ using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Validation; using NATS.Server.JetStream.Validation;
using NATS.Server.JetStream; using NATS.Server.JetStream;
namespace NATS.Server.Tests.JetStream.Api; namespace NATS.Server.JetStream.Tests.JetStream.Api;
public class JetStreamApiLimitsParityBatch1Tests public class JetStreamApiLimitsParityBatch1Tests
{ {

View File

@@ -7,7 +7,7 @@ using NATS.Server.JetStream;
using NATS.Server.JetStream.Api; using NATS.Server.JetStream.Api;
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
namespace NATS.Server.Tests.JetStream.Api; namespace NATS.Server.JetStream.Tests.JetStream.Api;
/// <summary> /// <summary>
/// Simple test double for ILeaderForwarder. /// Simple test double for ILeaderForwarder.

View File

@@ -9,7 +9,7 @@ using NATS.Server.JetStream.Api;
using NATS.Server.JetStream.Api.Handlers; using NATS.Server.JetStream.Api.Handlers;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
namespace NATS.Server.Tests.JetStream.Api; namespace NATS.Server.JetStream.Tests.JetStream.Api;
public class SnapshotApiTests public class SnapshotApiTests
{ {

View File

@@ -6,7 +6,7 @@ using System.Text;
using NATS.Server.JetStream; using NATS.Server.JetStream;
using NATS.Server.JetStream.Api; using NATS.Server.JetStream.Api;
namespace NATS.Server.Tests.JetStream.Api; namespace NATS.Server.JetStream.Tests.JetStream.Api;
public class StreamPurgeOptionsTests public class StreamPurgeOptionsTests
{ {

View File

@@ -2,7 +2,7 @@ using System.Text;
using System.Text.Json; using System.Text.Json;
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for AssignmentCodec: binary serialization for stream and consumer assignments /// Tests for AssignmentCodec: binary serialization for stream and consumer assignments

View File

@@ -4,7 +4,7 @@
// Preferred peer tracking. // Preferred peer tracking.
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for ClusterAssignmentTypes: RaftGroup quorum semantics, /// Tests for ClusterAssignmentTypes: RaftGroup quorum semantics,

View File

@@ -5,7 +5,7 @@
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for B7 (ClusterAssignmentTypes), B8 (JetStreamMetaGroup proposal workflow), /// Tests for B7 (ClusterAssignmentTypes), B8 (JetStreamMetaGroup proposal workflow),

View File

@@ -7,7 +7,7 @@ using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Publish; using NATS.Server.JetStream.Publish;
using NATS.Server.JetStream.Validation; using NATS.Server.JetStream.Validation;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Go parity tests for JetStream cluster formation and multi-replica streams. /// Go parity tests for JetStream cluster formation and multi-replica streams.

View File

@@ -14,7 +14,7 @@ using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Publish; using NATS.Server.JetStream.Publish;
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering per-consumer RAFT groups: consumer assignment, ack state /// Tests covering per-consumer RAFT groups: consumer assignment, ack state

View File

@@ -6,7 +6,7 @@
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for the entry application pipeline in JetStreamMetaGroup and StreamReplicaGroup. /// Tests for the entry application pipeline in JetStreamMetaGroup and StreamReplicaGroup.

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for validated stream/consumer assignment processing. /// Tests for validated stream/consumer assignment processing.

View File

@@ -10,7 +10,7 @@ using NATS.Server.JetStream.Consumers;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Publish; using NATS.Server.JetStream.Publish;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering clustered JetStream consumer creation, leader election, /// Tests covering clustered JetStream consumer creation, leader election,

View File

@@ -12,7 +12,7 @@ using NATS.Server.JetStream.Consumers;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Publish; using NATS.Server.JetStream.Publish;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering JetStream cluster failover scenarios: leader stepdown, /// Tests covering JetStream cluster failover scenarios: leader stepdown,

View File

@@ -8,7 +8,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Smoke tests verifying that JetStreamClusterFixture starts correctly and /// Smoke tests verifying that JetStreamClusterFixture starts correctly and

View File

@@ -10,7 +10,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Go-parity tests for JetStream cluster behavior. Tests cover stream and consumer /// Go-parity tests for JetStream cluster behavior. Tests cover stream and consumer

View File

@@ -11,7 +11,7 @@ using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Publish; using NATS.Server.JetStream.Publish;
using NATS.Server.JetStream.Validation; using NATS.Server.JetStream.Validation;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering JetStream cluster metadata operations: asset placement, /// Tests covering JetStream cluster metadata operations: asset placement,

View File

@@ -2,7 +2,7 @@ using System.Threading.Channels;
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
using NATS.Server.Raft; using NATS.Server.Raft;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for JetStreamClusterMonitor — background meta entry processing. /// Tests for JetStreamClusterMonitor — background meta entry processing.

View File

@@ -10,7 +10,7 @@ using NATS.Server.JetStream.Consumers;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Publish; using NATS.Server.JetStream.Publish;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering clustered JetStream stream creation, replication, storage, /// Tests covering clustered JetStream stream creation, replication, storage,

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
public class JetStreamInflightTrackingTests public class JetStreamInflightTrackingTests
{ {

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
public class JetStreamLeadershipTests public class JetStreamLeadershipTests
{ {

View File

@@ -12,7 +12,7 @@ using NATS.Server.JetStream.Consumers;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Publish; using NATS.Server.JetStream.Publish;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering JetStream meta controller leadership, API routing through /// Tests covering JetStream meta controller leadership, API routing through

View File

@@ -10,7 +10,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Go-parity tests for JetStream cluster batch 1: meta recovery, consumer state, /// Go-parity tests for JetStream cluster batch 1: meta recovery, consumer state,

View File

@@ -10,7 +10,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Go-parity tests for JetStream cluster behavior from jetstream_cluster_2_test.go. /// Go-parity tests for JetStream cluster behavior from jetstream_cluster_2_test.go.

View File

@@ -10,7 +10,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Go-parity tests covering scale, move, pause, lame duck, NRG cleanup, /// Go-parity tests covering scale, move, pause, lame duck, NRG cleanup,

View File

@@ -9,7 +9,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Advanced JetStream cluster tests covering high-load scenarios, large clusters, /// Advanced JetStream cluster tests covering high-load scenarios, large clusters,

View File

@@ -7,7 +7,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering JetStream cluster consumer replication: creation basics, /// Tests covering JetStream cluster consumer replication: creation basics,

View File

@@ -22,7 +22,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering JetStream cluster failover scenarios: leader stepdown while /// Tests covering JetStream cluster failover scenarios: leader stepdown while

View File

@@ -18,7 +18,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering JetStream cluster leader election for the meta-cluster, /// Tests covering JetStream cluster leader election for the meta-cluster,

View File

@@ -10,7 +10,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Long-running JetStream cluster tests covering high-volume scenarios, /// Long-running JetStream cluster tests covering high-volume scenarios,

View File

@@ -8,7 +8,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering JetStream cluster meta-cluster governance: meta peer count, /// Tests covering JetStream cluster meta-cluster governance: meta peer count,

View File

@@ -8,7 +8,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering JetStream cluster stream placement semantics: /// Tests covering JetStream cluster stream placement semantics:

View File

@@ -8,7 +8,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering JetStream cluster stream replication semantics: /// Tests covering JetStream cluster stream replication semantics:

View File

@@ -15,7 +15,7 @@ using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Api; using NATS.Server.JetStream.Api;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Go parity tests for JetStream super-cluster (multi-cluster with gateway bridges). /// Go parity tests for JetStream super-cluster (multi-cluster with gateway bridges).

View File

@@ -9,7 +9,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Publish; using NATS.Server.JetStream.Publish;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering JetStream leader election and failover scenarios, /// Tests covering JetStream leader election and failover scenarios,

View File

@@ -6,7 +6,7 @@
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for JetStreamMetaGroup RAFT proposal workflow. /// Tests for JetStreamMetaGroup RAFT proposal workflow.

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for MetaSnapshotCodec: encode/decode round-trip, S2 compression, versioning. /// Tests for MetaSnapshotCodec: encode/decode round-trip, S2 compression, versioning.

View File

@@ -4,7 +4,7 @@
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for JetStreamMetaGroup peer management and stream reassignment. /// Tests for JetStreamMetaGroup peer management and stream reassignment.

View File

@@ -4,7 +4,7 @@
// single replica selection, and combined policy filtering. // single replica selection, and combined policy filtering.
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for PlacementEngine topology-aware peer selection. /// Tests for PlacementEngine topology-aware peer selection.

View File

@@ -4,7 +4,7 @@
// and quorum size calculation. // and quorum size calculation.
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for RaftGroup lifecycle: membership helpers, factory method, /// Tests for RaftGroup lifecycle: membership helpers, factory method,

View File

@@ -4,7 +4,7 @@
// and non-leader rejection. // and non-leader rejection.
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for StreamReplicaGroup stream-specific RAFT apply logic: /// Tests for StreamReplicaGroup stream-specific RAFT apply logic:

View File

@@ -5,7 +5,7 @@
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
using NATS.Server.Raft; using NATS.Server.Raft;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for B10: per-stream RAFT apply logic added to StreamReplicaGroup. /// Tests for B10: per-stream RAFT apply logic added to StreamReplicaGroup.

View File

@@ -12,7 +12,7 @@ using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Publish; using NATS.Server.JetStream.Publish;
using NATS.Server.Raft; using NATS.Server.Raft;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests covering per-stream RAFT groups: stream assignment proposal, /// Tests covering per-stream RAFT groups: stream assignment proposal,

View File

@@ -2,7 +2,7 @@
// Covers: UniqueTag enforcement, HA asset limits, weighted scoring by available resources. // Covers: UniqueTag enforcement, HA asset limits, weighted scoring by available resources.
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for topology-aware placement: JetStreamUniqueTag enforcement, /// Tests for topology-aware placement: JetStreamUniqueTag enforcement,

View File

@@ -3,7 +3,7 @@
// SkippedUnsupportedEntries counter, mixed-version batch partial apply. // SkippedUnsupportedEntries counter, mixed-version batch partial apply.
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
namespace NATS.Server.Tests.JetStream.Cluster; namespace NATS.Server.JetStream.Tests.JetStream.Cluster;
/// <summary> /// <summary>
/// Tests for graceful handling of version-incompatible stream/consumer assignments /// Tests for graceful handling of version-incompatible stream/consumer assignments

View File

@@ -15,7 +15,7 @@ using NATS.Server.JetStream.Consumers;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
namespace NATS.Server.Tests.JetStream; namespace NATS.Server.JetStream.Tests.JetStream;
/// <summary> /// <summary>
/// Consumer delivery parity tests ported from the Go reference implementation. /// Consumer delivery parity tests ported from the Go reference implementation.

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Consumers;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
/// <summary> /// <summary>
/// Tests for enhanced AckProcessor with RedeliveryTracker integration. /// Tests for enhanced AckProcessor with RedeliveryTracker integration.

View File

@@ -1,7 +1,7 @@
// Go: consumer.go:2550 (processAckMsg, processNak, processTerm, processAckProgress) // Go: consumer.go:2550 (processAckMsg, processNak, processTerm, processAckProgress)
using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Consumers;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
public class AckProcessorNakTests public class AckProcessorNakTests
{ {

View File

@@ -2,7 +2,7 @@ using NATS.Server.JetStream.Consumers;
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
using Shouldly; using Shouldly;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
/// <summary> /// <summary>
/// Tests for cluster-aware pending pull request tracking in PullConsumerEngine. /// Tests for cluster-aware pending pull request tracking in PullConsumerEngine.

View File

@@ -10,7 +10,7 @@ using NATS.Server.JetStream.Models;
using NATS.Server.Subscriptions; using NATS.Server.Subscriptions;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
/// <summary> /// <summary>
/// Go parity tests ported from jetstream_consumer_test.go for consumer /// Go parity tests ported from jetstream_consumer_test.go for consumer

View File

@@ -13,7 +13,7 @@ using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
/// <summary> /// <summary>
/// Consumer lifecycle tests: pause/resume, replay, priority pull, state persistence, /// Consumer lifecycle tests: pause/resume, replay, priority pull, state persistence,

View File

@@ -1,7 +1,7 @@
using NATS.Server.JetStream; using NATS.Server.JetStream;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
/// <summary> /// <summary>
/// Tests for consumer pause/resume with auto-resume timer. /// Tests for consumer pause/resume with auto-resume timer.

View File

@@ -10,7 +10,7 @@ using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
using NATS.Server.Subscriptions; using NATS.Server.Subscriptions;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
/// <summary> /// <summary>
/// Go parity tests ported from jetstream_consumer_test.go covering pull consumer /// Go parity tests ported from jetstream_consumer_test.go covering pull consumer

View File

@@ -5,7 +5,7 @@ using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
using System.Text; using System.Text;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
/// <summary> /// <summary>
/// Tests for consumer reset-to-sequence (Gap 3.12) and AckProcessor.ClearAll / SetAckFloor. /// Tests for consumer reset-to-sequence (Gap 3.12) and AckProcessor.ClearAll / SetAckFloor.

View File

@@ -1,7 +1,7 @@
// Go: consumer.go hasDeliveryInterest, deleteNotActive // Go: consumer.go hasDeliveryInterest, deleteNotActive
using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Consumers;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
public class DeliveryInterestTests public class DeliveryInterestTests
{ {

View File

@@ -7,7 +7,7 @@ using NATS.Server.JetStream.Consumers;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
public class DeliveryLoopTests public class DeliveryLoopTests
{ {

View File

@@ -3,7 +3,7 @@
// and skip sequence gap tracking. // and skip sequence gap tracking.
using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Consumers;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
public class FilterSkipTests public class FilterSkipTests
{ {

View File

@@ -10,9 +10,8 @@ using NATS.Server.JetStream;
using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Consumers;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
using NATS.Server.Tests;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
public class IdleHeartbeatTests public class IdleHeartbeatTests
{ {

View File

@@ -1,7 +1,7 @@
// Go: consumer.go maxDeliver config — max delivery enforcement and advisory generation // Go: consumer.go maxDeliver config — max delivery enforcement and advisory generation
using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Consumers;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
public class MaxDeliveriesTests public class MaxDeliveriesTests
{ {

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Consumers;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
/// <summary> /// <summary>
/// Tests for priority group pin ID management. /// Tests for priority group pin ID management.

View File

@@ -8,7 +8,7 @@ using NATS.Server.JetStream.Consumers;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
public class PriorityGroupTests public class PriorityGroupTests
{ {

View File

@@ -7,7 +7,7 @@ using NATS.Server.JetStream.Consumers;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
public class PullConsumerTimeoutTests public class PullConsumerTimeoutTests
{ {

View File

@@ -7,7 +7,7 @@ using NATS.Server.JetStream.Consumers;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
public class PushConsumerDeliveryTests public class PushConsumerDeliveryTests
{ {

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Consumers;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
/// <summary> /// <summary>
/// Tests for the new PriorityQueue-based RedeliveryTracker features. /// Tests for the new PriorityQueue-based RedeliveryTracker features.

View File

@@ -2,7 +2,7 @@
// addToRedeliverQueue, maxdeliver check) // addToRedeliverQueue, maxdeliver check)
using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Consumers;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
public class RedeliveryTrackerTests public class RedeliveryTrackerTests
{ {

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Consumers;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
/// <summary> /// <summary>
/// Tests for SampleTracker: sample frequency parsing and stochastic latency sampling. /// Tests for SampleTracker: sample frequency parsing and stochastic latency sampling.

View File

@@ -1,7 +1,7 @@
// Go: consumer.go (rateLimitBps config, rate limiting in consumer delivery) // Go: consumer.go (rateLimitBps config, rate limiting in consumer delivery)
using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Consumers;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
public class TokenBucketTests public class TokenBucketTests
{ {

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Consumers;
namespace NATS.Server.Tests.JetStream.Consumers; namespace NATS.Server.JetStream.Tests.JetStream.Consumers;
/// <summary> /// <summary>
/// Tests for WaitingRequestQueue FIFO queue with expiry and batch/byte tracking. /// Tests for WaitingRequestQueue FIFO queue with expiry and batch/byte tracking.

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream; using NATS.Server.JetStream;
namespace NATS.Server.Tests.JetStream; namespace NATS.Server.JetStream.Tests.JetStream;
/// <summary> /// <summary>
/// Tests for InterestRetentionPolicy per-consumer ack tracking. /// Tests for InterestRetentionPolicy per-consumer ack tracking.

View File

@@ -8,7 +8,7 @@ using NATS.Server.JetStream.Api;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream; namespace NATS.Server.JetStream.Tests.JetStream;
public class JetStreamAccountLimitTests public class JetStreamAccountLimitTests
{ {

View File

@@ -1,4 +1,4 @@
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class JetStreamAckRedeliveryStateMachineTests public class JetStreamAckRedeliveryStateMachineTests
{ {

View File

@@ -10,7 +10,7 @@ using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream; namespace NATS.Server.JetStream.Tests.JetStream;
public class JetStreamAdminTests public class JetStreamAdminTests
{ {

View File

@@ -1,4 +1,4 @@
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class JetStreamClusterGovernanceBehaviorParityTests public class JetStreamClusterGovernanceBehaviorParityTests
{ {

View File

@@ -1,7 +1,7 @@
using NATS.Server.JetStream.Cluster; using NATS.Server.JetStream.Cluster;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class JetStreamClusterGovernanceRuntimeParityTests public class JetStreamClusterGovernanceRuntimeParityTests
{ {

View File

@@ -1,7 +1,7 @@
using NATS.Server.Configuration; using NATS.Server.Configuration;
using NATS.Server.JetStream; using NATS.Server.JetStream;
namespace NATS.Server.Tests.JetStream; namespace NATS.Server.JetStream.Tests.JetStream;
public class JetStreamConfigModelParityBatch3Tests public class JetStreamConfigModelParityBatch3Tests
{ {

View File

@@ -4,7 +4,7 @@
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream; namespace NATS.Server.JetStream.Tests.JetStream;
public class JetStreamConsumerCrudTests public class JetStreamConsumerCrudTests
{ {

View File

@@ -1,7 +1,7 @@
using NATS.Server.JetStream; using NATS.Server.JetStream;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class JetStreamConsumerDeliverPolicyLongRunTests public class JetStreamConsumerDeliverPolicyLongRunTests
{ {

View File

@@ -6,7 +6,7 @@ using NATS.Server.JetStream.Consumers;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream; namespace NATS.Server.JetStream.Tests.JetStream;
public class JetStreamConsumerDeliveryEdgeTests public class JetStreamConsumerDeliveryEdgeTests
{ {

View File

@@ -6,7 +6,7 @@ using System.Text;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream; namespace NATS.Server.JetStream.Tests.JetStream;
public class JetStreamConsumerFeatureTests public class JetStreamConsumerFeatureTests
{ {

View File

@@ -3,7 +3,7 @@ using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
using NATS.Server.JetStream; using NATS.Server.JetStream;
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class JetStreamConsumerFlowReplayParityTests public class JetStreamConsumerFlowReplayParityTests
{ {

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream.Consumers; using NATS.Server.JetStream.Consumers;
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class JetStreamConsumerRuntimeParityTests public class JetStreamConsumerRuntimeParityTests
{ {

View File

@@ -1,7 +1,7 @@
using NATS.Server.JetStream; using NATS.Server.JetStream;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
namespace NATS.Server.Tests.JetStream; namespace NATS.Server.JetStream.Tests.JetStream;
public class JetStreamConsumerStateMachineStrictParityTests public class JetStreamConsumerStateMachineStrictParityTests
{ {

View File

@@ -1,4 +1,4 @@
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class JetStreamCrossClusterBehaviorParityTests public class JetStreamCrossClusterBehaviorParityTests
{ {

View File

@@ -2,7 +2,7 @@ using Microsoft.Extensions.Logging.Abstractions;
using NATS.Server.Configuration; using NATS.Server.Configuration;
using NATS.Server.Gateways; using NATS.Server.Gateways;
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class JetStreamCrossClusterRuntimeParityTests public class JetStreamCrossClusterRuntimeParityTests
{ {

View File

@@ -2,7 +2,7 @@ using NATS.Server.JetStream;
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.JetStream.Publish; using NATS.Server.JetStream.Publish;
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class JetStreamDedupeWindowParityTests public class JetStreamDedupeWindowParityTests
{ {

View File

@@ -5,7 +5,7 @@
using NATS.Server.JetStream.Models; using NATS.Server.JetStream.Models;
using NATS.Server.TestUtilities; using NATS.Server.TestUtilities;
namespace NATS.Server.Tests.JetStream; namespace NATS.Server.JetStream.Tests.JetStream;
public class JetStreamDirectGetTests public class JetStreamDirectGetTests
{ {

View File

@@ -1,7 +1,7 @@
using System.Text; using System.Text;
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class JetStreamFileStoreCompressionEncryptionParityTests public class JetStreamFileStoreCompressionEncryptionParityTests
{ {

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class JetStreamFileStoreCryptoCompressionTests public class JetStreamFileStoreCryptoCompressionTests
{ {

View File

@@ -1,7 +1,7 @@
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
using System.Text; using System.Text;
namespace NATS.Server.Tests; namespace NATS.Server.JetStream.Tests;
public class JetStreamFileStoreDurabilityParityTests public class JetStreamFileStoreDurabilityParityTests
{ {

View File

@@ -1,6 +1,6 @@
using NATS.Server.JetStream.Storage; using NATS.Server.JetStream.Storage;
namespace NATS.Server.Tests.JetStream; namespace NATS.Server.JetStream.Tests.JetStream;
public class JetStreamFileStoreInvariantTests public class JetStreamFileStoreInvariantTests
{ {

Some files were not shown because too many files have changed in this diff Show More