Junit test for Apicurio registry
by Janez Bindas
Hi all,
I would like to test Kafka workflow with Apicurio registry. I wasn't able
to registry the schema in memory. Can you tell me how to do it?
This is my test class:
@EmbeddedKafka
@ExtendWith(SpringExtension.class)
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public class KafkaTest {
private static final String TOPIC = "foobar";
@Autowired
private EmbeddedKafkaBroker embeddedKafkaBroker;
BlockingQueue<ConsumerRecord<FooBarKey, FooBarValue>> records;
KafkaMessageListenerContainer<FooBarKey, FooBarValue> container;
@BeforeEach
void setUp() {
Map<String, Object> configs = new
HashMap<>(KafkaTestUtils.consumerProps("consumer", "false",
embeddedKafkaBroker));
DefaultKafkaConsumerFactory<FooBarKey, FooBarValue>
consumerFactory = new DefaultKafkaConsumerFactory<>(configs, new
AvroKafkaDeserializer<>(), new AvroKafkaDeserializer<>());
ContainerProperties containerProperties = new
ContainerProperties(TOPIC);
container = new
KafkaMessageListenerContainer<>(consumerFactory, containerProperties);
records = new LinkedBlockingQueue<>();
container.setupMessageListener((MessageListener<FooBarKey,
FooBarValue>) records::add);
container.start();
ContainerTestUtils.waitForAssignment(container,
embeddedKafkaBroker.getPartitionsPerTopic());
}
@AfterEach
void tearDown() {
container.stop();
}
@Test
public void testKafka() throws InterruptedException {
Map<String, Object> configs = new
HashMap<>(KafkaTestUtils.producerProps(embeddedKafkaBroker));
Producer<Object, Object> producer = new
DefaultKafkaProducerFactory<>(configs, new AvroKafkaSerializer<>(),
new AvroKafkaSerializer<>()).createProducer();
FooBarKey fooBarKey = new FooBarKey();
fooBarKey.setId("33217330-1968-40c6-974a-d5aae70f3692");
FooBarValue fooBarValue = new FooBarValue();
fooBarValue.setBar("test");
fooBarValue.setFoo("Test2");
producer.send(new ProducerRecord<>(TOPIC, fooBarKey, fooBarValue));
producer.flush();
ConsumerRecord<FooBarKey, FooBarValue> singleRecord =
records.poll(100, TimeUnit.MILLISECONDS);
Assertions.assertThat(singleRecord).isNotNull();
}
}
avro file for key:
{
"type" : "record",
"name" : "FooBarKey",
"namespace" : "com.umwerk.vbank",
"doc" : "FooBar KEY schema",
"fields" : [ {
"name" : "id",
"type" : "string",
"doc" : "FooBar Id",
"logicalType" : "uuid"
} ]
}
avro file for value:
{
"type" : "record",
"name" : "FooBarValue",
"namespace" : "com.umwerk.vbank",
"doc" : "FooBar VALUE schema",
"fields" : [ {
"name" : "foo",
"type" : "string",
"doc" : "Test foo property"
}, {
"name" : "bar",
"type" : "string",
"doc" : "Test bar property"
} ]
}
Regards, Janez Bindas
1 year, 1 month
Question about Apicurio in OpenShift
by Arturo Puente
Good day,
I read your article
https://apicurio-studio.readme.io/docs/running-apicurio-on-openshift-or-d...
But I am experiencing some trouble to get the Apicurio running on OpenShift.
Do you have more information on the deployment of Apicurio in OpenShift.?
We have OpenShift 4.5.8 (The last version)
Thank you in advance for your help.
Sincerely,
Arturo Puente Céspedes
Cargo - Arquitecto Empresarial IV
Teléfono - 00-58-0212-5.01.80.84
Celular - 00-58-0412-2.78.27.58
Email - apuentec(a)banesco.com
Ubicación - Ciudad Banesco, Piso 1, Cuadrante C, Puesto (Por
verificar)
Organigrama - Juan Carlos Escotet Rodriguez - Junta Directiva •Nivel 6
José Grasso Vecchio - Presidencia Ejecutiva •
Nivel 5
Paola Patricia Boccia De Mata - Dirección
Ejecutiva de Tecnologia y Procesos • Nivel 4
Marlene Fernandez Dominguez - Vicepresidencia
Ejecutiva de Desarollo y Mantenimiento de Aplicaciones • Nivel 3
Carolina Zaragoza - Gerencia de Arquitectura
Empresarial y Capacidades. Nivel 2
Arturo Puente Céspedes - Arquitecto Empresarial IV
. Nivel Base
--
---------------------------------------------------------------------------------------
***REGULACIÓN DE USO DEL CORREO ELECTRÓNICO DE Banesco Banco Universal
HACIA INTERNET*** La información contenida en este correo electrónico y
cualquier
anexo puede ser de carácter confidencial y es propiedad de
Banesco Banco Universal. Sólo está permitido su uso, copia, transmisión,
recepción o distribución a personas debidamente autorizadas. Si usted
recibió este correo por error por favor destrúyalo y/o elimine cualquier
copia guardada en su sistema y notifique inmediatamente al remitente o a la
dirección de correo electrónica *mailmaster(a)banesco.com*
<mailto:mailmaster@banesco.com>. Usted no debe utilizar la información
contenida para ningún propósito ni compartirla con otras personas.
--
4 years