예제 #1
0
        public async Task UpdateOrCreateOffsetConsumerGroupExistsTest()
        {
            // Creating a broker router and a protocol gateway for the producer and consumer
            var brokerRouter  = new BrokerRouter(_kafkaUri, new ConnectionFactory(), _config);
            var partitionId   = 0;
            var consumerGroup = TestConfig.ConsumerName();

            var topicName = TestConfig.TopicName();
            var offest    = 5;
            var newOffset = 10;

            await brokerRouter.GetTopicOffsetAsync(topicName, partitionId, CancellationToken.None);

            await brokerRouter.CommitTopicOffsetAsync(topicName, partitionId, consumerGroup, offest, CancellationToken.None);

            var res = await brokerRouter.GetTopicOffsetAsync(topicName, partitionId, consumerGroup, CancellationToken.None);

            Assert.AreEqual(offest, res.Offset);

            await brokerRouter.CommitTopicOffsetAsync(topicName, partitionId, consumerGroup, newOffset, CancellationToken.None);

            res = await brokerRouter.GetTopicOffsetAsync(topicName, partitionId, consumerGroup, CancellationToken.None);

            Assert.AreEqual(newOffset, res.Offset);
        }
예제 #2
0
        public async Task UpdateOrCreateOffsetConsumerGroupArgumentNull([Values(null, "")] string group)
        {
            // Creating a broker router and a protocol gateway for the producer and consumer
            var brokerRouter = new BrokerRouter(_kafkaUri, new ConnectionFactory(), _config);
            var partitionId  = 0;
            var topic        = TestConfig.TopicName();

            var offest = 5;

            Assert.ThrowsAsync <ArgumentNullException>(async() => await brokerRouter.CommitTopicOffsetAsync(topic, partitionId, group, offest, CancellationToken.None));
        }
예제 #3
0
        public async Task UpdateOrCreateOffsetNegativeOffsetTest()
        {
            // Creating a broker router and a protocol gateway for the producer and consumer
            var brokerRouter  = new BrokerRouter(_kafkaUri, new ConnectionFactory(), _config);
            var partitionId   = 0;
            var topic         = TestConfig.TopicName();
            var consumerGroup = TestConfig.ConsumerName();

            var offest = -5;

            Assert.ThrowsAsync <ArgumentOutOfRangeException>(async() => await brokerRouter.CommitTopicOffsetAsync(topic, partitionId, consumerGroup, offest, CancellationToken.None));
        }
예제 #4
0
        public async Task UpdateOrCreateOffsetTopicDoesntExistTest()
        {
            // Creating a broker router and a protocol gateway for the producer and consumer
            var brokerRouter  = new BrokerRouter(_kafkaUri, new ConnectionFactory(), _config);
            var partitionId   = 0;
            var topic         = TestConfig.TopicName();
            var consumerGroup = TestConfig.ConsumerName();

            var offest = 5;

            await brokerRouter.CommitTopicOffsetAsync(topic, partitionId, consumerGroup, offest, CancellationToken.None);
        }
예제 #5
0
        public async Task UpdateOrCreateOffsetPartitionDoesntExistTest()
        {
            // Creating a broker router and a protocol gateway for the producer and consumer
            var brokerRouter  = new BrokerRouter(_kafkaUri, new ConnectionFactory(), _config);
            var partitionId   = 100;
            var consumerGroup = Guid.NewGuid().ToString();

            var topicName = TestConfig.TopicName();

            var offest = 5;

            Assert.ThrowsAsync <CachedMetadataException>(async() => await brokerRouter.CommitTopicOffsetAsync(topicName, partitionId, consumerGroup, offest, CancellationToken.None));
        }