public void RemoveSessionByTerminalPhoneNoTest()
        {
            var ch = WebExt.CreateEmbeddedChannel();

            ch.WriteInbound(WebExt.CreatePostRequest(JT808NettyConstants.JT808WebApiRouteTable.SessionRemoveByTerminalPhoneNo, Encoding.UTF8.GetBytes("12345678")));
            var result = ch.As <bool>();

            Assert.False(result.Data);
            Assert.Equal(JT808ResultCode.Empty, result.Code);
            Assert.Equal("Session Empty", result.Message);
        }
        public void GetUdpSessionAllTest()
        {
            var ch = WebExt.CreateEmbeddedChannel(serviceProvider => {
                var sessionMgr = serviceProvider.GetRequiredService <JT808SessionManager>();
                sessionMgr.TryAdd(new EmbeddedChannel(), new IPEndPoint(IPAddress.Parse("127.0.0.1"), 888), "123456789");
            });

            ch.WriteInbound(WebExt.CreateGetRequest(JT808NettyConstants.JT808WebApiRouteTable.SessionUdpGetAll));
            var result = ch.As <List <JT808UdpSessionInfoDto> >();

            Assert.Single(result.Data);
            Assert.Equal("123456789", result.Data[0].TerminalPhoneNo);
            Assert.Equal(JT808ResultCode.Ok, result.Code);
        }
        public void UnificationSendTest()
        {
            var ch = WebExt.CreateEmbeddedChannel();
            JT808UnificationSendRequestDto jT808UnificationSendRequestDto = new JT808UnificationSendRequestDto
            {
                TerminalPhoneNo = "123456789",
                Data            = new byte[] { 1, 2, 3, 4 }
            };

            byte[] content = JsonSerializer.SerializeToUtf8Bytes(jT808UnificationSendRequestDto);
            ch.WriteInbound(WebExt.CreatePostRequest(JT808NettyConstants.JT808WebApiRouteTable.UnificationSend, content));
            var result = ch.As <bool>();

            Assert.False(result.Data);
            Assert.Equal(JT808ResultCode.Ok, result.Code);
            Assert.Equal("offline", result.Message);
        }
        public void GetTcpAtomicCounterTest()
        {
            var ch = WebExt.CreateEmbeddedChannel(serviceProvider =>
            {
                var counterFactory = serviceProvider.GetRequiredService <JT808AtomicCounterServiceFactory>();
                var counter        = counterFactory.Create(JT808TransportProtocolType.tcp);
                counter.MsgSuccessIncrement();
                counter.MsgSuccessIncrement();
                counter.MsgFailIncrement();
            });

            ch.WriteInbound(WebExt.CreateGetRequest(JT808NettyConstants.JT808WebApiRouteTable.GetTcpAtomicCounter));
            var result = ch.As <JT808AtomicCounterDto>();

            Assert.Equal(2, result.Data.MsgSuccessCount);
            Assert.Equal(1, result.Data.MsgFailCount);
            Assert.Equal(JT808ResultCode.Ok, result.Code);
        }