Пример #1
0
        public void GivenBusInitializerOptionsWhenSetOptionsShouldLoadOptions()
        {
            var configuration = new ConfigurationBuilder().Build();

            var connectionOptions = new BusConnectionOptions
            {
                ConnectionMaxRetry                 = 5,
                MessageMaxRetry                    = 5,
                PublisherBufferSize                = 5,
                PublishMaxRetry                    = 5,
                ConsumerMaxParallelTasks           = 5,
                ConnectionRetryDelayInMilliseconds = 5,
                PublisherBufferTtlInMilliseconds   = 5,
                PublishRetryDelayInMilliseconds    = 5
            };

            var builder = new BusInitializerOptionsBuilder(configuration);
            var options = builder
                          .SetConnectionString(CONNECTION_STRING)
                          .SetSerializer <BusSerializerStub>()
                          .SetOptions(connectionOptions)
                          .Build();

            options.ConnectionOptions.Should().Be(connectionOptions);
        }
Пример #2
0
        public void GivenBusInitializerOptionsWhenSetInvalidConnectionOptionsSectionNameShouldThrow()
        {
            var builder = new BusInitializerOptionsBuilder(new ConfigurationBuilder().Build());

            Action action = () => builder
                            .SetOptions((string)null)
                            .Build();

            action.Should().Throw <ArgumentException>();
        }
Пример #3
0
        public void GivenBusInitializerOptionsWhenSetInvalidSerializerTypeShouldThrow()
        {
            var builder = new BusInitializerOptionsBuilder(new ConfigurationBuilder().Build());

            Action action = () => builder
                            .SetSerializer <AbstractSerializerStub>()
                            .Build();

            action.Should().Throw <ArgumentException>();
        }
Пример #4
0
        public void GivenBusInitializerOptionsWhenNotSetSerializerTypeShouldThrow()
        {
            var builder = new BusInitializerOptionsBuilder(new ConfigurationBuilder().Build());

            Action action = () => builder
                            .SetConnectionString(CONNECTION_STRING)
                            .Build();

            action.Should().Throw <ArgumentNullException>();
        }
Пример #5
0
        public void GivenBusInitializerOptionsWhenSetInvalidConnectionStringShouldThrow(string connectionString)
        {
            var builder = new BusInitializerOptionsBuilder(new ConfigurationBuilder().Build());

            Action action = () => builder
                            .SetConnectionString(connectionString)
                            .Build();

            action.Should().Throw <ArgumentException>();
        }
Пример #6
0
        public void GivenBusInitializerOptionsWhenSetRequiredPropertiesShouldBuild()
        {
            var builder = new BusInitializerOptionsBuilder(new ConfigurationBuilder().Build());
            var options = builder
                          .SetConnectionString(CONNECTION_STRING)
                          .SetSerializer <BusSerializerStub>()
                          .Build();

            options.ConnectionString.Should().Be(CONNECTION_STRING);
            options.SerializerImplementationType.Should().Be <BusSerializerStub>();
            options.ConnectionOptions.Should().NotBeNull();
        }
Пример #7
0
        public void GivenBusInitializerOptionsWhenIgnoreCertificateShouldSetValidateToFalse()
        {
            var configuration = new ConfigurationBuilder().Build();

            var builder = new BusInitializerOptionsBuilder(configuration);
            var options = builder
                          .SetConnectionString("amqp://*****:*****@localhost/")
                          .IgnoreCertificate()
                          .SetSerializer <BusSerializerStub>()
                          .Build();

            options.ValidateCertificate.Should().BeFalse();
        }
Пример #8
0
        public void GivenBusInitializerOptionsWhenUseConstantRetryBehaviorShouldSetRetryBehavior()
        {
            var configuration = new ConfigurationBuilder().Build();

            var builder = new BusInitializerOptionsBuilder(configuration);
            var options = builder
                          .SetConnectionString("amqp://*****:*****@localhost/")
                          .SetSerializer <BusSerializerStub>()
                          .UseConstantRetryBehavior(1)
                          .Build();

            options.RetryBehavior.Should().NotBeNull();
            options.RetryBehavior.Should().BeOfType <ConstantRetryBehavior>();
        }
Пример #9
0
        public void GivenBusInitializerOptionsWhenSetConnectionNameShouldLoadConnectionString()
        {
            const string CONNECTION_NAME = "RabbitMQ";
            var          configuration   = new ConfigurationBuilder().AddInMemoryCollection(new[]
            {
                new KeyValuePair <string, string>($"ConnectionStrings:{CONNECTION_NAME}",
                                                  CONNECTION_STRING)
            }).Build();

            var builder = new BusInitializerOptionsBuilder(configuration);
            var options = builder
                          .SetConnectionName(CONNECTION_NAME)
                          .SetSerializer <BusSerializerStub>()
                          .Build();

            options.ConnectionString.Should().Be(CONNECTION_STRING);
        }
Пример #10
0
        public void GivenBusInitializerOptionsWhenSetOptionsBySectionShouldLoadOptions()
        {
            const string KEY           = "ConnectionOptions";
            var          configuration = new ConfigurationBuilder().AddInMemoryCollection(new[]
            {
                new KeyValuePair <string, string>($"{KEY}:{nameof(BusConnectionOptions.ConnectionMaxRetry)}",
                                                  "5"),
                new KeyValuePair <string, string>($"{KEY}:{nameof(BusConnectionOptions.MessageMaxRetry)}",
                                                  "5"),
                new KeyValuePair <string, string>(
                    $"ConnectionOptions:{nameof(BusConnectionOptions.PublisherBufferSize)}", "5"),
                new KeyValuePair <string, string>($"{KEY}:{nameof(BusConnectionOptions.PublishMaxRetry)}",
                                                  "5"),
                new KeyValuePair <string, string>(
                    $"{KEY}:{nameof(BusConnectionOptions.ConsumerMaxParallelTasks)}", "5"),
                new KeyValuePair <string, string>(
                    $"{KEY}:{nameof(BusConnectionOptions.ConnectionRetryDelayInMilliseconds)}", "5"),
                new KeyValuePair <string, string>(
                    $"{KEY}:{nameof(BusConnectionOptions.PublisherBufferTtlInMilliseconds)}", "5"),
                new KeyValuePair <string, string>(
                    $"{KEY}:{nameof(BusConnectionOptions.PublishRetryDelayInMilliseconds)}", "5"),
            }).Build();

            var connectionOptions = new BusConnectionOptions
            {
                ConnectionMaxRetry                 = 5,
                MessageMaxRetry                    = 5,
                PublisherBufferSize                = 5,
                PublishMaxRetry                    = 5,
                ConsumerMaxParallelTasks           = 5,
                ConnectionRetryDelayInMilliseconds = 5,
                PublisherBufferTtlInMilliseconds   = 5,
                PublishRetryDelayInMilliseconds    = 5
            };

            var builder = new BusInitializerOptionsBuilder(configuration);
            var options = builder
                          .SetConnectionString(CONNECTION_STRING)
                          .SetSerializer <BusSerializerStub>()
                          .SetOptions(KEY)
                          .Build();

            options.Should().NotBeNull();
            options.ConnectionOptions.Should().Be(connectionOptions);
        }