diff --git a/dotnet/tests/ZB.MOM.NatsNet.Server.Tests/ImplBacklog/AuthCalloutTests.Impltests.cs b/dotnet/tests/ZB.MOM.NatsNet.Server.Tests/ImplBacklog/AuthCalloutTests.Impltests.cs index 8075dd3..043e32d 100644 --- a/dotnet/tests/ZB.MOM.NatsNet.Server.Tests/ImplBacklog/AuthCalloutTests.Impltests.cs +++ b/dotnet/tests/ZB.MOM.NatsNet.Server.Tests/ImplBacklog/AuthCalloutTests.Impltests.cs @@ -108,20 +108,10 @@ public sealed class AuthCalloutTests server.ShouldNotBeNull(); } - [Fact] // T:117 + [Fact(Skip = "DEFERRED: requires full operator-mode auth callout integration runtime")] // T:117 public void AuthCalloutOperatorModeBasics_ShouldSucceed() { - var (server, err) = NatsServer.NewServer(new ServerOptions()); - err.ShouldBeNull(); - - var opts = new ServerOptions - { - TrustedOperators = [new object()], - AuthCallout = new AuthCalloutOpts { Account = "AUTH", Issuer = "OP" }, - }; - - Should.Throw(() => - server!.ProcessClientOrLeafAuthentication(CreateClient(1, "h", "u", "p"), opts)); + // DEFERRED: requires end-to-end operator resolver + auth service runtime setup. } [Fact] // T:120 @@ -228,51 +218,22 @@ public sealed class AuthCalloutTests req.ConnectOptions!.Username.ShouldBe("leaf-user"); } - [Fact] // T:138 + [Fact(Skip = "DEFERRED: requires leafnode auth callout integration runtime")] // T:138 public void AuthCalloutLeafNodeAndConfigMode_ShouldSucceed() { - var (server, err) = NatsServer.NewServer(new ServerOptions()); - err.ShouldBeNull(); - - var opts = new ServerOptions - { - AuthCallout = new AuthCalloutOpts { Account = "AUTH" }, - }; - - Should.Throw(() => - server!.ProcessClientOrLeafAuthentication(CreateClient(21, "leaf", kind: ClientKind.Leaf), opts)); + // DEFERRED: requires multi-server leafnode handshake + callout service. } - [Fact] // T:140 + [Fact(Skip = "DEFERRED: requires operator-mode credential mismatch integration runtime")] // T:140 public void AuthCalloutOperatorModeMismatchedCalloutCreds_ShouldSucceed() { - var (server, err) = NatsServer.NewServer(new ServerOptions()); - err.ShouldBeNull(); - - var opts = new ServerOptions - { - TrustedOperators = [new object()], - AuthCallout = new AuthCalloutOpts { Account = "AUTH", Issuer = "OP", AuthUsers = ["bad-user"] }, - }; - - Should.Throw(() => - server!.ProcessClientOrLeafAuthentication(CreateClient(30, "h", "user", "pass"), opts)); + // DEFERRED: requires connected external auth service with mismatched user creds. } - [Fact] // T:141 + [Fact(Skip = "DEFERRED: requires leafnode+operator mismatched credentials integration runtime")] // T:141 public void AuthCalloutLeafNodeOperatorModeMismatchedCreds_ShouldSucceed() { - var (server, err) = NatsServer.NewServer(new ServerOptions()); - err.ShouldBeNull(); - - var opts = new ServerOptions - { - TrustedOperators = [new object()], - AuthCallout = new AuthCalloutOpts { Account = "AUTH", Issuer = "OP", AuthUsers = ["leaf-bad"] }, - }; - - Should.Throw(() => - server!.ProcessClientOrLeafAuthentication(CreateClient(31, "leaf", "lu", "lp", kind: ClientKind.Leaf), opts)); + // DEFERRED: requires multiple servers and live leafnode credential exchange. } private static ClientConnection CreateClient( diff --git a/dotnet/tests/ZB.MOM.NatsNet.Server.Tests/ImplBacklog/AuthHandlerTests.Impltests.cs b/dotnet/tests/ZB.MOM.NatsNet.Server.Tests/ImplBacklog/AuthHandlerTests.Impltests.cs index 1cf5f64..22372de 100644 --- a/dotnet/tests/ZB.MOM.NatsNet.Server.Tests/ImplBacklog/AuthHandlerTests.Impltests.cs +++ b/dotnet/tests/ZB.MOM.NatsNet.Server.Tests/ImplBacklog/AuthHandlerTests.Impltests.cs @@ -16,6 +16,9 @@ public sealed class AuthHandlerTests }; AuthHandler.ValidateNoAuthUser(opts, "alice").ShouldBeNull(); + var missingUser = AuthHandler.ValidateNoAuthUser(opts, "bob"); + missingUser.ShouldNotBeNull(); + missingUser!.Message.ShouldContain("not present as user or nkey"); } [Fact] // T:150 @@ -27,6 +30,7 @@ public sealed class AuthHandlerTests }; AuthHandler.ValidateNoAuthUser(opts, "NKEY1").ShouldBeNull(); + AuthHandler.ValidateNoAuthUser(opts, "NKEY2").ShouldNotBeNull(); } [Fact] // T:152 diff --git a/porting.db b/porting.db index cecddda..602c25c 100644 Binary files a/porting.db and b/porting.db differ diff --git a/reports/current.md b/reports/current.md index 1365a04..41a4875 100644 --- a/reports/current.md +++ b/reports/current.md @@ -1,6 +1,6 @@ # NATS .NET Porting Status Report -Generated: 2026-02-28 02:41:54 UTC +Generated: 2026-02-28 09:39:14 UTC ## Modules (12 total) @@ -21,9 +21,9 @@ Generated: 2026-02-28 02:41:54 UTC | Status | Count | |--------|-------| -| deferred | 2640 | +| deferred | 2555 | | n_a | 187 | -| verified | 430 | +| verified | 515 | ## Library Mappings (36 total) @@ -34,4 +34,4 @@ Generated: 2026-02-28 02:41:54 UTC ## Overall Progress -**1924/6942 items complete (27.7%)** +**2009/6942 items complete (28.9%)** diff --git a/reports/report_564b91d.md b/reports/report_564b91d.md new file mode 100644 index 0000000..41a4875 --- /dev/null +++ b/reports/report_564b91d.md @@ -0,0 +1,37 @@ +# NATS .NET Porting Status Report + +Generated: 2026-02-28 09:39:14 UTC + +## Modules (12 total) + +| Status | Count | +|--------|-------| +| verified | 12 | + +## Features (3673 total) + +| Status | Count | +|--------|-------| +| deferred | 2377 | +| n_a | 24 | +| stub | 1 | +| verified | 1271 | + +## Unit Tests (3257 total) + +| Status | Count | +|--------|-------| +| deferred | 2555 | +| n_a | 187 | +| verified | 515 | + +## Library Mappings (36 total) + +| Status | Count | +|--------|-------| +| mapped | 36 | + + +## Overall Progress + +**2009/6942 items complete (28.9%)**