Files
natsdotnet/tests/NATS.Server.Tests/ClientKindProtocolRoutingTests.cs

30 lines
1.1 KiB
C#

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);
}
}