Example #1
0
        public async Task ExecuteAsync_RequestsIsEmpty_Throws()
        {
            var target = new RespClient(new RedisCacheOptions {
                Host = "foo"
            });
            var requests = Array.Empty <IRequest>();
            var e        = await Assert.ThrowsExceptionAsync <ArgumentException>(() => target.ExecuteAsync(requests));

            Assert.AreEqual(e.ParamName, "requests");
        }
Example #2
0
        public void Execute_RequestIsNull_Throws()
        {
            var target = new RespClient(new RedisCacheOptions {
                Host = "foo"
            });
            IRequest request = null;
            var      e       = Assert.ThrowsException <ArgumentNullException>(() => target.Execute(request));

            Assert.AreEqual(e.ParamName, "request");
        }
Example #3
0
        public async Task ExecuteAsync_RequestIsNull_Throws()
        {
            var target = new RespClient(new RedisCacheOptions {
                Host = "foo"
            });
            IRequest request = null;
            var      e       = await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => target.ExecuteAsync(request));

            Assert.AreEqual(e.ParamName, "request");
        }
Example #4
0
        protected override void BeginProcessing()
        {
            // existing connection will be disposed.
            if (Global.RespClient != null)
            {
                Global.RespClient.Dispose();
            }

            this.WriteVerbose(string.Format("trying connect to server : {0}:{1}", Host, Port));
            var client = new RespClient(Host ?? "127.0.0.1", Port ?? 6379, IoTimeout ?? -1);

            client.Connect();

            Global.RespClient = client;
        }
Example #5
0
        public void ExecuteAsync_WithTransportConnectionAsyncClosed_InvokesConnectAsync()
        {
            var transportMock = new Mock <ITransport>();

            transportMock.Setup(t => t.State).Returns(TransportState.Closed);
            transportMock.Setup(t => t.SendAsync(It.IsAny <ReadOnlySequence <byte> >(), default))
            .ReturnsAsync(new ReadOnlySequence <byte>(Encoding.UTF8.GetBytes($"+foo\r\n")));

            var target = new RespClient(new RedisCacheOptions {
                Host = "foo"
            }, transportMock.Object);
            var request = Mock.Of <IRequest>(r => r.Command == "foo" && r.GetArgs() == Array.Empty <object>());

            var response = target.ExecuteAsync(request);

            Assert.IsNotNull(response);
            transportMock.Verify(t => t.ConnectAsync(default), Times.Once());