Example #1
0
        public void FromConsumerConfig_NullOrEmptyQueueName_Throws(string name)
        {
            var factory = new RabbitMQConnectionFactory();
            var cfg = GetConsumerConfig("host", "user", "password", "vHost", name, "exchange", "routingKey");

            Assert.Throws<ArgumentException>(() => factory.From(cfg));
        }
Example #2
0
        public void FromPublisherConfig_NullOrEmptyRoutingKey_Throws(string routingKey)
        {
            var factory = new RabbitMQConnectionFactory();
            var cfg = GetPublisherConfig("host", "user", "password", "vHost", "exchange", routingKey);

            Assert.Throws<ArgumentException>(() => factory.From(cfg));
        }
    public void FromConsumerConfig_NoQueueConfig_Throws()
    {
        var cfg = new RabbitMQConsumerOptions <string>
        {
            Host        = "host",
            VirtualHost = "vHost",
            User        = "******",
            Password    = "******",
            Queue       = null
        };

        Assert.Throws <ValidationException>(() => RabbitMQConnectionFactory <string> .From(cfg));
    }
Example #4
0
    public static void AddRabbitMQWithConfig <T>(this IPublisherBuilder <T> builder, IConfiguration config) where T : notnull
    {
        builder.AddTransient <CloudEventFormatter, JsonEventFormatter>();
        builder.Configure <RabbitMQPublisherOptions <T> >(config);

        var rabbitMqPublisherOptions = config.Get <RabbitMQPublisherOptions <T> >();
        var connectionFactory        = RabbitMQConnectionFactory <T> .From(rabbitMqPublisherOptions);

        builder.AddPublisher(sp
                             => new RabbitMQMessagePublisher <T>(connectionFactory,
                                                                 MSOptions.Create(rabbitMqPublisherOptions),
                                                                 sp.GetRequiredService <IOptions <PublisherOptions> >(),
                                                                 sp.GetRequiredService <CloudEventFormatter>()));
    }
Example #5
0
        public void FromPublisherConfig_NullPublishingTarget_Throws()
        {
            var factory = new RabbitMQConnectionFactory();
            var cfg = new RabbitMQPublisherOptions<string>
            {
                Host = "host",
                User = "******",
                Password = "******",
                VirtualHost = "vHost",
                PublishingTarget = null
            };

            Assert.Throws<ArgumentException>(() => factory.From(cfg));
        }
Example #6
0
        public void FromConsumerConfig_NoQueueConfig_Throws()
        {
            var factory = new RabbitMQConnectionFactory();
            var cfg     = new RabbitMQConsumerConfig <string>
            {
                Host        = "host",
                VirtualHost = "vHost",
                User        = "******",
                Password    = "******",
                Queue       = null
            };

            Assert.Throws <ArgumentException>(() => factory.From(cfg));
        }
Example #7
0
        public void FromPublisherConfig_CorrectConfig_ContainsAllValues()
        {
            const string host = "host";
            const string user = "******";
            const string password = "******";
            const string vHost = "vHost";
            const int port = 1000;
            var factory = new RabbitMQConnectionFactory();
            var cfg = GetPublisherConfig(host, user, password, vHost, "exchange", "test");
            cfg.Port = port;

            var connectionFactory = factory.From(cfg);

            Assert.Equal(user, connectionFactory.UserName);
            Assert.Equal(password, connectionFactory.Password);
            Assert.Equal(vHost, connectionFactory.VirtualHost);
        }
Example #8
0
    public static void AddRabbitMQWithConfig <T>(this IConsumerBuilder <T> builder, IConfiguration config)
        where T : notnull
    {
        builder.AddTransient <CloudEventFormatter, JsonEventFormatter>();
        var consumerOptions = new RabbitMQConsumerOptions <T>();

        config.Bind(consumerOptions);
        var connectionFactory = RabbitMQConnectionFactory <T> .From(consumerOptions);

        builder.AddConsumer(sp => new RabbitMQMessageConsumer <T>(
                                sp.GetRequiredService <ILogger <RabbitMQMessageConsumer <T> > >(),
                                connectionFactory,
                                MSOptions.Create(consumerOptions),
                                sp.GetRequiredService <IHostApplicationLifetime>(),
                                sp.GetRequiredService <IApplicationNameService>()));
        builder.AddSingleton <IQueueMonitor>(sp =>
                                             new RabbitMQQueueMonitor <T>(sp.GetRequiredService <ILogger <RabbitMQQueueMonitor <T> > >(),
                                                                          MSOptions.Create(consumerOptions), connectionFactory));
    }
Example #9
0
        public void FromPublisherConfig_NullConfig_Throws()
        {
            var factory = new RabbitMQConnectionFactory();

            Assert.Throws<ArgumentNullException>(() => factory.From((RabbitMQPublisherOptions<string>)null));
        }
    public void FromConsumerConfig_NullOrEmptyExchange_Throws(string exchange)
    {
        var cfg = GetConsumerConfig("host", "user", "password", "vHost", "qName", exchange, "routingKey");

        Assert.Throws <ValidationException>(() => RabbitMQConnectionFactory <string> .From(cfg));
    }
    public void FromPublisherConfig_NullOrEmptyRoutingKey_Throws(string routingKey)
    {
        var cfg = GetPublisherConfig("host", "user", "password", "vHost", "exchange", routingKey);

        Assert.Throws <ValidationException>(() => RabbitMQConnectionFactory <string> .From(cfg));
    }
 public void FromConsumerConfig_NullConfig_Throws()
 {
     Assert.Throws <ArgumentNullException>(() =>
                                           RabbitMQConnectionFactory <string> .From((RabbitMQConsumerOptions <string>)null));
 }