public void WhenQueueNameNotWhitespace_ShouldPublishMessage()
            {
                // arrange
                var queueName = "test-queue";
                var message   = new EmailMessage
                {
                    To      = "*****@*****.**",
                    From    = "*****@*****.**",
                    Subject = "Test",
                    Message = "Hello!"
                };

                var channel    = Substitute.For <IModel>();
                var connection = Substitute.For <IConnection>();

                connection.CreateModel().Returns(channel);
                var connectionFactory = Substitute.For <IConnectionFactory>();

                connectionFactory.CreateConnection().Returns(connection);

                var rabbitMqContext = new RabbitMqContext(connectionFactory);

                // act
                rabbitMqContext.PublishMessage(queueName, message);
                // assert
                channel.Received(1).BasicPublish(Arg.Is <string>(s => s == string.Empty),
                                                 Arg.Is <string>(s => s == queueName),
                                                 Arg.Is <bool>(b => !b),
                                                 Arg.Any <IBasicProperties>(),
                                                 Arg.Any <byte[]>());
            }
Пример #2
0
        public IRabbitMqTestContext Build()
        {
            var rabbitServer      = new RabbitServer();
            var connectionFactory = new FakeConnectionFactory(rabbitServer);
            var rabbitMqContext   = new RabbitMqContext(connectionFactory);

            Configure_Queue_Binding(rabbitServer, _exchangeName, _queueName);

            return(new RabbitMqTestContext(rabbitMqContext, connectionFactory, _queueName));
        }
            public void WhenPassedWhitespaceQueueName_ShouldNotCreateQueue(string queueName)
            {
                // arrange
                var channel    = Substitute.For <IModel>();
                var connection = Substitute.For <IConnection>();

                connection.CreateModel().Returns(channel);
                var connectionFactory = Substitute.For <IConnectionFactory>();

                connectionFactory.CreateConnection().Returns(connection);

                var rabbitMqContext = new RabbitMqContext(connectionFactory);

                // act
                rabbitMqContext.DeclareQueue(queueName);
                // assert
                channel.DidNotReceive().QueueDeclare(Arg.Any <string>(), Arg.Any <bool>(), Arg.Any <bool>(), Arg.Any <bool>(), Arg.Any <IDictionary <string, object> >());
            }
            public void WhenPassedValidQueueName_ShouldCreateQueue()
            {
                // arrange
                var queueName = "test-queue";

                var channel    = Substitute.For <IModel>();
                var connection = Substitute.For <IConnection>();

                connection.CreateModel().Returns(channel);
                var connectionFactory = Substitute.For <IConnectionFactory>();

                connectionFactory.CreateConnection().Returns(connection);

                var rabbitMqContext = new RabbitMqContext(connectionFactory);

                // act
                rabbitMqContext.DeclareQueue(queueName);
                // assert
                channel.Received(1).QueueDeclare(Arg.Is <string>(s => s == queueName),
                                                 Arg.Is <bool>(b => b),
                                                 Arg.Is <bool>(b => !b),
                                                 Arg.Is <bool>(b => !b),
                                                 Arg.Is <IDictionary <string, object> >(d => d == null));
            }