コード例 #1
0
        public void When_Operation_Fails_Without_SocketException_ClientFailure_Is_Returned()
        {
            var mockedSasl = new Mock <ISaslMechanism>();

            var mockedConnection = new Mock <IConnection>();

            mockedConnection.Setup(x => x.Send(It.IsAny <byte[]>())).Throws <IndexOutOfRangeException>();
            mockedConnection.Setup(x => x.IsAuthenticated).Returns(true);

            var mockedPool = new Mock <IConnectionPool>();

            mockedPool.Setup(x => x.Acquire()).Returns(mockedConnection.Object);

            var strategy = new DefaultIOStrategy(mockedPool.Object, mockedSasl.Object);
            var op       = new Add <string>(string.Empty, "", null, new DefaultTranscoder(new DefaultConverter()), 100);
            var result   = strategy.Execute(op);

            Assert.AreEqual(ResponseStatus.ClientFailure, result.Status);
        }
コード例 #2
0
        public void When_Operation_Fails_With_SocketException_TransportFailure_Is_Returned()
        {
            var mockedSasl = new Mock<ISaslMechanism>();

            var mockedConnection = new Mock<IConnection>();
            mockedConnection.Setup(x => x.Send(It.IsAny<byte[]>())).Throws<SocketException>();
            mockedConnection.Setup(x => x.IsAuthenticated).Returns(true);

            var mockedPool = new Mock<IConnectionPool>();
            mockedPool.Setup(x => x.Acquire()).Returns(mockedConnection.Object);

            var strategy = new DefaultIOStrategy(mockedPool.Object, mockedSasl.Object);
            var op = new Get<object>(string.Empty, null, new DefaultTranscoder(new DefaultConverter()), 100);
            var result = strategy.Execute(op);

            Assert.AreEqual(ResponseStatus.TransportFailure, result.Status);
        }