/
YuriyMB
/
Kafka
Обзор
Документация
Войти
/
YuriyMB
/
Kafka
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
testing/src/test/java/sbp/school/producers/DemoProducerTest.java
46 строк
2 KB
trv
Added examples for theory
10 окт 2025, 22:55
10 окт 2025, 22:55
3c41313
Код
Авторство
О чём код?
package sbp.school.producers; import org.apache.kafka.clients.producer.MockProducer; import org.apache.kafka.clients.producer.RecordMetadata; import org.apache.kafka.common.serialization.StringSerializer; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; class DemoProducerTest { DemoProducer demoProducer; @Test void send_test() throws ExecutionException, InterruptedException { MockProducer<String, String> mockProducer = new MockProducer<>(true, new StringSerializer(), new StringSerializer()); demoProducer = new DemoProducer(mockProducer); Future<RecordMetadata> recordMetadataFuture = demoProducer.send("key", "value"); Assertions.assertTrue(mockProducer.history().size() == 1); Assertions.assertTrue(mockProducer.history().get(0).key().equals("key")); Assertions.assertTrue(mockProducer.history().get(0).value().equals("value")); Assertions.assertTrue(recordMetadataFuture.get().partition() == 0); } @Test void checkException() { MockProducer<String, String> mockProducer = new MockProducer<>(false, new StringSerializer(), new StringSerializer()); demoProducer = new DemoProducer(mockProducer); Future<RecordMetadata> recordMetadataFuture = demoProducer.send("key", "value"); RuntimeException runtimeException = new RuntimeException(); mockProducer.errorNext(runtimeException); Assertions.assertThrows(ExecutionException.class, () -> recordMetadataFuture.get()); Assertions.assertTrue(recordMetadataFuture.isDone()); } }