From e928ceacee4f3aa0d59eff45a092e9f4df9507f5 Mon Sep 17 00:00:00 2001 From: AlexisLeDain Date: Thu, 9 Apr 2026 16:42:26 +0200 Subject: [PATCH] fix: assert Camel route body as String after JSON marshalling The route calls .marshal().json() before reaching the mock endpoint, so the body is a JSON String, not a POJO. Removed expectedBodiesReceived with POJO and getBody(BusinessRulesPayload.class), replaced with String body assertion using contains(). --- docs/tr/skills/quarkus-tdd/SKILL.md | 7 +++---- skills/quarkus-tdd/SKILL.md | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/docs/tr/skills/quarkus-tdd/SKILL.md b/docs/tr/skills/quarkus-tdd/SKILL.md index f01a2de1..c9def11a 100644 --- a/docs/tr/skills/quarkus-tdd/SKILL.md +++ b/docs/tr/skills/quarkus-tdd/SKILL.md @@ -285,7 +285,6 @@ class BusinessRulesRouteTest { // ARRANGE MockEndpoint mockRabbitMQ = camelContext.getEndpoint("mock:rabbitmq", MockEndpoint.class); mockRabbitMQ.expectedMessageCount(1); - mockRabbitMQ.expectedBodiesReceived(testPayload); // Test için gerçek endpoint'i mock ile değiştir camelContext.getRouteController().stopRoute("business-rules-publisher"); @@ -298,12 +297,12 @@ class BusinessRulesRouteTest { // ACT producerTemplate.sendBody("direct:business-rules-publisher", testPayload); - // ASSERT + // ASSERT — .marshal().json() sonrası body JSON String'dir mockRabbitMQ.assertIsSatisfied(5000); assertThat(mockRabbitMQ.getExchanges()).hasSize(1); - assertThat(mockRabbitMQ.getExchanges().get(0).getIn().getBody(BusinessRulesPayload.class)) - .isEqualTo(testPayload); + String body = mockRabbitMQ.getExchanges().get(0).getIn().getBody(String.class); + assertThat(body).contains("\"documentId\":1"); } @Test diff --git a/skills/quarkus-tdd/SKILL.md b/skills/quarkus-tdd/SKILL.md index b6cd88cf..9d977cce 100644 --- a/skills/quarkus-tdd/SKILL.md +++ b/skills/quarkus-tdd/SKILL.md @@ -288,7 +288,6 @@ class BusinessRulesRouteTest { // ARRANGE MockEndpoint mockRabbitMQ = camelContext.getEndpoint("mock:rabbitmq", MockEndpoint.class); mockRabbitMQ.expectedMessageCount(1); - mockRabbitMQ.expectedBodiesReceived(testPayload); // Replace real endpoint with mock for testing camelContext.getRouteController().stopRoute("business-rules-publisher"); @@ -301,12 +300,12 @@ class BusinessRulesRouteTest { // ACT producerTemplate.sendBody("direct:business-rules-publisher", testPayload); - // ASSERT + // ASSERT — body is a JSON String after .marshal().json(JsonLibrary.Jackson) mockRabbitMQ.assertIsSatisfied(5000); assertThat(mockRabbitMQ.getExchanges()).hasSize(1); - assertThat(mockRabbitMQ.getExchanges().get(0).getIn().getBody(BusinessRulesPayload.class)) - .isEqualTo(testPayload); + String body = mockRabbitMQ.getExchanges().get(0).getIn().getBody(String.class); + assertThat(body).contains("\"documentId\":1"); } @Test