Fix E2E test gaps and add comprehensive E2E + parity test suites
- Fix pull consumer fetch: send original stream subject in HMSG (not inbox) so NATS client distinguishes data messages from control messages - Fix MaxAge expiry: add background timer in StreamManager for periodic pruning - Fix JetStream wire format: Go-compatible anonymous objects with string enums, proper offset-based pagination for stream/consumer list APIs - Add 42 E2E black-box tests (core messaging, auth, TLS, accounts, JetStream) - Add ~1000 parity tests across all subsystems (gaps closure) - Update gap inventory docs to reflect implementation status
This commit is contained in:
@@ -8,7 +8,18 @@ public sealed class StreamConfig
|
||||
public int MaxMsgs { get; set; }
|
||||
public long MaxBytes { get; set; }
|
||||
public int MaxMsgsPer { get; set; }
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public int MaxAgeMs { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// MaxAge in nanoseconds for JSON wire compatibility with Go server.
|
||||
/// Go reference: StreamConfig.MaxAge is a time.Duration (nanoseconds in JSON).
|
||||
/// </summary>
|
||||
public long MaxAge
|
||||
{
|
||||
get => (long)MaxAgeMs * 1_000_000L;
|
||||
set => MaxAgeMs = (int)(value / 1_000_000);
|
||||
}
|
||||
public int MaxMsgSize { get; set; }
|
||||
public int MaxConsumers { get; set; }
|
||||
public int DuplicateWindowMs { get; set; }
|
||||
|
||||
Reference in New Issue
Block a user