diff --git a/spring-test-activemq/src/test/java/com/jupiter/tools/spring/test/activemq/extension/ActiveMqSmartDataSetTest.java b/spring-test-activemq/src/test/java/com/jupiter/tools/spring/test/activemq/extension/ActiveMqSmartDataSetTest.java index b1bdfc5..ff40a55 100644 --- a/spring-test-activemq/src/test/java/com/jupiter/tools/spring/test/activemq/extension/ActiveMqSmartDataSetTest.java +++ b/spring-test-activemq/src/test/java/com/jupiter/tools/spring/test/activemq/extension/ActiveMqSmartDataSetTest.java @@ -4,6 +4,7 @@ import com.jupiter.tools.spring.test.activemq.annotation.ExpectedMessages; import com.jupiter.tools.spring.test.activemq.annotation.meta.EnableActiveMqTest; +import com.jupiter.tools.spring.test.activemq.extension.expected.Bar; import com.jupiter.tools.spring.test.activemq.extension.expected.Foo; import com.jupiter.tools.spring.test.activemq.extension.expected.FooWithBar; import org.junit.jupiter.api.Test; @@ -54,6 +55,28 @@ void testExpectedWithDate() { jmsTemplate.convertAndSend("test-queue", fooWithBar); } + @Test + @ExpectedMessages(queue = "test-queue", messagesFile = "/datasets/expected_partial.json") + void testExpectedPartialFields() { + + Foo childFoo = new Foo("child foo"); + Bar childBar = new Bar("child bar", 1); + FooWithBar child = FooWithBar.builder() + .foo(childFoo) + .bar(childBar) + .build(); + + Foo foo = new Foo("parent foo"); + Bar bar = new Bar("parent bar", 2); + FooWithBar fooWithBar = FooWithBar.builder() + .foo(foo) + .bar(bar) + .child(child) + .build(); + + jmsTemplate.convertAndSend("test-queue", fooWithBar); + } + @TestConfiguration public static class TestConfig { @Bean diff --git a/spring-test-activemq/src/test/resources/datasets/expected_partial.json b/spring-test-activemq/src/test/resources/datasets/expected_partial.json new file mode 100644 index 0000000..083dd12 --- /dev/null +++ b/spring-test-activemq/src/test/resources/datasets/expected_partial.json @@ -0,0 +1,17 @@ +{ + "com.jupiter.tools.spring.test.activemq.extension.expected.FooWithBar": [ + { + "foo": { + "value": "parent foo" + }, + "bar": { + "name": "parent bar" + }, + "child": { + "foo": { + "value": "child foo" + } + } + } + ] +} \ No newline at end of file diff --git a/spring-test-rabbitmq/src/test/java/com/jupiter/tools/spring/test/rabbitmq/extension/ExpectedMessagesExtensionTest.java b/spring-test-rabbitmq/src/test/java/com/jupiter/tools/spring/test/rabbitmq/extension/ExpectedMessagesExtensionTest.java index 5c7001a..e06987b 100644 --- a/spring-test-rabbitmq/src/test/java/com/jupiter/tools/spring/test/rabbitmq/extension/ExpectedMessagesExtensionTest.java +++ b/spring-test-rabbitmq/src/test/java/com/jupiter/tools/spring/test/rabbitmq/extension/ExpectedMessagesExtensionTest.java @@ -76,6 +76,28 @@ void testSendObjectWithNested() { amqpTemplate.convertAndSend("test-queue", fooWithBar); } + @Test + @ExpectedMessages(queue = "test-queue", messagesFile = "/datasets/expected_partial.json") + void testExpectedPartialFields() { + + Foo childFoo = new Foo("child foo"); + Bar childBar = new Bar("child bar", 1); + FooWithBar child = FooWithBar.builder() + .foo(childFoo) + .bar(childBar) + .build(); + + Foo foo = new Foo("parent foo"); + Bar bar = new Bar("parent bar", 2); + FooWithBar fooWithBar = FooWithBar.builder() + .foo(foo) + .bar(bar) + .child(child) + .build(); + + amqpTemplate.convertAndSend("test-queue", fooWithBar); + } + @Test @ExpectedMessages(queue = "test-queue", messagesFile = "/datasets/expected_messages_with_js.json") void testExpectedDataSetWithJavaScript() { diff --git a/spring-test-rabbitmq/src/test/resources/datasets/expected_partial.json b/spring-test-rabbitmq/src/test/resources/datasets/expected_partial.json new file mode 100644 index 0000000..851a761 --- /dev/null +++ b/spring-test-rabbitmq/src/test/resources/datasets/expected_partial.json @@ -0,0 +1,17 @@ +{ + "com.jupiter.tools.spring.test.rabbitmq.extension.pojo.FooWithBar": [ + { + "foo": { + "value": "parent foo" + }, + "bar": { + "name": "parent bar" + }, + "child": { + "foo": { + "value": "child foo" + } + } + } + ] +} \ No newline at end of file