Esempio n. 1
0
        private RabbitMQEventBus CreateEventbus()
        {
            _channelMock.Setup(x => x.ExchangeDeclare(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <IDictionary <string, object> >()))
            .Verifiable();
            _channelMock.Setup(x => x.QueueDeclare(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <IDictionary <string, object> >()))
            .Returns((string queue, bool durable, bool exclusive, bool autoDelete, IDictionary <string, object> arguments) => new QueueDeclareOk(queue, 0, 1))
            .Verifiable();

            _channelMock.Setup(x => x.BasicConsume(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <bool>(), It.IsAny <IDictionary <string, object> >(), It.IsAny <IBasicConsumer>()))
            .Returns("")
            .Verifiable();

            _optionMock.SetupGet(x => x.Value)
            .Returns(RabbitMQOptionsProvider.CreateOptions())
            .Verifiable();
            _connectionMock.Setup(x => x.TryConnect())
            .Returns(true)
            .Verifiable();
            _connectionMock.SetupGet(x => x.IsConnected)
            .Returns(false)
            .Verifiable();
            _connectionMock.Setup(x => x.CreateModel())
            .Returns(_channelMock.Object)
            .Verifiable();

            return(new RabbitMQEventBus(_connectionMock.Object,
                                        _loggerMock.Object,
                                        _optionMock.Object,
                                        _serviceProviderMock.Object,
                                        _diagnositcSource.Object));
        }
Esempio n. 2
0
        public void TryConnect_StateUnderTest_ExpectedBehavior()
        {
            // Arrange
            _optionsMock.Setup(x => x.Value)
            .Returns(RabbitMQOptionsProvider.CreateOptions())
            .Verifiable();
            _loggerMock.Setup(x => x.Log(It.Is <LogLevel>(l => l == LogLevel.Information), It.IsAny <EventId>(),
                                         It.IsAny <object>(),
                                         It.IsAny <Exception>(),
                                         It.IsAny <Func <object, Exception, string> >()))
            .Verifiable();

            var connectionMock = _mockRepository.Create <IConnection>();

            connectionMock.Setup(x => x.IsOpen)
            .Returns(true)
            .Verifiable();

            connectionMock.SetupGet(x => x.Endpoint)
            .Returns(new AmqpTcpEndpoint()
            {
                HostName = "host"
            })
            .Verifiable();

            _connectionFactoryMock.Setup(x => x.CreateConnection())
            .Returns(connectionMock.Object)
            .Verifiable();
            var tester = CreateRabbitMQPersistentConnection();

            // Act
            var result = tester.TryConnect();

            // Assert
            Assert.True(result);
        }