コード例 #1
0
        public void Can_build_minimal_configuration()
        {
            var configuration = new ProducerConfigurationBuilder()
                                .WithBootstrapServers("foo")
                                .Build();

            AssertKeyValue(configuration, ConfigurationKey.BootstrapServers, "foo");
        }
コード例 #2
0
        public void Setup()
        {
            this.dependencyConfiguratorMock = new Mock <IDependencyConfigurator>();
            this.name = this.fixture.Create <string>();

            this.target = new ProducerConfigurationBuilder(
                this.dependencyConfiguratorMock.Object,
                this.name);
        }
コード例 #3
0
        public void Can_use_configuration_value_from_source()
        {
            var configuration = new ProducerConfigurationBuilder()
                                .WithConfigurationSource(new ConfigurationSourceStub(
                                                             (key: ConfigurationKey.BootstrapServers, value: "bar")
                                                             ))
                                .Build();

            AssertKeyValue(configuration, ConfigurationKey.BootstrapServers, "bar");
        }
コード例 #4
0
        public void Can_build_minimal_configuration()
        {
            var sut = new ProducerConfigurationBuilder();

            sut.WithBootstrapServers("bar");

            var configuration = sut.Build();

            AssertKeyValue(configuration, ConfigurationKey.BootstrapServers, "bar");
        }
コード例 #5
0
        public void Has_expected_message_id_generator()
        {
            var dummy = MessageIdGenerator.Default;

            var producerConfiguration = new ProducerConfigurationBuilder()
                                        .WithBootstrapServers("foo")
                                        .WithMessageIdGenerator(dummy)
                                        .Build();

            Assert.Equal(dummy, producerConfiguration.MessageIdGenerator);
        }
コード例 #6
0
        public void Can_use_configuration_value_from_source_with_environment_naming_convention_and_prefix()
        {
            var configuration = new ProducerConfigurationBuilder()
                                .WithConfigurationSource(new ConfigurationSourceStub(
                                                             (key: "DEFAULT_KAFKA_BOOTSTRAP_SERVERS", value: "bar")
                                                             ))
                                .WithEnvironmentStyle("DEFAULT_KAFKA")
                                .Build();

            AssertKeyValue(configuration, ConfigurationKey.BootstrapServers, "bar");
        }
コード例 #7
0
        public void Can_ignore_out_of_scope_values_from_configuration_source()
        {
            var configuration = new ProducerConfigurationBuilder()
                                .WithConfigurationSource(new ConfigurationSourceStub(
                                                             (key: ConfigurationKey.BootstrapServers, value: "bar"),
                                                             (key: "dummy", value: "baz")
                                                             ))
                                .Build();

            AssertKeyValue(configuration, "dummy", null);
        }
コード例 #8
0
        public void Has_expected_outgoing_message_registry()
        {
            var dummy = new OutgoingMessageRegistry();

            var sut = new ProducerConfigurationBuilder();

            sut.WithBootstrapServers("foo");
            sut.WithOutgoingMessageRegistry(dummy);
            var producerConfiguration = sut.Build();

            Assert.Equal(dummy, producerConfiguration.OutgoingMessageRegistry);
        }
コード例 #9
0
        public void Only_take_value_from_first_source_that_matches()
        {
            var configuration = new ProducerConfigurationBuilder()
                                .WithConfigurationSource(new ConfigurationSourceStub(
                                                             (key: ConfigurationKey.BootstrapServers, value: "foo"),
                                                             (key: "BOOTSTRAP_SERVERS", value: "bar")
                                                             ))
                                .WithNamingConvention(NamingConvention.Default)
                                .WithEnvironmentStyle()
                                .Build();

            AssertKeyValue(configuration, ConfigurationKey.BootstrapServers, "foo");
        }
コード例 #10
0
        public void Can_overwrite_values_from_source()
        {
            var sut = new ProducerConfigurationBuilder();

            sut.WithConfigurationSource(new ConfigurationSourceStub(
                                            (key: ConfigurationKey.BootstrapServers, value: "foo")
                                            ));
            sut.WithConfiguration(ConfigurationKey.BootstrapServers, "bar");

            var configuration = sut.Build();

            AssertKeyValue(configuration, ConfigurationKey.BootstrapServers, "bar");
        }
コード例 #11
0
        public void Can_use_configuration_value_from_source_with_environment_naming_convention()
        {
            var sut = new ProducerConfigurationBuilder();

            sut.WithConfigurationSource(new ConfigurationSourceStub(
                                            (key: "BOOTSTRAP_SERVERS", value: "bar")
                                            ));
            sut.WithEnvironmentStyle();

            var configuration = sut.Build();

            AssertKeyValue(configuration, ConfigurationKey.BootstrapServers, "bar");
        }
コード例 #12
0
        public void Can_build_producer_configuration()
        {
            var configuration = new ProducerConfigurationBuilder()
                                .WithConfigurationSource(new ConfigurationSourceStub(
                                                             (key: ConfigurationKey.BootstrapServers, value: "foo"),
                                                             (key: ConfigurationKey.SaslUsername, value: "username"),
                                                             (key: ConfigurationKey.SaslMechanisms, value: "foo"),
                                                             (key: "DEFAULT_KAFKA_SASL_MECHANISMS", value: "default"),
                                                             (key: "SAMPLE_KAFKA_SASL_MECHANISMS", value: "sample"),
                                                             (key: "dummy", value: "ignored")
                                                             ))
                                .WithEnvironmentStyle("DEFAULT_KAFKA", "SAMPLE_KAFKA")
                                .WithNamingConvention(NamingConvention.Default)
                                .WithConfiguration(ConfigurationKey.BootstrapServers, "bar")
                                .Build();

            AssertKeyValue(configuration, ConfigurationKey.BootstrapServers, "bar");
            AssertKeyValue(configuration, ConfigurationKey.SaslUsername, "username");
            AssertKeyValue(configuration, ConfigurationKey.SaslMechanisms, "default");
            AssertKeyValue(configuration, "dummy", null);
        }
コード例 #13
0
        public void Can_validate_configuration()
        {
            var sut = new ProducerConfigurationBuilder();

            Assert.Throws <InvalidConfigurationException>(() => sut.Build());
        }