using NATS.Server.Protocol; namespace NATS.Server.Tests; public class ClientKindProtocolRoutingTests { [Theory] [InlineData(ClientKind.Client, "RS+", false)] [InlineData(ClientKind.Router, "RS+", true)] [InlineData(ClientKind.Client, "RS-", false)] [InlineData(ClientKind.Router, "RS-", true)] [InlineData(ClientKind.Client, "RMSG", false)] [InlineData(ClientKind.Router, "RMSG", true)] [InlineData(ClientKind.Client, "A+", false)] [InlineData(ClientKind.Gateway, "A+", true)] [InlineData(ClientKind.Client, "A-", false)] [InlineData(ClientKind.Gateway, "A-", true)] [InlineData(ClientKind.Client, "LS+", false)] [InlineData(ClientKind.Leaf, "LS+", true)] [InlineData(ClientKind.Client, "LS-", false)] [InlineData(ClientKind.Leaf, "LS-", true)] [InlineData(ClientKind.Client, "LMSG", false)] [InlineData(ClientKind.Leaf, "LMSG", true)] public void Client_kind_protocol_matrix_enforces_inter_server_commands(ClientKind kind, string op, bool expected) { var matrix = new ClientCommandMatrix(); matrix.IsAllowed(kind, op).ShouldBe(expected); } }