예제 #1
0
        public void DisposeShouldHitChannelDispose()
        {
            // Arrange
            var consumerChannelFactory = new ConsumerChannelFactory(_connectionWrapper.Object);

            var channel = new Mock <IModel>();

            _connection.Setup(x => x.CreateModel()).Returns(channel.Object);

            // Act
            var channel1 = consumerChannelFactory.Channel;
            var channel2 = consumerChannelFactory.Channel;

            consumerChannelFactory.Dispose();

            // Assert
            channel.Verify(x => x.Close(), Times.Exactly(2));
        }
        public void DisposeShouldHitChannelDispose()
        {
            // Arrange
            var consumerChannelFactory = new ConsumerChannelFactory(_connectionWrapper.Object, _logger.Object, _channelRecovery.Object);

            var channel = new Mock <IModel>();

            channel.Setup(x => x.IsOpen).Returns(true);
            _connection.Setup(x => x.CreateModel()).Returns(channel.Object);

            // Act
            consumerChannelFactory.Channel(chn => {});
            consumerChannelFactory.Channel(chn => {});
            consumerChannelFactory.Dispose();

            // Assert
            channel.Verify(x => x.Close(), Times.Exactly(2));
        }