using Shouldly; using ZB.MOM.NatsNet.Server; using ZB.MOM.NatsNet.Server.Auth; using ZB.MOM.NatsNet.Server.Internal; namespace ZB.MOM.NatsNet.Server.Tests.ImplBacklog; public sealed class AuthHandlerTests { [Fact] // T:149 public void NoAuthUser_ShouldSucceed() { var opts = new ServerOptions { Users = [new User { Username = "alice" }], }; 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 public void NoAuthUserNkey_ShouldSucceed() { var opts = new ServerOptions { Nkeys = [new NkeyUser { Nkey = "NKEY1" }], }; AuthHandler.ValidateNoAuthUser(opts, "NKEY1").ShouldBeNull(); AuthHandler.ValidateNoAuthUser(opts, "NKEY2").ShouldNotBeNull(); } [Fact] // T:152 public void NoAuthUserNoConnectProto_ShouldSucceed() { var opts = new ServerOptions { Users = [new User { Username = "alice" }], }; var err = AuthHandler.ValidateNoAuthUser(opts, "bob"); err.ShouldNotBeNull(); err!.Message.ShouldContain("not present as user or nkey"); } }