From 917799d1674049fc9bd9b8bf33fe87b4d390767c Mon Sep 17 00:00:00 2001 From: Chris Cranford Date: Tue, 4 Feb 2020 11:12:56 -0500 Subject: [PATCH] DBZ-1711 Suggested improvements --- .../debezium/outbox/quarkus/it/OutboxTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/debezium-quarkus-outbox-integration-tests/src/test/java/io/debezium/outbox/quarkus/it/OutboxTest.java b/debezium-quarkus-outbox-integration-tests/src/test/java/io/debezium/outbox/quarkus/it/OutboxTest.java index 56c4fa362..4613e989d 100644 --- a/debezium-quarkus-outbox-integration-tests/src/test/java/io/debezium/outbox/quarkus/it/OutboxTest.java +++ b/debezium-quarkus-outbox-integration-tests/src/test/java/io/debezium/outbox/quarkus/it/OutboxTest.java @@ -5,8 +5,12 @@ */ package io.debezium.outbox.quarkus.it; +import static org.junit.Assert.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import java.time.Instant; +import java.util.UUID; + import javax.inject.Inject; import javax.persistence.EntityManager; @@ -15,11 +19,16 @@ import org.hibernate.persister.entity.EntityPersister; import org.junit.jupiter.api.Test; +import com.fasterxml.jackson.databind.JsonNode; + import io.debezium.outbox.quarkus.internal.OutboxConstants; import io.quarkus.test.common.QuarkusTestResource; import io.quarkus.test.junit.QuarkusTest; /** + * Smoke test that verifies the Debezium Outbox extension started successfully and created the Outbox + * database table with the expected properties and return types. + * * @author Chris Cranford */ @QuarkusTest @@ -34,5 +43,13 @@ public void testOutboxEntityMetamodelExists() throws Exception { final EntityPersister persister = metadata.entityPersister(OutboxConstants.OUTBOX_ENTITY_FULLNAME); assertNotNull(persister); + + // this assumes the default mapping settings, no custom converters or column types + assertEquals(UUID.class, persister.getIdentifierType().getReturnedClass()); + assertEquals(String.class, persister.getPropertyType("aggregateType").getReturnedClass()); + assertEquals(String.class, persister.getPropertyType("aggregateId").getReturnedClass()); + assertEquals(String.class, persister.getPropertyType("type").getReturnedClass()); + assertEquals(Instant.class, persister.getPropertyType("timestamp").getReturnedClass()); + assertEquals(JsonNode.class, persister.getPropertyType("payload").getReturnedClass()); } }