コード例 #1
0
ファイル: EventBusTest.cs プロジェクト: degrootwim/AuditLog
        public void AddCommandListenerShouldHaveBasicConsumer()
        {
            // Arrange
            IBasicConsumer basicConsumer  = null;
            var            modelMock      = new Mock <IModel>();
            var            model          = modelMock.Object;
            var            connectionMock = new Mock <IConnection>();
            var            connection     = connectionMock.Object;

            connectionMock.Setup(mock => mock.CreateModel()).Returns(model);
            modelMock.Setup(mock => mock.QueueDeclare(string.Empty, false, true, true, null))
            .Returns(new QueueDeclareOk("TestQueue", 0, 1));
            modelMock.Setup(mock =>
                            mock.BasicConsume("TestQueue", false, It.IsAny <string>(), false, false, null,
                                              It.IsAny <IBasicConsumer>()))
            .Callback((
                          string queue,
                          bool autoAck,
                          string consumerTag,
                          bool noLocal,
                          bool exclusive,
                          IDictionary <string, object> arguments,
                          IBasicConsumer consumer) =>
            {
                basicConsumer = consumer;
            });
            using var eventBus = new EventBus(connection, "TestExchange");

            // Act
            eventBus.AddCommandListener(new Mock <ICommandListener>().Object, "TestQueue");

            // Assert
            Assert.IsNotNull(basicConsumer);
        }
コード例 #2
0
ファイル: EventBusTest.cs プロジェクト: degrootwim/AuditLog
        public void AddCommandListenerShouldCallQueueDeclare()
        {
            // Arrange
            var modelMock      = new Mock <IModel>();
            var model          = modelMock.Object;
            var connectionMock = new Mock <IConnection>();
            var connection     = connectionMock.Object;

            connectionMock.Setup(mock => mock.CreateModel()).Returns(model);
            modelMock.Setup(mock => mock.QueueDeclare(string.Empty, false, true, true, null))
            .Returns(new QueueDeclareOk("TestQueue", 0, 1));
            using var eventBus = new EventBus(connection, "TestExchange");

            // Act
            eventBus.AddCommandListener(new Mock <ICommandListener>().Object, "TestQueue");

            // Assert
            modelMock.Verify(mock => mock.QueueDeclare("TestQueue", true, false, false, null));
        }
コード例 #3
0
ファイル: EventBusTest.cs プロジェクト: degrootwim/AuditLog
        public void AddCommandListenerShouldAddHandleToConsumerReceived()
        {
            // Arrange
            IBasicConsumer basicConsumer       = null;
            var            modelMock           = new Mock <IModel>();
            var            model               = modelMock.Object;
            var            connectionMock      = new Mock <IConnection>();
            var            connection          = connectionMock.Object;
            var            commandListenerMock = new Mock <ICommandListener>();

            connectionMock.Setup(mock => mock.CreateModel()).Returns(model);
            modelMock.Setup(mock => mock.QueueDeclare(string.Empty, false, true, true, null))
            .Returns(new QueueDeclareOk("TestQueue", 0, 1));
            modelMock.Setup(mock =>
                            mock.BasicConsume("TestQueue", false, It.IsAny <string>(), false, false, null,
                                              It.IsAny <IBasicConsumer>()))
            .Callback((
                          string queue,
                          bool autoAck,
                          string consumerTag,
                          bool noLocal,
                          bool exclusive,
                          IDictionary <string, object> arguments,
                          IBasicConsumer consumer) =>
            {
                basicConsumer = consumer;
            });
            using var eventBus = new EventBus(connection, "TestExchange");

            // Act
            eventBus.AddCommandListener(commandListenerMock.Object, "TestQueue");
            basicConsumer.HandleBasicDeliver("", ulong.MaxValue, false, "TestExchange", "Test.Test.*",
                                             new BasicProperties(), It.IsAny <byte[]>());


            // Assert
            commandListenerMock.Verify(mock => mock.Handle(It.IsAny <object>(), It.IsAny <BasicDeliverEventArgs>()));
        }