public async Task FetchMessagesCacheContainsAllRequestTest() { // Creating a broker router and a protocol gateway for the producer and consumer var brokerRouter = new BrokerRouter(_options); var protocolGateway = new ProtocolGateway(_kafkaUri); Producer producer = new Producer(brokerRouter); ManualConsumer consumer = new ManualConsumer(_partitionId, _topic, protocolGateway, "TestClient", DefaultMaxMessageSetSize); var offset = await consumer.FetchLastOffset(); // Creating 5 messages List<Message> messages = CreateTestMessages(10, 1); await producer.SendMessageAsync(_topic, messages, partition: _partitionId, timeout: TimeSpan.FromSeconds(3)); // Now let's consume var result = (await consumer.FetchMessages(5, offset)).ToList(); CheckMessages(messages.Take(5).ToList(), result); // Now let's consume again result = (await consumer.FetchMessages(5, offset + 5)).ToList(); CheckMessages(messages.Skip(5).ToList(), result); }
public async Task ManualConsumerFailure() { string topic = "TestTopicIssue13-3R-1P"; var manualConsumer = new ManualConsumer(0, topic, new ProtocolGateway(_options), "test client", 10000); long offset = await manualConsumer.FetchLastOffset(); var router = new BrokerRouter(_options); var producer = new Producer(router); SandMessageForever(producer, topic); await ReadMessageForever(manualConsumer, offset); }
public async Task FetchMessagesSimpleTest() { // Creating a broker router and a protocol gateway for the producer and consumer var brokerRouter = new BrokerRouter(_options); var protocolGateway = new ProtocolGateway(_kafkaUri); var partitionId = 1; var topic = "ManualConsumerTestTopic"; Producer producer = new Producer(brokerRouter); ManualConsumer consumer = new ManualConsumer(partitionId, topic, protocolGateway, "TestClient", DefaultMaxMessageSetSize); var offset = await consumer.FetchLastOffset(); // Creating 5 messages List<Message> messages = CreateTestMessages(5, 1); await producer.SendMessageAsync(topic, messages, partition: partitionId, timeout: TimeSpan.FromSeconds(3)); // Now let's consume var result = (await consumer.FetchMessages(5, offset)).ToList(); CheckMessages(messages, result); }
public async Task FetchLastOffsetTopicDoesntExistTest() { // Creating a broker router and a protocol gateway for the producer and consumer var protocolGateway = new ProtocolGateway(_kafkaUri); var topic = _topic + Guid.NewGuid(); ManualConsumer consumer = new ManualConsumer(_partitionId, topic, protocolGateway, "TestClient", DefaultMaxMessageSetSize * 2); var res = await consumer.FetchLastOffset(); Assert.AreEqual(0, res); }
public async Task FetchLastOffsetPartitionDoesntExistTest() { // Creating a broker router and a protocol gateway for the producer and consumer var protocolGateway = new ProtocolGateway(_kafkaUri); var partitionId = 100; var topic = _topic; ManualConsumer consumer = new ManualConsumer(partitionId, topic, protocolGateway, "TestClient", DefaultMaxMessageSetSize * 2); await consumer.FetchLastOffset(); }
public async Task FetchLastOffsetSimpleTest() { // Creating a broker router and a protocol gateway for the producer and consumer var protocolGateway = new ProtocolGateway(_kafkaUri); var topic = _topic; ManualConsumer consumer = new ManualConsumer(_partitionId, topic, protocolGateway, "TestClient", DefaultMaxMessageSetSize * 2); var offset = await consumer.FetchLastOffset(); Assert.AreNotEqual(-1, offset); }
public async Task FetchMessagesBufferUnderRunTest() { // Creating a broker router and a protocol gateway for the producer and consumer var brokerRouter = new BrokerRouter(_options); var protocolGateway = new ProtocolGateway(_kafkaUri); var smallMessageSet = 4096 / 2; Producer producer = new Producer(brokerRouter); ManualConsumer consumer = new ManualConsumer(_partitionId, _topic, protocolGateway, "TestClient", smallMessageSet); var offset = await consumer.FetchLastOffset(); // Creating 5 messages List<Message> messages = CreateTestMessages(10, 4096); await producer.SendMessageAsync(_topic, messages, partition: _partitionId, timeout: TimeSpan.FromSeconds(3)); // Now let's consume var result = (await consumer.FetchMessages(5, offset)).ToList(); CheckMessages(messages.Take(5).ToList(), result); }
public async Task FetchMessagesOffsetBiggerThanLastOffsetInQueueTest() { // Creating a broker router and a protocol gateway for the producer and consumer var protocolGateway = new ProtocolGateway(_kafkaUri); ManualConsumer consumer = new ManualConsumer(_partitionId, _topic, protocolGateway, "TestClient", DefaultMaxMessageSetSize); var offset = await consumer.FetchLastOffset(); // Now let's consume var result = (await consumer.FetchMessages(5, offset + 1)).ToList(); Assert.AreEqual(0, result.Count, "Should not get any messages"); }
public async Task FetchMessagesTopicDoesntExist() { // Creating a broker router and a protocol gateway for the producer and consumer var protocolGateway = new ProtocolGateway(_kafkaUri); var partitionId = 1; var topic = _topic + Guid.NewGuid(); ManualConsumer consumer = new ManualConsumer(partitionId, topic, protocolGateway, "TestClient", DefaultMaxMessageSetSize * 2); var offset = await consumer.FetchLastOffset(); // Now let's consume var result = (await consumer.FetchMessages(5, offset)).ToList(); Assert.AreEqual(0, result.Count); }
public async Task FetchMessagesOffsetBiggerThanLastOffsetInQueueTest() { // Creating a broker router and a protocol gateway for the producer and consumer var protocolGateway = new ProtocolGateway(_kafkaUri); ManualConsumer consumer = new ManualConsumer(_partitionId, _topic, protocolGateway, "TestClient", DefaultMaxMessageSetSize); var offset = await consumer.FetchLastOffset(); // Now let's consume throw KafkaApplicationException await consumer.FetchMessages(5, offset + 1); }