示例#1
0
        public void NatsOperationId_verify_enum()
        {
            var names = Enum.GetNames(typeof(NatsOperationId));

            foreach (var name in names)
            {
                var opId = name switch
                {
                    "OK" => NatsOperation.GetOpId("+OK"),
                    "ERR" => NatsOperation.GetOpId("-ERR"),
                    _ => NatsOperation.GetOpId(name)
                };
                var n = Enum.GetName(typeof(NatsOperationId), opId);

                Assert.Equal(name, n);
            }
        }
    }
示例#2
0
        ValueTask INatsOperationHandler.HandleOperation(NatsOperation op)
        {
            switch (op.OpId)
            {
            case NatsOperationId.PING:
                logger.LogTrace("--- ping");
                Pong();
                break;

            case NatsOperationId.PONG:
                logger.LogTrace("--- pong");
                break;

            case NatsOperationId.OK:
                logger.LogTrace("--- OK");
                break;

            case NatsOperationId.ERR:
                var err = (ErrOperation)op.Op;
                logger.LogTrace($"--- ERR: {err}");
                break;

            case NatsOperationId.INFO:
                Info = (ServerInfo)op.Op;
                logger.LogTrace($"--- INFO: {Info}");
                break;

            case NatsOperationId.MSG:
                var msg = (MsgOperation)op.Op;
                logger.LogTrace($"--- MSG: {op.Op}");
                return(subscriptions.InvokeAsync(msg));

            default:
                logger.LogError("--- UNSUPPORTED - {OpId}", op.OpId);
                break;
            }

            return(default);
示例#3
0
 public void NameToId(string op)
 {
     output.WriteLine($"{op} - {NatsOperation.GetOpId(op)}");
     Assert.Equal(NatsOperation.GetOpId(op), NatsOperation.GetOpId(op.ToLowerInvariant()));
 }