public void returns_expected_auto_commit_when_not_set()
        {
            var sut = new ConsumerConfigurationBuilder();

            sut.WithGroupId("foo");
            sut.WithBootstrapServers("bar");

            var configuration = sut.Build();

            Assert.True(configuration.EnableAutoCommit);
        }
        public void Can_build_minimal_configuration()
        {
            var sut = new ConsumerConfigurationBuilder();

            sut.WithGroupId("foo");
            sut.WithBootstrapServers("bar");

            var configuration = sut.Build();

            AssertKeyValue(configuration, ConfigurationKey.GroupId, "foo");
            AssertKeyValue(configuration, ConfigurationKey.BootstrapServers, "bar");
        }
        public void returns_expected_auto_commit_when_configured_with_valid_value(string configValue, bool expected)
        {
            var sut = new ConsumerConfigurationBuilder();

            sut.WithGroupId("foo");
            sut.WithBootstrapServers("bar");
            sut.WithConfiguration(ConfigurationKey.EnableAutoCommit, configValue);

            var configuration = sut.Build();

            Assert.Equal(expected, configuration.EnableAutoCommit);
        }
        public void Can_register_message_handler()
        {
            var sut = new ConsumerConfigurationBuilder();

            sut.WithGroupId("foo");
            sut.WithBootstrapServers("bar");
            sut.RegisterMessageHandler <DummyMessage, DummyMessageHandler>("dummyTopic", nameof(DummyMessage));

            var configuration = sut.Build();

            var registration = configuration.MessageHandlerRegistry.GetRegistrationFor(nameof(DummyMessage));

            Assert.Equal(typeof(DummyMessageHandler), registration.HandlerInstanceType);
        }