How to use getMessageType method of com.consol.citrus.actions.ReceiveMessageAction class

Best Citrus code snippet using com.consol.citrus.actions.ReceiveMessageAction.getMessageType

Source:ReceiveMessageTestRunnerTest.java Github

copy

Full Screen

...99 Assert.assertEquals(test.getActionCount(), 1);100 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);101 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));102 Assert.assertEquals(action.getName(), "receive");103 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());104 Assert.assertEquals(action.getEndpoint(), messageEndpoint);105 Assert.assertEquals(action.getValidationContexts().size(), 3);106 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);107 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);108 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);109 }110 @Test111 public void testReceiveBuilder() {112 reset(messageEndpoint, messageConsumer, configuration);113 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);114 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);115 when(configuration.getTimeout()).thenReturn(100L);116 when(messageEndpoint.getActor()).thenReturn(null);117 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(new DefaultMessage("Foo").setHeader("operation", "foo"));118 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {119 @Override120 public void execute() {121 receive(action -> action.endpoint(messageEndpoint)122 .messageType(MessageType.PLAINTEXT)123 .message(new DefaultMessage("Foo").setHeader("operation", "foo")));124 }125 };126 TestCase test = builder.getTestCase();127 Assert.assertEquals(test.getActionCount(), 1);128 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);129 130 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));131 Assert.assertEquals(action.getName(), "receive");132 133 Assert.assertEquals(action.getMessageType(), MessageType.PLAINTEXT.name());134 Assert.assertEquals(action.getEndpoint(), messageEndpoint);135 Assert.assertEquals(action.getValidationContexts().size(), 3);136 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);137 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);138 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);139 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);140 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "Foo");141 Assert.assertNotNull(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getHeader("operation"));142 }143 @Test144 public void testReceiveBuilderWithPayloadModel() {145 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);146 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);147 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);148 when(configuration.getTimeout()).thenReturn(100L);149 when(messageEndpoint.getActor()).thenReturn(null);150 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(151 new DefaultMessage("<TestRequest><Message>Hello Citrus!</Message></TestRequest>")152 .setHeader("operation", "foo"));153 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));154 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());155 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());156 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());157 when(applicationContextMock.getBeansOfType(Marshaller.class)).thenReturn(Collections.<String, Marshaller>singletonMap("marshaller", marshaller));158 when(applicationContextMock.getBean(Marshaller.class)).thenReturn(marshaller);159 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {160 @Override161 public void execute() {162 receive(action -> action.endpoint(messageEndpoint)163 .payloadModel(new TestRequest("Hello Citrus!")));164 }165 };166 TestCase test = builder.getTestCase();167 Assert.assertEquals(test.getActionCount(), 1);168 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);169 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));170 Assert.assertEquals(action.getName(), "receive");171 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());172 Assert.assertEquals(action.getEndpoint(), messageEndpoint);173 Assert.assertEquals(action.getValidationContexts().size(), 3);174 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);175 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);176 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);177 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);178 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(),179 "<TestRequest><Message>Hello Citrus!</Message></TestRequest>");180 }181 @Test182 public void testReceiveBuilderWithPayloadModelExplicitMarshaller() {183 reset(messageEndpoint, messageConsumer, configuration);184 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);185 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);186 when(configuration.getTimeout()).thenReturn(100L);187 when(messageEndpoint.getActor()).thenReturn(null);188 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(189 new DefaultMessage("<TestRequest><Message>Hello Citrus!</Message></TestRequest>")190 .setHeader("operation", "foo"));191 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {192 @Override193 public void execute() {194 receive(action -> action.endpoint(messageEndpoint)195 .payload(new TestRequest("Hello Citrus!"), marshaller));196 }197 };198 TestCase test = builder.getTestCase();199 Assert.assertEquals(test.getActionCount(), 1);200 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);201 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));202 Assert.assertEquals(action.getName(), "receive");203 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());204 Assert.assertEquals(action.getEndpoint(), messageEndpoint);205 Assert.assertEquals(action.getValidationContexts().size(), 3);206 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);207 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);208 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);209 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);210 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello Citrus!</Message></TestRequest>");211 }212 @Test213 public void testReceiveBuilderWithPayloadModelExplicitMarshallerName() {214 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);215 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);216 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);217 when(configuration.getTimeout()).thenReturn(100L);218 when(messageEndpoint.getActor()).thenReturn(null);219 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(220 new DefaultMessage("<TestRequest><Message>Hello Citrus!</Message></TestRequest>")221 .setHeader("operation", "foo"));222 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));223 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());224 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());225 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());226 when(applicationContextMock.containsBean("myMarshaller")).thenReturn(true);227 when(applicationContextMock.getBean("myMarshaller")).thenReturn(marshaller);228 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {229 @Override230 public void execute() {231 receive(action -> action.endpoint(messageEndpoint)232 .payload(new TestRequest("Hello Citrus!"), "myMarshaller"));233 }234 };235 TestCase test = builder.getTestCase();236 Assert.assertEquals(test.getActionCount(), 1);237 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);238 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));239 Assert.assertEquals(action.getName(), "receive");240 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());241 Assert.assertEquals(action.getEndpoint(), messageEndpoint);242 Assert.assertEquals(action.getValidationContexts().size(), 3);243 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);244 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);245 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);246 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);247 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello Citrus!</Message></TestRequest>");248 }249 250 @Test251 public void testReceiveBuilderWithPayloadString() {252 reset(messageEndpoint, messageConsumer, configuration);253 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);254 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);255 when(configuration.getTimeout()).thenReturn(100L);256 when(messageEndpoint.getActor()).thenReturn(null);257 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(258 new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>")259 .setHeader("operation", "foo"));260 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {261 @Override262 public void execute() {263 receive(action -> action.endpoint(messageEndpoint)264 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>"));265 }266 };267 TestCase test = builder.getTestCase();268 Assert.assertEquals(test.getActionCount(), 1);269 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);270 271 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));272 Assert.assertEquals(action.getName(), "receive");273 274 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());275 Assert.assertEquals(action.getEndpoint(), messageEndpoint);276 Assert.assertEquals(action.getValidationContexts().size(), 3);277 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);278 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);279 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);280 281 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);282 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");283 }284 285 @Test286 public void testReceiveBuilderWithPayloadResource() throws IOException {287 reset(resource, messageEndpoint, messageConsumer, configuration);288 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);289 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);290 when(configuration.getTimeout()).thenReturn(100L);291 when(messageEndpoint.getActor()).thenReturn(null);292 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(293 new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>")294 .setHeader("operation", "foo"));295 when(resource.getInputStream()).thenReturn(new ByteArrayInputStream("<TestRequest><Message>Hello World!</Message></TestRequest>".getBytes()));296 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {297 @Override298 public void execute() {299 receive(action -> action.endpoint(messageEndpoint)300 .payload(resource));301 }302 };303 TestCase test = builder.getTestCase();304 Assert.assertEquals(test.getActionCount(), 1);305 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);306 307 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));308 Assert.assertEquals(action.getName(), "receive");309 310 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());311 Assert.assertEquals(action.getEndpoint(), messageEndpoint);312 Assert.assertEquals(action.getValidationContexts().size(), 3);313 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);314 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);315 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);316 317 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);318 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");319 }320 321 @Test322 public void testReceiveBuilderWithEndpointName() {323 TestContext context = applicationContext.getBean(TestContext.class);324 context.setApplicationContext(applicationContextMock);325 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);326 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);327 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);328 when(configuration.getTimeout()).thenReturn(100L);329 when(messageEndpoint.getActor()).thenReturn(null);330 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(331 new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>")332 .setHeader("operation", "foo"));333 when(applicationContextMock.getBean(TestContext.class)).thenReturn(context);334 when(applicationContextMock.getBean("fooMessageEndpoint", Endpoint.class)).thenReturn(messageEndpoint);335 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());336 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());337 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());338 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {339 @Override340 public void execute() {341 receive(action -> action.endpoint("fooMessageEndpoint")342 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>"));343 }344 };345 TestCase test = builder.getTestCase();346 Assert.assertEquals(test.getActionCount(), 1);347 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);348 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));349 Assert.assertEquals(action.getName(), "receive");350 Assert.assertEquals(action.getEndpointUri(), "fooMessageEndpoint");351 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());352 }353 354 @Test355 public void testReceiveBuilderWithTimeout() {356 reset(messageEndpoint, messageConsumer, configuration);357 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);358 when(messageEndpoint.getActor()).thenReturn(null);359 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(360 new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>")361 .setHeader("operation", "foo"));362 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {363 @Override364 public void execute() {365 receive(action -> action.endpoint(messageEndpoint)366 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")367 .timeout(1000L));368 }369 };370 TestCase test = builder.getTestCase();371 Assert.assertEquals(test.getActionCount(), 1);372 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);373 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));374 Assert.assertEquals(action.getName(), "receive");375 Assert.assertEquals(action.getEndpoint(), messageEndpoint);376 Assert.assertEquals(action.getReceiveTimeout(), 1000L);377 }378 379 @Test380 public void testReceiveBuilderWithHeaders() {381 reset(messageEndpoint, messageConsumer, configuration);382 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);383 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);384 when(configuration.getTimeout()).thenReturn(100L);385 when(messageEndpoint.getActor()).thenReturn(null);386 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(387 new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>")388 .setHeader("some", "value")389 .setHeader("operation", "sayHello")390 .setHeader("foo", "bar"));391 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {392 @Override393 public void execute() {394 receive(action -> action.endpoint(messageEndpoint)395 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")396 .headers(Collections.singletonMap("some", "value"))397 .header("operation", "sayHello")398 .header("foo", "bar"));399 receive(action -> action.endpoint(messageEndpoint)400 .header("operation", "sayHello")401 .header("foo", "bar")402 .headers(Collections.singletonMap("some", "value"))403 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>"));404 }405 };406 TestCase test = builder.getTestCase();407 Assert.assertEquals(test.getActionCount(), 2);408 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);409 Assert.assertEquals(test.getActions().get(1).getClass(), ReceiveMessageAction.class);410 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));411 Assert.assertEquals(action.getName(), "receive");412 Assert.assertEquals(action.getEndpoint(), messageEndpoint);413 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());414 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);415 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");416 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("some"));417 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));418 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("foo"));419 action = ((ReceiveMessageAction)test.getActions().get(1));420 Assert.assertEquals(action.getName(), "receive");421 Assert.assertEquals(action.getEndpoint(), messageEndpoint);422 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());423 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);424 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");425 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("some"));426 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));427 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("foo"));428 }429 @Test430 public void testReceiveBuilderWithHeaderData() {431 reset(messageEndpoint, messageConsumer, configuration);432 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);433 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);434 when(configuration.getTimeout()).thenReturn(100L);435 when(messageEndpoint.getActor()).thenReturn(null);436 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(437 new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>")438 .setHeader("operation", "foo")439 .addHeaderData("<Header><Name>operation</Name><Value>foo</Value></Header>"));440 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {441 @Override442 public void execute() {443 receive(action -> action.endpoint(messageEndpoint)444 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")445 .header("<Header><Name>operation</Name><Value>foo</Value></Header>"));446 receive(action -> action.endpoint(messageEndpoint)447 .message(new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>"))448 .header("<Header><Name>operation</Name><Value>foo</Value></Header>"));449 }450 };451 TestCase test = builder.getTestCase();452 Assert.assertEquals(test.getActionCount(), 2);453 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);454 Assert.assertEquals(test.getActions().get(1).getClass(), ReceiveMessageAction.class);455 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));456 Assert.assertEquals(action.getName(), "receive");457 Assert.assertEquals(action.getEndpoint(), messageEndpoint);458 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());459 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);460 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");461 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);462 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>foo</Value></Header>");463 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderResources().size(), 0L);464 action = ((ReceiveMessageAction) test.getActions().get(1));465 Assert.assertEquals(action.getName(), "receive");466 Assert.assertEquals(action.getEndpoint(), messageEndpoint);467 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());468 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);469 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "<TestRequest><Message>Hello World!</Message></TestRequest>");470 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);471 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>foo</Value></Header>");472 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderResources().size(), 0L);473 }474 @Test475 public void testReceiveBuilderWithMultipleHeaderData() {476 reset(messageEndpoint, messageConsumer, configuration);477 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);478 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);479 when(configuration.getTimeout()).thenReturn(100L);480 when(messageEndpoint.getActor()).thenReturn(null);481 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(482 new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>")483 .setHeader("operation", "foo")484 .addHeaderData("<Header><Name>operation</Name><Value>foo1</Value></Header>")485 .addHeaderData("<Header><Name>operation</Name><Value>foo2</Value></Header>"));486 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {487 @Override488 public void execute() {489 receive(action -> action.endpoint(messageEndpoint)490 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")491 .header("<Header><Name>operation</Name><Value>foo1</Value></Header>")492 .header("<Header><Name>operation</Name><Value>foo2</Value></Header>"));493 receive(action -> action.endpoint(messageEndpoint)494 .message(new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>"))495 .header("<Header><Name>operation</Name><Value>foo1</Value></Header>")496 .header("<Header><Name>operation</Name><Value>foo2</Value></Header>"));497 }498 };499 TestCase test = builder.getTestCase();500 Assert.assertEquals(test.getActionCount(), 2);501 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);502 Assert.assertEquals(test.getActions().get(1).getClass(), ReceiveMessageAction.class);503 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));504 Assert.assertEquals(action.getName(), "receive");505 Assert.assertEquals(action.getEndpoint(), messageEndpoint);506 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());507 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);508 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");509 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().size(), 2L);510 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>foo1</Value></Header>");511 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(1), "<Header><Name>operation</Name><Value>foo2</Value></Header>");512 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderResources().size(), 0L);513 action = ((ReceiveMessageAction)test.getActions().get(1));514 Assert.assertEquals(action.getName(), "receive");515 Assert.assertEquals(action.getEndpoint(), messageEndpoint);516 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());517 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);518 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "<TestRequest><Message>Hello World!</Message></TestRequest>");519 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().size(), 2L);520 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>foo1</Value></Header>");521 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().get(1), "<Header><Name>operation</Name><Value>foo2</Value></Header>");522 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderResources().size(), 0L);523 }524 @Test525 public void testReceiveBuilderWithHeaderFragment() {526 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);527 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);528 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);529 when(configuration.getTimeout()).thenReturn(100L);530 when(messageEndpoint.getActor()).thenReturn(null);531 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(532 new DefaultMessage()533 .addHeaderData("<TestRequest><Message>Hello Citrus!</Message></TestRequest>")534 .setHeader("operation", "foo"));535 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));536 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());537 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());538 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());539 when(applicationContextMock.getBeansOfType(Marshaller.class)).thenReturn(Collections.<String, Marshaller>singletonMap("marshaller", marshaller));540 when(applicationContextMock.getBean(Marshaller.class)).thenReturn(marshaller);541 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {542 @Override543 public void execute() {544 receive(action -> action.endpoint(messageEndpoint)545 .headerFragment(new TestRequest("Hello Citrus!")));546 }547 };548 TestCase test = builder.getTestCase();549 Assert.assertEquals(test.getActionCount(), 1);550 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);551 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));552 Assert.assertEquals(action.getName(), "receive");553 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());554 Assert.assertEquals(action.getEndpoint(), messageEndpoint);555 Assert.assertEquals(action.getValidationContexts().size(), 3);556 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);557 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);558 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);559 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);560 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);561 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(0),562 "<TestRequest><Message>Hello Citrus!</Message></TestRequest>");563 }564 @Test565 public void testReceiveBuilderWithHeaderFragmentExplicitMarshaller() {566 reset(messageEndpoint, messageConsumer, configuration);567 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);568 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);569 when(configuration.getTimeout()).thenReturn(100L);570 when(messageEndpoint.getActor()).thenReturn(null);571 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(572 new DefaultMessage()573 .addHeaderData("<TestRequest><Message>Hello Citrus!</Message></TestRequest>")574 .setHeader("operation", "foo"));575 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {576 @Override577 public void execute() {578 receive(action -> action.endpoint(messageEndpoint)579 .headerFragment(new TestRequest("Hello Citrus!"), marshaller));580 }581 };582 TestCase test = builder.getTestCase();583 Assert.assertEquals(test.getActionCount(), 1);584 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);585 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));586 Assert.assertEquals(action.getName(), "receive");587 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());588 Assert.assertEquals(action.getEndpoint(), messageEndpoint);589 Assert.assertEquals(action.getValidationContexts().size(), 3);590 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);591 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);592 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);593 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);594 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);595 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<TestRequest><Message>Hello Citrus!</Message></TestRequest>");596 }597 @Test598 public void testReceiveBuilderWithHeaderFragmentExplicitMarshallerName() {599 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);600 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);601 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);602 when(configuration.getTimeout()).thenReturn(100L);603 when(messageEndpoint.getActor()).thenReturn(null);604 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(605 new DefaultMessage()606 .addHeaderData("<TestRequest><Message>Hello Citrus!</Message></TestRequest>")607 .setHeader("operation", "foo"));608 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));609 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());610 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());611 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());612 when(applicationContextMock.containsBean("myMarshaller")).thenReturn(true);613 when(applicationContextMock.getBean("myMarshaller")).thenReturn(marshaller);614 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {615 @Override616 public void execute() {617 receive(action -> action.endpoint(messageEndpoint)618 .headerFragment(new TestRequest("Hello Citrus!"), "myMarshaller"));619 }620 };621 TestCase test = builder.getTestCase();622 Assert.assertEquals(test.getActionCount(), 1);623 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);624 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));625 Assert.assertEquals(action.getName(), "receive");626 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());627 Assert.assertEquals(action.getEndpoint(), messageEndpoint);628 Assert.assertEquals(action.getValidationContexts().size(), 3);629 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);630 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);631 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);632 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);633 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);634 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<TestRequest><Message>Hello Citrus!</Message></TestRequest>");635 }636 637 @Test638 public void testReceiveBuilderWithHeaderResource() throws IOException {639 reset(resource, messageEndpoint, messageConsumer, configuration);640 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);641 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);642 when(configuration.getTimeout()).thenReturn(100L);643 when(messageEndpoint.getActor()).thenReturn(null);644 when(messageConsumer.receive(any(TestContext.class), anyLong()))645 .thenReturn(new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>")646 .setHeader("operation", "foo")647 .addHeaderData("<Header><Name>operation</Name><Value>foo</Value></Header>"))648 .thenReturn(new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>")649 .setHeader("operation", "bar")650 .addHeaderData("<Header><Name>operation</Name><Value>bar</Value></Header>"));651 when(resource.getInputStream()).thenReturn(new ByteArrayInputStream("<Header><Name>operation</Name><Value>foo</Value></Header>".getBytes()))652 .thenReturn(new ByteArrayInputStream("<Header><Name>operation</Name><Value>bar</Value></Header>".getBytes()));653 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {654 @Override655 public void execute() {656 receive(action -> action.endpoint(messageEndpoint)657 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")658 .header(resource));659 receive(action -> action.endpoint(messageEndpoint)660 .message(new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>"))661 .header(resource));662 }663 };664 TestCase test = builder.getTestCase();665 Assert.assertEquals(test.getActionCount(), 2);666 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);667 Assert.assertEquals(test.getActions().get(1).getClass(), ReceiveMessageAction.class);668 669 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));670 Assert.assertEquals(action.getName(), "receive");671 672 Assert.assertEquals(action.getEndpoint(), messageEndpoint);673 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());674 675 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);676 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");677 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);678 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>foo</Value></Header>");679 680 action = ((ReceiveMessageAction)test.getActions().get(1));681 Assert.assertEquals(action.getName(), "receive");682 683 Assert.assertEquals(action.getEndpoint(), messageEndpoint);684 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());685 686 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);687 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "<TestRequest><Message>Hello World!</Message></TestRequest>");688 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);689 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>bar</Value></Header>");690 }691 @Test692 public void testReceiveBuilderWithMultipleHeaderResource() throws IOException {693 reset(resource, messageEndpoint, messageConsumer, configuration);694 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);695 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);696 when(configuration.getTimeout()).thenReturn(100L);697 when(messageEndpoint.getActor()).thenReturn(null);698 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(699 new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>")700 .setHeader("operation", "foo")701 .addHeaderData("<Header><Name>operation</Name><Value>sayHello</Value></Header>")702 .addHeaderData("<Header><Name>operation</Name><Value>foo</Value></Header>")703 .addHeaderData("<Header><Name>operation</Name><Value>bar</Value></Header>"));704 when(resource.getInputStream()).thenReturn(new ByteArrayInputStream("<Header><Name>operation</Name><Value>foo</Value></Header>".getBytes()))705 .thenReturn(new ByteArrayInputStream("<Header><Name>operation</Name><Value>bar</Value></Header>".getBytes()))706 .thenReturn(new ByteArrayInputStream("<Header><Name>operation</Name><Value>foo</Value></Header>".getBytes()))707 .thenReturn(new ByteArrayInputStream("<Header><Name>operation</Name><Value>bar</Value></Header>".getBytes()));708 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {709 @Override710 public void execute() {711 receive(action -> action.endpoint(messageEndpoint)712 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")713 .header("<Header><Name>operation</Name><Value>sayHello</Value></Header>")714 .header(resource)715 .header(resource));716 receive(action -> action.endpoint(messageEndpoint)717 .message(new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>"))718 .header("<Header><Name>operation</Name><Value>sayHello</Value></Header>")719 .header(resource)720 .header(resource));721 }722 };723 TestCase test = builder.getTestCase();724 Assert.assertEquals(test.getActionCount(), 2);725 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);726 Assert.assertEquals(test.getActions().get(1).getClass(), ReceiveMessageAction.class);727 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));728 Assert.assertEquals(action.getName(), "receive");729 Assert.assertEquals(action.getEndpoint(), messageEndpoint);730 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());731 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);732 Assert.assertEquals(((PayloadTemplateMessageBuilder) action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");733 Assert.assertEquals(((PayloadTemplateMessageBuilder) action.getMessageBuilder()).getHeaderData().size(), 3L);734 Assert.assertEquals(((PayloadTemplateMessageBuilder) action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>sayHello</Value></Header>");735 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(1), "<Header><Name>operation</Name><Value>foo</Value></Header>");736 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(2), "<Header><Name>operation</Name><Value>bar</Value></Header>");737 action = ((ReceiveMessageAction)test.getActions().get(1));738 Assert.assertEquals(action.getName(), "receive");739 Assert.assertEquals(action.getEndpoint(), messageEndpoint);740 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());741 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);742 Assert.assertEquals(((StaticMessageContentBuilder) action.getMessageBuilder()).getMessage().getPayload(), "<TestRequest><Message>Hello World!</Message></TestRequest>");743 Assert.assertEquals(((StaticMessageContentBuilder) action.getMessageBuilder()).getHeaderData().size(), 3L);744 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>sayHello</Value></Header>");745 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().get(1), "<Header><Name>operation</Name><Value>foo</Value></Header>");746 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().get(2), "<Header><Name>operation</Name><Value>bar</Value></Header>");747 }748 749 @Test750 public void testReceiveBuilderWithValidator() {751 reset(messageEndpoint, messageConsumer, configuration);752 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);753 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);754 when(configuration.getTimeout()).thenReturn(100L);755 when(messageEndpoint.getActor()).thenReturn(null);756 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(new DefaultMessage("TestMessage").setHeader("operation", "sayHello"));757 final PlainTextMessageValidator validator = new PlainTextMessageValidator();758 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {759 @Override760 public void execute() {761 receive(action -> action.endpoint(messageEndpoint)762 .messageType(MessageType.PLAINTEXT)763 .payload("TestMessage")764 .header("operation", "sayHello")765 .validator(validator));766 }767 };768 TestCase test = builder.getTestCase();769 Assert.assertEquals(test.getActionCount(), 1);770 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);771 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));772 Assert.assertEquals(action.getName(), "receive");773 Assert.assertEquals(action.getEndpoint(), messageEndpoint);774 Assert.assertEquals(action.getMessageType(), MessageType.PLAINTEXT.name());775 Assert.assertEquals(action.getValidators().size(), 1L);776 Assert.assertEquals(action.getValidators().get(0), validator);777 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);778 Assert.assertEquals(((PayloadTemplateMessageBuilder) action.getMessageBuilder()).getPayloadData(), "TestMessage");779 Assert.assertTrue(((PayloadTemplateMessageBuilder) action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));780 }781 782 @Test783 public void testReceiveBuilderWithValidatorName() {784 final PlainTextMessageValidator validator = new PlainTextMessageValidator();785 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);786 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);787 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);788 when(configuration.getTimeout()).thenReturn(100L);789 when(messageEndpoint.getActor()).thenReturn(null);790 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(new DefaultMessage("TestMessage").setHeader("operation", "sayHello"));791 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));792 when(applicationContextMock.getBean("plainTextValidator", MessageValidator.class)).thenReturn(validator);793 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());794 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());795 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());796 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {797 @Override798 public void execute() {799 receive(action -> action.endpoint(messageEndpoint)800 .messageType(MessageType.PLAINTEXT)801 .payload("TestMessage")802 .header("operation", "sayHello")803 .validator("plainTextValidator"));804 }805 };806 TestCase test = builder.getTestCase();807 Assert.assertEquals(test.getActionCount(), 1);808 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);809 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));810 Assert.assertEquals(action.getName(), "receive");811 Assert.assertEquals(action.getEndpoint(), messageEndpoint);812 Assert.assertEquals(action.getMessageType(), MessageType.PLAINTEXT.name());813 Assert.assertEquals(action.getValidators().size(), 1L);814 Assert.assertEquals(action.getValidators().get(0), validator);815 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);816 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "TestMessage");817 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));818 }819 @Test820 public void testReceiveBuilderWithDictionary() {821 final DataDictionary dictionary = new NodeMappingDataDictionary();822 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);823 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);824 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);825 when(configuration.getTimeout()).thenReturn(100L);826 when(messageEndpoint.getActor()).thenReturn(null);827 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(new DefaultMessage("TestMessage").setHeader("operation", "sayHello"));828 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));829 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());830 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());831 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());832 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {833 @Override834 public void execute() {835 receive(action -> action.endpoint(messageEndpoint)836 .messageType(MessageType.PLAINTEXT)837 .payload("TestMessage")838 .header("operation", "sayHello")839 .dictionary(dictionary));840 }841 };842 TestCase test = builder.getTestCase();843 Assert.assertEquals(test.getActionCount(), 1);844 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);845 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));846 Assert.assertEquals(action.getName(), "receive");847 Assert.assertEquals(action.getEndpoint(), messageEndpoint);848 Assert.assertEquals(action.getMessageType(), MessageType.PLAINTEXT.name());849 Assert.assertEquals(action.getDataDictionary(), dictionary);850 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);851 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "TestMessage");852 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));853 }854 @Test855 public void testReceiveBuilderWithDictionaryName() {856 final DataDictionary dictionary = new NodeMappingDataDictionary();857 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);858 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);859 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);860 when(configuration.getTimeout()).thenReturn(100L);861 when(messageEndpoint.getActor()).thenReturn(null);862 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(new DefaultMessage("TestMessage").setHeader("operation", "sayHello"));863 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));864 when(applicationContextMock.getBean("customDictionary", DataDictionary.class)).thenReturn(dictionary);865 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());866 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());867 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());868 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {869 @Override870 public void execute() {871 receive(action -> action.endpoint(messageEndpoint)872 .messageType(MessageType.PLAINTEXT)873 .payload("TestMessage")874 .header("operation", "sayHello")875 .dictionary("customDictionary"));876 }877 };878 TestCase test = builder.getTestCase();879 Assert.assertEquals(test.getActionCount(), 1);880 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);881 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));882 Assert.assertEquals(action.getName(), "receive");883 Assert.assertEquals(action.getEndpoint(), messageEndpoint);884 Assert.assertEquals(action.getMessageType(), MessageType.PLAINTEXT.name());885 Assert.assertEquals(action.getDataDictionary(), dictionary);886 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);887 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "TestMessage");888 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));889 }890 @Test891 public void testReceiveBuilderWithSelector() {892 SelectiveConsumer selectiveConsumer = Mockito.mock(SelectiveConsumer.class);893 reset(messageEndpoint, selectiveConsumer, configuration);894 when(messageEndpoint.createConsumer()).thenReturn(selectiveConsumer);895 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);896 when(configuration.getTimeout()).thenReturn(100L);897 when(messageEndpoint.getActor()).thenReturn(null);898 when(selectiveConsumer.receive(eq("operation = 'sayHello'"), any(TestContext.class), anyLong())).thenReturn(899 new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>")900 .setHeader("operation", "sayHello"));901 final Map<String, String> messageSelector = new HashMap<>();902 messageSelector.put("operation", "sayHello");903 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {904 @Override905 public void execute() {906 receive(action -> action.endpoint(messageEndpoint)907 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")908 .selector(messageSelector));909 }910 };911 TestCase test = builder.getTestCase();912 Assert.assertEquals(test.getActionCount(), 1);913 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);914 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));915 Assert.assertEquals(action.getName(), "receive");916 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());917 Assert.assertEquals(action.getEndpoint(), messageEndpoint);918 Assert.assertEquals(action.getMessageSelectorMap(), messageSelector);919 }920 921 @Test922 public void testReceiveBuilderWithSelectorExpression() {923 SelectiveConsumer selectiveConsumer = Mockito.mock(SelectiveConsumer.class);924 reset(messageEndpoint, selectiveConsumer, configuration);925 when(messageEndpoint.createConsumer()).thenReturn(selectiveConsumer);926 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);927 when(configuration.getTimeout()).thenReturn(100L);928 when(messageEndpoint.getActor()).thenReturn(null);929 when(selectiveConsumer.receive(eq("operation = 'sayHello'"), any(TestContext.class), anyLong())).thenReturn(930 new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>")931 .setHeader("operation", "sayHello"));932 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {933 @Override934 public void execute() {935 receive(action -> action.endpoint(messageEndpoint)936 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")937 .selector("operation = 'sayHello'"));938 }939 };940 TestCase test = builder.getTestCase();941 Assert.assertEquals(test.getActionCount(), 1);942 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);943 944 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));945 Assert.assertEquals(action.getName(), "receive");946 947 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());948 Assert.assertEquals(action.getEndpoint(), messageEndpoint);949 950 Assert.assertTrue(action.getMessageSelectorMap().isEmpty());951 Assert.assertEquals(action.getMessageSelector(), "operation = 'sayHello'");952 }953 954 @Test955 public void testReceiveBuilderExtractFromPayload() {956 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);957 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);958 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);959 when(configuration.getTimeout()).thenReturn(100L);960 when(messageEndpoint.getActor()).thenReturn(null);961 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(962 new DefaultMessage("<TestRequest><Message lang=\"ENG\">Hello World!</Message></TestRequest>")963 .setHeader("operation", "sayHello"));964 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));965 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());966 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());967 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());968 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {969 @Override970 public void execute() {971 receive(action -> action.endpoint(messageEndpoint)972 .payload("<TestRequest><Message lang=\"ENG\">Hello World!</Message></TestRequest>")973 .extractFromPayload("/TestRequest/Message", "text")974 .extractFromPayload("/TestRequest/Message/@lang", "language"));975 }976 };977 TestContext context = builder.getTestContext();978 Assert.assertNotNull(context.getVariable("text"));979 Assert.assertNotNull(context.getVariable("language"));980 Assert.assertEquals(context.getVariable("text"), "Hello World!");981 Assert.assertEquals(context.getVariable("language"), "ENG");982 TestCase test = builder.getTestCase();983 Assert.assertEquals(test.getActionCount(), 1);984 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);985 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));986 Assert.assertEquals(action.getName(), "receive");987 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());988 Assert.assertEquals(action.getEndpoint(), messageEndpoint);989 Assert.assertEquals(action.getVariableExtractors().size(), 1);990 Assert.assertTrue(action.getVariableExtractors().get(0) instanceof XpathPayloadVariableExtractor);991 Assert.assertTrue(((XpathPayloadVariableExtractor) action.getVariableExtractors().get(0)).getXpathExpressions().containsKey("/TestRequest/Message"));992 Assert.assertTrue(((XpathPayloadVariableExtractor) action.getVariableExtractors().get(0)).getXpathExpressions().containsKey("/TestRequest/Message/@lang"));993 }994 @Test995 public void testReceiveBuilderExtractJsonPathFromPayload() {996 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);997 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);998 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);999 when(configuration.getTimeout()).thenReturn(100L);1000 when(messageEndpoint.getActor()).thenReturn(null);1001 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(1002 new DefaultMessage("{\"text\":\"Hello World!\", \"person\":{\"name\":\"John\",\"surname\":\"Doe\"}, \"index\":5, \"id\":\"x123456789x\"}")1003 .setHeader("operation", "sayHello"));1004 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));1005 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());1006 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());1007 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());1008 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {1009 @Override1010 public void execute() {1011 receive(action -> action.endpoint(messageEndpoint)1012 .messageType(MessageType.JSON)1013 .payload("{\"text\":\"Hello World!\", \"person\":{\"name\":\"John\",\"surname\":\"Doe\"}, \"index\":5, \"id\":\"x123456789x\"}")1014 .extractFromPayload("$.text", "text")1015 .extractFromPayload("$.toString()", "payload")1016 .extractFromPayload("$.person", "person"));1017 }1018 };1019 TestContext context = builder.getTestContext();1020 Assert.assertNotNull(context.getVariable("text"));1021 Assert.assertNotNull(context.getVariable("person"));1022 Assert.assertNotNull(context.getVariable("payload"));1023 Assert.assertEquals(context.getVariable("text"), "Hello World!");1024 Assert.assertEquals(context.getVariable("payload"), "{\"person\":{\"surname\":\"Doe\",\"name\":\"John\"},\"index\":5,\"text\":\"Hello World!\",\"id\":\"x123456789x\"}");1025 Assert.assertTrue(context.getVariable("person").contains("\"John\""));1026 TestCase test = builder.getTestCase();1027 Assert.assertEquals(test.getActionCount(), 1);1028 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1029 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1030 Assert.assertEquals(action.getName(), "receive");1031 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());1032 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1033 Assert.assertEquals(action.getVariableExtractors().size(), 1);1034 Assert.assertTrue(action.getVariableExtractors().get(0) instanceof JsonPathVariableExtractor);1035 Assert.assertTrue(((JsonPathVariableExtractor) action.getVariableExtractors().get(0)).getJsonPathExpressions().containsKey("$.text"));1036 Assert.assertTrue(((JsonPathVariableExtractor) action.getVariableExtractors().get(0)).getJsonPathExpressions().containsKey("$.person"));1037 }1038 1039 @Test1040 public void testReceiveBuilderExtractFromHeader() {1041 reset(messageEndpoint, messageConsumer, configuration);1042 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1043 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1044 when(configuration.getTimeout()).thenReturn(100L);1045 when(messageEndpoint.getActor()).thenReturn(null);1046 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(1047 new DefaultMessage("<TestRequest><Message lang=\"ENG\">Hello World!</Message></TestRequest>")1048 .setHeader("operation", "sayHello")1049 .setHeader("requestId", "123456"));1050 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {1051 @Override1052 public void execute() {1053 receive(action -> action.endpoint(messageEndpoint)1054 .payload("<TestRequest><Message lang=\"ENG\">Hello World!</Message></TestRequest>")1055 .extractFromHeader("operation", "operationHeader")1056 .extractFromHeader("requestId", "id"));1057 }1058 };1059 TestContext context = builder.getTestContext();1060 Assert.assertNotNull(context.getVariable("operationHeader"));1061 Assert.assertNotNull(context.getVariable("id"));1062 Assert.assertEquals(context.getVariable("operationHeader"), "sayHello");1063 Assert.assertEquals(context.getVariable("id"), "123456");1064 TestCase test = builder.getTestCase();1065 Assert.assertEquals(test.getActionCount(), 1);1066 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1067 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1068 Assert.assertEquals(action.getName(), "receive");1069 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());1070 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1071 Assert.assertEquals(action.getVariableExtractors().size(), 1);1072 Assert.assertTrue(action.getVariableExtractors().get(0) instanceof MessageHeaderVariableExtractor);1073 Assert.assertTrue(((MessageHeaderVariableExtractor) action.getVariableExtractors().get(0)).getHeaderMappings().containsKey("operation"));1074 Assert.assertTrue(((MessageHeaderVariableExtractor) action.getVariableExtractors().get(0)).getHeaderMappings().containsKey("requestId"));1075 }1076 1077 @Test1078 public void testReceiveBuilderExtractCombined() {1079 reset(messageEndpoint, messageConsumer, configuration);1080 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1081 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1082 when(configuration.getTimeout()).thenReturn(100L);1083 when(messageEndpoint.getActor()).thenReturn(null);1084 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(1085 new DefaultMessage("<TestRequest><Message lang=\"ENG\">Hello World!</Message></TestRequest>")1086 .setHeader("operation", "sayHello")1087 .setHeader("requestId", "123456"));1088 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {1089 @Override1090 public void execute() {1091 receive(action -> action.endpoint(messageEndpoint)1092 .payload("<TestRequest><Message lang=\"ENG\">Hello World!</Message></TestRequest>")1093 .extractFromHeader("operation", "operationHeader")1094 .extractFromHeader("requestId", "id")1095 .extractFromPayload("/TestRequest/Message", "text")1096 .extractFromPayload("/TestRequest/Message/@lang", "language"));1097 }1098 };1099 TestContext context = builder.getTestContext();1100 Assert.assertNotNull(context.getVariable("operationHeader"));1101 Assert.assertNotNull(context.getVariable("id"));1102 Assert.assertEquals(context.getVariable("operationHeader"), "sayHello");1103 Assert.assertEquals(context.getVariable("id"), "123456");1104 Assert.assertNotNull(context.getVariable("text"));1105 Assert.assertNotNull(context.getVariable("language"));1106 Assert.assertEquals(context.getVariable("text"), "Hello World!");1107 Assert.assertEquals(context.getVariable("language"), "ENG");1108 TestCase test = builder.getTestCase();1109 Assert.assertEquals(test.getActionCount(), 1);1110 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1111 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1112 Assert.assertEquals(action.getName(), "receive");1113 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());1114 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1115 Assert.assertEquals(action.getVariableExtractors().size(), 2);1116 Assert.assertTrue(action.getVariableExtractors().get(0) instanceof MessageHeaderVariableExtractor);1117 Assert.assertTrue(((MessageHeaderVariableExtractor) action.getVariableExtractors().get(0)).getHeaderMappings().containsKey("operation"));1118 Assert.assertTrue(((MessageHeaderVariableExtractor) action.getVariableExtractors().get(0)).getHeaderMappings().containsKey("requestId"));1119 Assert.assertTrue(action.getVariableExtractors().get(1) instanceof XpathPayloadVariableExtractor);1120 Assert.assertTrue(((XpathPayloadVariableExtractor) action.getVariableExtractors().get(1)).getXpathExpressions().containsKey("/TestRequest/Message"));1121 Assert.assertTrue(((XpathPayloadVariableExtractor) action.getVariableExtractors().get(1)).getXpathExpressions().containsKey("/TestRequest/Message/@lang"));1122 }1123 1124 @Test1125 public void testReceiveBuilderWithValidationCallback() {1126 final AbstractValidationCallback callback = Mockito.mock(AbstractValidationCallback.class);1127 reset(callback, messageEndpoint, messageConsumer, configuration);1128 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1129 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1130 when(configuration.getTimeout()).thenReturn(100L);1131 when(messageEndpoint.getActor()).thenReturn(null);1132 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(new DefaultMessage("TestMessage").setHeader("operation", "sayHello"));1133 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {1134 @Override1135 public void execute() {1136 receive(action -> action.endpoint(messageEndpoint)1137 .messageType(MessageType.PLAINTEXT)1138 .payload("TestMessage")1139 .header("operation", "sayHello")1140 .validationCallback(callback));1141 }1142 };1143 TestCase test = builder.getTestCase();1144 Assert.assertEquals(test.getActionCount(), 1);1145 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1146 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1147 Assert.assertEquals(action.getName(), "receive");1148 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1149 Assert.assertEquals(action.getMessageType(), MessageType.PLAINTEXT.name());1150 Assert.assertEquals(action.getValidationCallback(), callback);1151 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1152 Assert.assertEquals(((PayloadTemplateMessageBuilder) action.getMessageBuilder()).getPayloadData(), "TestMessage");1153 Assert.assertTrue(((PayloadTemplateMessageBuilder) action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));1154 verify(callback).setApplicationContext(applicationContext);1155 verify(callback).validate(any(Message.class), any(TestContext.class));1156 }1157 @Test1158 public void testReceiveBuilderWithValidatonScript() {1159 final GroovyJsonMessageValidator validator = new GroovyJsonMessageValidator();1160 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);1161 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1162 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1163 when(configuration.getTimeout()).thenReturn(100L);1164 when(messageEndpoint.getActor()).thenReturn(null);1165 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(new DefaultMessage("{\"message\": \"Hello Citrus!\"}").setHeader("operation", "sayHello"));1166 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));1167 when(applicationContextMock.getBean("groovyMessageValidator", MessageValidator.class)).thenReturn(validator);1168 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());1169 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());1170 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());1171 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {1172 @Override1173 public void execute() {1174 receive(action -> action.endpoint(messageEndpoint)1175 .messageType(MessageType.JSON)1176 .validateScript("assert json.message == 'Hello Citrus!'")1177 .validator("groovyMessageValidator"));1178 }1179 };1180 TestCase test = builder.getTestCase();1181 Assert.assertEquals(test.getActionCount(), 1);1182 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1183 1184 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1185 Assert.assertEquals(action.getName(), "receive");1186 1187 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1188 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());1189 Assert.assertEquals(action.getValidators().size(), 1L);1190 Assert.assertEquals(action.getValidators().get(0), validator);1191 Assert.assertEquals(action.getValidationContexts().size(), 4L);1192 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1193 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1194 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1195 Assert.assertEquals(action.getValidationContexts().get(3).getClass(), ScriptValidationContext.class);1196 ScriptValidationContext validationContext = (ScriptValidationContext) action.getValidationContexts().get(3);1197 1198 Assert.assertEquals(validationContext.getScriptType(), ScriptTypes.GROOVY);1199 Assert.assertEquals(validationContext.getValidationScript(), "assert json.message == 'Hello Citrus!'");1200 Assert.assertNull(validationContext.getValidationScriptResourcePath());1201 }1202 1203 @Test1204 public void testReceiveBuilderWithValidatonScriptResourcePath() throws IOException {1205 final GroovyJsonMessageValidator validator = new GroovyJsonMessageValidator();1206 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);1207 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1208 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1209 when(configuration.getTimeout()).thenReturn(100L);1210 when(messageEndpoint.getActor()).thenReturn(null);1211 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(new DefaultMessage("{\"message\": \"Hello Citrus!\"}").setHeader("operation", "sayHello"));1212 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));1213 when(applicationContextMock.getBean("groovyMessageValidator", MessageValidator.class)).thenReturn(validator);1214 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());1215 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());1216 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());1217 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {1218 @Override1219 public void execute() {1220 receive(action -> action.endpoint(messageEndpoint)1221 .messageType(MessageType.JSON)1222 .validateScriptResource("classpath:com/consol/citrus/dsl/runner/validation.groovy")1223 .validator("groovyMessageValidator"));1224 }1225 };1226 TestCase test = builder.getTestCase();1227 Assert.assertEquals(test.getActionCount(), 1);1228 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1229 1230 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1231 Assert.assertEquals(action.getName(), "receive");1232 1233 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1234 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());1235 Assert.assertEquals(action.getValidators().size(), 1L);1236 Assert.assertEquals(action.getValidators().get(0), validator);1237 Assert.assertEquals(action.getValidationContexts().size(), 4L);1238 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1239 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1240 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1241 Assert.assertEquals(action.getValidationContexts().get(3).getClass(), ScriptValidationContext.class);1242 ScriptValidationContext validationContext = (ScriptValidationContext) action.getValidationContexts().get(3);1243 1244 Assert.assertEquals(validationContext.getScriptType(), ScriptTypes.GROOVY);1245 Assert.assertEquals(validationContext.getValidationScript(), "");1246 Assert.assertEquals(validationContext.getValidationScriptResourcePath(), "classpath:com/consol/citrus/dsl/runner/validation.groovy");1247 }1248 @Test1249 public void testReceiveBuilderWithValidatonScriptResource() throws IOException {1250 final GroovyJsonMessageValidator validator = new GroovyJsonMessageValidator();1251 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);1252 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1253 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1254 when(configuration.getTimeout()).thenReturn(100L);1255 when(messageEndpoint.getActor()).thenReturn(null);1256 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(new DefaultMessage("{\"message\": \"Hello Citrus!\"}").setHeader("operation", "sayHello"));1257 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));1258 when(applicationContextMock.getBean("groovyMessageValidator", MessageValidator.class)).thenReturn(validator);1259 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());1260 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());1261 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());1262 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {1263 @Override1264 public void execute() {1265 receive(action -> action.endpoint(messageEndpoint)1266 .messageType(MessageType.JSON)1267 .validateScript(new ClassPathResource("com/consol/citrus/dsl/runner/validation.groovy"))1268 .validator("groovyMessageValidator"));1269 }1270 };1271 TestCase test = builder.getTestCase();1272 Assert.assertEquals(test.getActionCount(), 1);1273 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1274 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1275 Assert.assertEquals(action.getName(), "receive");1276 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1277 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());1278 Assert.assertEquals(action.getValidators().size(), 1L);1279 Assert.assertEquals(action.getValidators().get(0), validator);1280 Assert.assertEquals(action.getValidationContexts().size(), 4L);1281 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1282 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1283 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1284 Assert.assertEquals(action.getValidationContexts().get(3).getClass(), ScriptValidationContext.class);1285 ScriptValidationContext validationContext = (ScriptValidationContext) action.getValidationContexts().get(3);1286 Assert.assertEquals(validationContext.getScriptType(), ScriptTypes.GROOVY);1287 Assert.assertEquals(validationContext.getValidationScript(), "assert json.message == 'Hello Citrus!'");1288 Assert.assertNull(validationContext.getValidationScriptResourcePath());1289 }1290 1291 @Test1292 public void testReceiveBuilderWithValidatonScriptAndHeader() {1293 final GroovyJsonMessageValidator validator = new GroovyJsonMessageValidator();1294 reset(applicationContextMock, messageEndpoint, messageConsumer, configuration);1295 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1296 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1297 when(configuration.getTimeout()).thenReturn(100L);1298 when(messageEndpoint.getActor()).thenReturn(null);1299 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(new DefaultMessage("{\"message\": \"Hello Citrus!\"}").setHeader("operation", "sayHello"));1300 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));1301 when(applicationContextMock.getBean("groovyMessageValidator", MessageValidator.class)).thenReturn(validator);1302 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());1303 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());1304 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());1305 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {1306 @Override1307 public void execute() {1308 receive(action -> action.endpoint(messageEndpoint)1309 .messageType(MessageType.JSON)1310 .validateScript("assert json.message == 'Hello Citrus!'")1311 .validator("groovyMessageValidator")1312 .header("operation", "sayHello"));1313 }1314 };1315 TestCase test = builder.getTestCase();1316 Assert.assertEquals(test.getActionCount(), 1);1317 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1318 1319 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1320 Assert.assertEquals(action.getName(), "receive");1321 1322 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1323 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());1324 Assert.assertEquals(action.getValidators().size(), 1L);1325 Assert.assertEquals(action.getValidators().get(0), validator);1326 Assert.assertEquals(action.getValidationContexts().size(), 4L);1327 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1328 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1329 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1330 Assert.assertEquals(action.getValidationContexts().get(3).getClass(), ScriptValidationContext.class);1331 ScriptValidationContext validationContext = (ScriptValidationContext) action.getValidationContexts().get(3);1332 1333 Assert.assertEquals(validationContext.getScriptType(), ScriptTypes.GROOVY);1334 Assert.assertEquals(validationContext.getValidationScript(), "assert json.message == 'Hello Citrus!'");1335 Assert.assertNull(validationContext.getValidationScriptResourcePath());1336 1337 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1338 Assert.assertNull(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData());1339 Assert.assertNull(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadResourcePath());1340 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));1341 }1342 1343 @Test1344 public void testReceiveBuilderWithNamespaceValidation() {1345 reset(messageEndpoint, messageConsumer, configuration);1346 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1347 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1348 when(configuration.getTimeout()).thenReturn(100L);1349 when(messageEndpoint.getActor()).thenReturn(null);1350 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(1351 new DefaultMessage("<TestRequest xmlns:pfx=\"http://www.consol.de/schemas/test\"><Message>Hello World!</Message></TestRequest>")1352 .setHeader("operation", "foo"));1353 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {1354 @Override1355 public void execute() {1356 receive(action -> action.endpoint(messageEndpoint)1357 .payload("<TestRequest xmlns:pfx=\"http://www.consol.de/schemas/test\"><Message>Hello World!</Message></TestRequest>")1358 .validateNamespace("pfx", "http://www.consol.de/schemas/test"));1359 }1360 };1361 TestCase test = builder.getTestCase();1362 Assert.assertEquals(test.getActionCount(), 1);1363 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1364 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1365 Assert.assertEquals(action.getName(), "receive");1366 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());1367 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1368 Assert.assertEquals(action.getValidationContexts().size(), 3);1369 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1370 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1371 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1372 XmlMessageValidationContext validationContext = (XmlMessageValidationContext) action.getValidationContexts().get(1);1373 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1374 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(),1375 "<TestRequest xmlns:pfx=\"http://www.consol.de/schemas/test\"><Message>Hello World!</Message></TestRequest>");1376 Assert.assertEquals(validationContext.getControlNamespaces().get("pfx"), "http://www.consol.de/schemas/test");1377 }1378 @Test1379 public void testReceiveBuilderWithXpathExpressions() {1380 reset(messageEndpoint, messageConsumer, configuration);1381 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1382 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1383 when(configuration.getTimeout()).thenReturn(100L);1384 when(messageEndpoint.getActor()).thenReturn(null);1385 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(1386 new DefaultMessage("<TestRequest><Message lang=\"ENG\">Hello World!</Message><Operation>SayHello</Operation></TestRequest>")1387 .setHeader("operation", "sayHello"));1388 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {1389 @Override1390 public void execute() {1391 receive(action -> action.endpoint(messageEndpoint)1392 .payload("<TestRequest><Message lang=\"ENG\">Hello World!</Message><Operation>SayHello</Operation></TestRequest>")1393 .validate("TestRequest.Message", "Hello World!")1394 .validate("TestRequest.Operation", "SayHello"));1395 }1396 };1397 TestCase test = builder.getTestCase();1398 Assert.assertEquals(test.getActionCount(), 1);1399 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1400 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1401 Assert.assertEquals(action.getName(), "receive");1402 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());1403 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1404 Assert.assertEquals(action.getValidationContexts().size(), 3);1405 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1406 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), JsonMessageValidationContext.class);1407 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), XpathMessageValidationContext.class);1408 XpathMessageValidationContext validationContext = (XpathMessageValidationContext) action.getValidationContexts().get(2);1409 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1410 Assert.assertEquals(validationContext.getXpathExpressions().size(), 2L);1411 Assert.assertEquals(validationContext.getXpathExpressions().get("TestRequest.Message"), "Hello World!");1412 Assert.assertEquals(validationContext.getXpathExpressions().get("TestRequest.Operation"), "SayHello");1413 }1414 @Test1415 public void testReceiveBuilderWithJsonPathExpressions() {1416 reset(messageEndpoint, messageConsumer, configuration);1417 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1418 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1419 when(configuration.getTimeout()).thenReturn(100L);1420 when(messageEndpoint.getActor()).thenReturn(null);1421 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(1422 new DefaultMessage("{\"text\":\"Hello World!\", \"person\":{\"name\":\"John\",\"surname\":\"Doe\",\"active\": true}, \"index\":5, \"id\":\"x123456789x\"}")1423 .setHeader("operation", "sayHello"));1424 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {1425 @Override1426 public void execute() {1427 receive(action -> action.endpoint(messageEndpoint)1428 .messageType(MessageType.JSON)1429 .payload("{\"text\":\"Hello World!\", \"person\":{\"name\":\"John\",\"surname\":\"Doe\",\"active\": true}, \"index\":5, \"id\":\"x123456789x\"}")1430 .validate("$.person.name", "John")1431 .validate("$.person.active", true)1432 .validate("$.id", anyOf(containsString("123456789"), nullValue()))1433 .validate("$.text", "Hello World!")1434 .validate("$.index", 5));1435 }1436 };1437 TestCase test = builder.getTestCase();1438 Assert.assertEquals(test.getActionCount(), 1);1439 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1440 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1441 Assert.assertEquals(action.getName(), "receive");1442 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());1443 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1444 Assert.assertEquals(action.getValidationContexts().size(), 4);1445 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1446 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1447 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1448 Assert.assertEquals(action.getValidationContexts().get(3).getClass(), JsonPathMessageValidationContext.class);1449 JsonPathMessageValidationContext validationContext = (JsonPathMessageValidationContext) action.getValidationContexts().get(3);1450 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1451 Assert.assertEquals(validationContext.getJsonPathExpressions().size(), 5L);1452 Assert.assertEquals(validationContext.getJsonPathExpressions().get("$.person.name"), "John");1453 Assert.assertEquals(validationContext.getJsonPathExpressions().get("$.person.active"), true);1454 Assert.assertEquals(validationContext.getJsonPathExpressions().get("$.text"), "Hello World!");1455 Assert.assertEquals(validationContext.getJsonPathExpressions().get("$.index"), 5);1456 Assert.assertEquals(validationContext.getJsonPathExpressions().get("$.id").getClass(), AnyOf.class);1457 }1458 @Test(expectedExceptions = TestCaseFailedException.class)1459 public void testReceiveBuilderWithJsonPathExpressionsFailure() {1460 reset(messageEndpoint, messageConsumer, configuration);1461 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1462 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1463 when(configuration.getTimeout()).thenReturn(100L);1464 when(messageEndpoint.getActor()).thenReturn(null);1465 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(1466 new DefaultMessage("{\"text\":\"Hello World!\", \"person\":{\"name\":\"John\",\"surname\":\"Doe\"}, \"index\":5, \"id\":\"x123456789x\"}")1467 .setHeader("operation", "sayHello"));1468 new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {1469 @Override1470 public void execute() {1471 receive(action -> action.endpoint(messageEndpoint)1472 .messageType(MessageType.JSON)1473 .payload("{\"text\":\"Hello World!\", \"person\":{\"name\":\"John\",\"surname\":\"Doe\"}, \"index\":5, \"id\":\"x123456789x\"}")1474 .validate("$.person.name", "John")1475 .validate("$.text", "Hello Citrus!"));1476 }1477 };1478 }1479 @Test(expectedExceptions = TestCaseFailedException.class)1480 public void testReceiveBuilderWithJsonValidationFailure() {1481 reset(messageEndpoint, messageConsumer, configuration);1482 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1483 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1484 when(configuration.getTimeout()).thenReturn(100L);1485 when(messageEndpoint.getActor()).thenReturn(null);1486 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(1487 new DefaultMessage("{\"text\":\"Hello World!\", \"person\":{\"name\":\"John\",\"surname\":\"Doe\"}, \"index\":5, \"id\":\"x123456789x\"}")1488 .setHeader("operation", "sayHello"));1489 new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {1490 @Override1491 public void execute() {1492 receive(action -> action.endpoint(messageEndpoint)1493 .messageType(MessageType.JSON)1494 .payload("{\"text\":\"Hello Citrus!\", \"person\":{\"name\":\"John\",\"surname\":\"Doe\"}, \"index\":5, \"id\":\"x123456789x\"}")1495 .validate("$.person.name", "John")1496 .validate("$.text", "Hello World!"));1497 }1498 };1499 }1500 1501 @Test1502 public void testReceiveBuilderWithIgnoreElementsXpath() {1503 reset(messageEndpoint, messageConsumer, configuration);1504 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1505 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1506 when(configuration.getTimeout()).thenReturn(100L);1507 when(messageEndpoint.getActor()).thenReturn(null);1508 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(1509 new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>")1510 .setHeader("operation", "sayHello"));1511 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {1512 @Override1513 public void execute() {1514 receive(action -> action.endpoint(messageEndpoint)1515 .payload("<TestRequest><Message>?</Message></TestRequest>")1516 .ignore("TestRequest.Message"));1517 }1518 };1519 TestCase test = builder.getTestCase();1520 Assert.assertEquals(test.getActionCount(), 1);1521 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1522 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1523 Assert.assertEquals(action.getName(), "receive");1524 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());1525 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1526 Assert.assertEquals(action.getValidationContexts().size(), 3);1527 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1528 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1529 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1530 XmlMessageValidationContext validationContext = (XmlMessageValidationContext) action.getValidationContexts().get(1);1531 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1532 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>?</Message></TestRequest>");1533 Assert.assertEquals(validationContext.getIgnoreExpressions().size(), 1L);1534 Assert.assertEquals(validationContext.getIgnoreExpressions().iterator().next(), "TestRequest.Message");1535 }1536 @Test1537 public void testReceiveBuilderWithIgnoreElementsJson() {1538 reset(messageEndpoint, messageConsumer, configuration);1539 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1540 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1541 when(configuration.getTimeout()).thenReturn(100L);1542 when(messageEndpoint.getActor()).thenReturn(null);1543 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(1544 new DefaultMessage("{\"text\":\"Hello World!\", \"person\":{\"name\":\"John\",\"surname\":\"Doe\"}, \"index\":5, \"id\":\"x123456789x\"}")1545 .setHeader("operation", "sayHello"));1546 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {1547 @Override1548 public void execute() {1549 receive(action -> action.endpoint(messageEndpoint)1550 .messageType(MessageType.JSON)1551 .payload("{\"text\":\"?\", \"person\":{\"name\":\"John\",\"surname\":\"?\"}, \"index\":0, \"id\":\"x123456789x\"}")1552 .ignore("$..text")1553 .ignore("$.person.surname")1554 .ignore("$.index"));1555 }1556 };1557 TestCase test = builder.getTestCase();1558 Assert.assertEquals(test.getActionCount(), 1);1559 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1560 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1561 Assert.assertEquals(action.getName(), "receive");1562 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());1563 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1564 Assert.assertEquals(action.getValidationContexts().size(), 3);1565 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1566 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1567 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1568 JsonMessageValidationContext validationContext = (JsonMessageValidationContext) action.getValidationContexts().get(2);1569 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1570 Assert.assertEquals(((PayloadTemplateMessageBuilder) action.getMessageBuilder()).getPayloadData(), "{\"text\":\"?\", \"person\":{\"name\":\"John\",\"surname\":\"?\"}, \"index\":0, \"id\":\"x123456789x\"}");1571 Assert.assertEquals(validationContext.getIgnoreExpressions().size(), 3L);1572 Assert.assertTrue(validationContext.getIgnoreExpressions().contains("$..text"));1573 Assert.assertTrue(validationContext.getIgnoreExpressions().contains("$.person.surname"));1574 Assert.assertTrue(validationContext.getIgnoreExpressions().contains("$.index"));1575 }1576 @Test1577 public void testReceiveBuilderWithSchema() throws IOException {1578 XsdSchema schema = applicationContext.getBean("testSchema", XsdSchema.class);1579 XmlValidator validator = Mockito.mock(XmlValidator.class);1580 reset(applicationContextMock, schema, validator, messageEndpoint, messageConsumer, configuration);1581 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1582 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1583 when(configuration.getTimeout()).thenReturn(100L);1584 when(messageEndpoint.getActor()).thenReturn(null);1585 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(1586 new DefaultMessage("<TestRequest xmlns=\"http://citrusframework.org/test\"><Message>Hello World!</Message></TestRequest>")1587 .setHeader("operation", "sayHello"));1588 when(applicationContextMock.getBean(TestContext.class)).thenReturn(applicationContext.getBean(TestContext.class));1589 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());1590 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());1591 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());1592 when(schema.createValidator()).thenReturn(validator);1593 when(validator.validate(any(Source.class))).thenReturn(new SAXParseException[] {});1594 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContextMock, context) {1595 @Override1596 public void execute() {1597 receive(action -> action.endpoint(messageEndpoint)1598 .payload("<TestRequest xmlns=\"http://citrusframework.org/test\"><Message>Hello World!</Message></TestRequest>")1599 .xsd("testSchema"));1600 }1601 };1602 TestCase test = builder.getTestCase();1603 Assert.assertEquals(test.getActionCount(), 1);1604 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1605 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1606 Assert.assertEquals(action.getName(), "receive");1607 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());1608 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1609 Assert.assertEquals(action.getValidationContexts().size(), 3);1610 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1611 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1612 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1613 XmlMessageValidationContext validationContext = (XmlMessageValidationContext) action.getValidationContexts().get(1);1614 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1615 Assert.assertEquals(((PayloadTemplateMessageBuilder) action.getMessageBuilder()).getPayloadData(), "<TestRequest xmlns=\"http://citrusframework.org/test\"><Message>Hello World!</Message></TestRequest>");1616 Assert.assertEquals(validationContext.getSchema(), "testSchema");1617 }1618 1619 @Test1620 public void testReceiveBuilderWithSchemaRepository() throws IOException {1621 XsdSchema schema = applicationContext.getBean("testSchema", XsdSchema.class);1622 reset(schema, messageEndpoint, messageConsumer, configuration);1623 when(messageEndpoint.createConsumer()).thenReturn(messageConsumer);1624 when(messageEndpoint.getEndpointConfiguration()).thenReturn(configuration);1625 when(configuration.getTimeout()).thenReturn(100L);1626 when(messageEndpoint.getActor()).thenReturn(null);1627 when(messageConsumer.receive(any(TestContext.class), anyLong())).thenReturn(1628 new DefaultMessage("<TestRequest xmlns=\"http://citrusframework.org/test\"><Message>Hello World!</Message></TestRequest>")1629 .setHeader("operation", "sayHello"));1630 when(schema.getTargetNamespace()).thenReturn("http://citrusframework.org/test");1631 when(schema.getSource()).thenReturn(new StringSource("<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n" +1632 " xmlns=\"http://citrusframework.org/test\"\n" +1633 " targetNamespace=\"http://citrusframework.org/test\"\n" +1634 " elementFormDefault=\"qualified\"\n" +1635 " attributeFormDefault=\"unqualified\">\n" +1636 " <xs:element name=\"TestRequest\">\n" +1637 " <xs:complexType>\n" +1638 " <xs:sequence>\n" +1639 " <xs:element name=\"Message\" type=\"xs:string\"/>\n" +1640 " </xs:sequence>\n" +1641 " </xs:complexType>\n" +1642 " </xs:element></xs:schema>"));1643 MockTestRunner builder = new MockTestRunner(getClass().getSimpleName(), applicationContext, context) {1644 @Override1645 public void execute() {1646 receive(action -> action.endpoint(messageEndpoint)1647 .payload("<TestRequest xmlns=\"http://citrusframework.org/test\"><Message>Hello World!</Message></TestRequest>")1648 .xsdSchemaRepository("customSchemaRepository"));1649 }1650 };1651 TestCase test = builder.getTestCase();1652 Assert.assertEquals(test.getActionCount(), 1);1653 Assert.assertEquals(test.getActions().get(0).getClass(), ReceiveMessageAction.class);1654 1655 ReceiveMessageAction action = ((ReceiveMessageAction)test.getActions().get(0));1656 Assert.assertEquals(action.getName(), "receive");1657 1658 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());1659 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1660 Assert.assertEquals(action.getValidationContexts().size(), 3);1661 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1662 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1663 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1664 1665 XmlMessageValidationContext validationContext = (XmlMessageValidationContext) action.getValidationContexts().get(1);1666 1667 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1668 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest xmlns=\"http://citrusframework.org/test\"><Message>Hello World!</Message></TestRequest>");1669 Assert.assertEquals(validationContext.getSchemaRepository(), "customSchemaRepository");1670 }1671 @Test1672 public void testReceiveBuilderWithJsonSchemaRepository() throws IOException {...

Full Screen

Full Screen

Source:ReceiveMessageTestDesignerTest.java Github

copy

Full Screen

...82 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);83 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);84 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();85 Assert.assertEquals(action.getName(), "receive");86 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());87 Assert.assertEquals(action.getEndpoint(), messageEndpoint);88 Assert.assertEquals(action.getValidationContexts().size(), 3);89 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);90 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);91 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);92 }93 @Test94 public void testReceiveBuilder() {95 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {96 @Override97 public void configure() {98 receive(messageEndpoint)99 .message(new DefaultMessage("Foo").setHeader("operation", "foo"));100 }101 };102 builder.configure();103 TestCase test = builder.getTestCase();104 Assert.assertEquals(test.getActionCount(), 1);105 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);106 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);107 108 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();109 Assert.assertEquals(action.getName(), "receive");110 111 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());112 Assert.assertEquals(action.getEndpoint(), messageEndpoint);113 Assert.assertEquals(action.getValidationContexts().size(), 3);114 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);115 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);116 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);117 118 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);119 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "Foo");120 Assert.assertNotNull(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getHeader("operation"));121 }122 @Test123 public void testReceiveBuilderWithPayloadModel() {124 reset(applicationContextMock);125 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());126 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());127 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());128 when(applicationContextMock.getBeansOfType(Marshaller.class)).thenReturn(Collections.<String, Marshaller>singletonMap("marshaller", marshaller));129 when(applicationContextMock.getBean(Marshaller.class)).thenReturn(marshaller);130 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {131 @Override132 public void configure() {133 receive(messageEndpoint)134 .payloadModel(new TestRequest("Hello Citrus!"));135 }136 };137 builder.configure();138 TestCase test = builder.getTestCase();139 Assert.assertEquals(test.getActionCount(), 1);140 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);141 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);142 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();143 Assert.assertEquals(action.getName(), "receive");144 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());145 Assert.assertEquals(action.getEndpoint(), messageEndpoint);146 Assert.assertEquals(action.getValidationContexts().size(), 3);147 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);148 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);149 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);150 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);151 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello Citrus!</Message></TestRequest>");152 }153 @Test154 public void testReceiveBuilderWithPayloadModelExplicitMarshaller() {155 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {156 @Override157 public void configure() {158 receive(messageEndpoint)159 .payload(new TestRequest("Hello Citrus!"), marshaller);160 }161 };162 builder.configure();163 TestCase test = builder.getTestCase();164 Assert.assertEquals(test.getActionCount(), 1);165 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);166 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);167 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();168 Assert.assertEquals(action.getName(), "receive");169 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());170 Assert.assertEquals(action.getEndpoint(), messageEndpoint);171 Assert.assertEquals(action.getValidationContexts().size(), 3);172 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);173 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);174 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);175 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);176 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello Citrus!</Message></TestRequest>");177 }178 @Test179 public void testReceiveBuilderWithPayloadModelExplicitMarshallerName() {180 reset(applicationContextMock);181 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());182 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());183 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());184 when(applicationContextMock.containsBean("myMarshaller")).thenReturn(true);185 when(applicationContextMock.getBean("myMarshaller")).thenReturn(marshaller);186 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {187 @Override188 public void configure() {189 receive(messageEndpoint)190 .payload(new TestRequest("Hello Citrus!"), "myMarshaller");191 }192 };193 builder.configure();194 TestCase test = builder.getTestCase();195 Assert.assertEquals(test.getActionCount(), 1);196 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);197 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);198 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();199 Assert.assertEquals(action.getName(), "receive");200 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());201 Assert.assertEquals(action.getEndpoint(), messageEndpoint);202 Assert.assertEquals(action.getValidationContexts().size(), 3);203 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);204 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);205 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);206 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);207 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello Citrus!</Message></TestRequest>");208 }209 210 @Test211 public void testReceiveBuilderWithPayloadString() {212 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {213 @Override214 public void configure() {215 receive(messageEndpoint)216 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>");217 }218 };219 builder.configure();220 TestCase test = builder.getTestCase();221 Assert.assertEquals(test.getActionCount(), 1);222 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);223 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);224 225 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();226 Assert.assertEquals(action.getName(), "receive");227 228 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());229 Assert.assertEquals(action.getEndpoint(), messageEndpoint);230 Assert.assertEquals(action.getValidationContexts().size(), 3);231 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);232 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);233 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);234 235 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);236 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");237 }238 239 @Test240 public void testReceiveBuilderWithPayloadResource() throws IOException {241 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {242 @Override243 public void configure() {244 receive(messageEndpoint)245 .payload(resource);246 }247 };248 249 reset(resource);250 when(resource.getInputStream()).thenReturn(new ByteArrayInputStream("somePayload".getBytes()));251 builder.configure();252 TestCase test = builder.getTestCase();253 Assert.assertEquals(test.getActionCount(), 1);254 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);255 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);256 257 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();258 Assert.assertEquals(action.getName(), "receive");259 260 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());261 Assert.assertEquals(action.getEndpoint(), messageEndpoint);262 Assert.assertEquals(action.getValidationContexts().size(), 3);263 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);264 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);265 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);266 267 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);268 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "somePayload");269 }270 271 @Test272 public void testReceiveBuilderWithEndpointName() {273 reset(applicationContextMock);274 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());275 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());276 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());277 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {278 @Override279 public void configure() {280 receive("fooMessageEndpoint")281 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>");282 }283 };284 builder.configure();285 TestCase test = builder.getTestCase();286 Assert.assertEquals(test.getActionCount(), 1);287 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);288 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);289 290 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();291 Assert.assertEquals(action.getName(), "receive");292 Assert.assertEquals(action.getEndpointUri(), "fooMessageEndpoint");293 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());294 }295 296 @Test297 public void testReceiveBuilderWithTimeout() {298 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {299 @Override300 public void configure() {301 receive(messageEndpoint)302 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")303 .timeout(1000L);304 }305 };306 builder.configure();307 TestCase test = builder.getTestCase();308 Assert.assertEquals(test.getActionCount(), 1);309 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);310 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);311 312 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();313 Assert.assertEquals(action.getName(), "receive");314 315 Assert.assertEquals(action.getEndpoint(), messageEndpoint);316 Assert.assertEquals(action.getReceiveTimeout(), 1000L);317 }318 319 @Test320 public void testReceiveBuilderWithHeaders() {321 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {322 @Override323 public void configure() {324 receive(messageEndpoint)325 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")326 .headers(Collections.singletonMap("some", "value"))327 .header("operation", "sayHello")328 .header("foo", "bar");329 330 receive(messageEndpoint)331 .header("operation", "sayHello")332 .header("foo", "bar")333 .headers(Collections.singletonMap("some", "value"))334 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>");335 }336 };337 builder.configure();338 TestCase test = builder.getTestCase();339 Assert.assertEquals(test.getActionCount(), 2);340 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);341 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);342 Assert.assertEquals(test.getActions().get(1).getClass(), DelegatingTestAction.class);343 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(1)).getDelegate().getClass(), ReceiveMessageAction.class);344 345 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();346 Assert.assertEquals(action.getName(), "receive");347 348 Assert.assertEquals(action.getEndpoint(), messageEndpoint);349 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());350 351 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);352 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");353 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("some"));354 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));355 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("foo"));356 357 action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(1)).getDelegate();358 Assert.assertEquals(action.getName(), "receive");359 360 Assert.assertEquals(action.getEndpoint(), messageEndpoint);361 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());362 363 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);364 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");365 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("some"));366 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));367 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("foo"));368 }369 370 @Test371 public void testReceiveBuilderWithHeaderData() {372 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {373 @Override374 public void configure() {375 receive(messageEndpoint)376 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")377 .header("<Header><Name>operation</Name><Value>foo</Value></Header>");378 379 receive(messageEndpoint)380 .message(new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>"))381 .header("<Header><Name>operation</Name><Value>foo</Value></Header>");382 }383 };384 builder.configure();385 TestCase test = builder.getTestCase();386 Assert.assertEquals(test.getActionCount(), 2);387 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);388 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);389 Assert.assertEquals(test.getActions().get(1).getClass(), DelegatingTestAction.class);390 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(1)).getDelegate().getClass(), ReceiveMessageAction.class);391 392 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();393 Assert.assertEquals(action.getName(), "receive");394 395 Assert.assertEquals(action.getEndpoint(), messageEndpoint);396 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());397 398 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);399 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");400 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);401 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>foo</Value></Header>");402 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderResources().size(), 0L);403 404 action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(1)).getDelegate();405 Assert.assertEquals(action.getName(), "receive");406 407 Assert.assertEquals(action.getEndpoint(), messageEndpoint);408 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());409 410 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);411 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "<TestRequest><Message>Hello World!</Message></TestRequest>");412 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);413 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>foo</Value></Header>");414 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderResources().size(), 0L);415 }416 @Test417 public void testReceiveBuilderWithMultipleHeaderData() {418 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {419 @Override420 public void configure() {421 receive(messageEndpoint)422 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")423 .header("<Header><Name>operation</Name><Value>foo1</Value></Header>")424 .header("<Header><Name>operation</Name><Value>foo2</Value></Header>");425 receive(messageEndpoint)426 .message(new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>"))427 .header("<Header><Name>operation</Name><Value>foo1</Value></Header>")428 .header("<Header><Name>operation</Name><Value>foo2</Value></Header>");429 }430 };431 builder.configure();432 TestCase test = builder.getTestCase();433 Assert.assertEquals(test.getActionCount(), 2);434 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);435 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);436 Assert.assertEquals(test.getActions().get(1).getClass(), DelegatingTestAction.class);437 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(1)).getDelegate().getClass(), ReceiveMessageAction.class);438 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();439 Assert.assertEquals(action.getName(), "receive");440 Assert.assertEquals(action.getEndpoint(), messageEndpoint);441 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());442 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);443 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");444 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().size(), 2L);445 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>foo1</Value></Header>");446 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(1), "<Header><Name>operation</Name><Value>foo2</Value></Header>");447 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderResources().size(), 0L);448 action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(1)).getDelegate();449 Assert.assertEquals(action.getName(), "receive");450 Assert.assertEquals(action.getEndpoint(), messageEndpoint);451 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());452 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);453 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "<TestRequest><Message>Hello World!</Message></TestRequest>");454 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().size(), 2L);455 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>foo1</Value></Header>");456 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().get(1), "<Header><Name>operation</Name><Value>foo2</Value></Header>");457 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderResources().size(), 0L);458 }459 @Test460 public void testReceiveBuilderWithHeaderFragment() {461 reset(applicationContextMock);462 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());463 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());464 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());465 when(applicationContextMock.getBeansOfType(Marshaller.class)).thenReturn(Collections.<String, Marshaller>singletonMap("marshaller", marshaller));466 when(applicationContextMock.getBean(Marshaller.class)).thenReturn(marshaller);467 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {468 @Override469 public void configure() {470 receive(messageEndpoint)471 .headerFragment(new TestRequest("Hello Citrus!"));472 }473 };474 builder.configure();475 TestCase test = builder.getTestCase();476 Assert.assertEquals(test.getActionCount(), 1);477 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);478 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);479 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();480 Assert.assertEquals(action.getName(), "receive");481 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());482 Assert.assertEquals(action.getEndpoint(), messageEndpoint);483 Assert.assertEquals(action.getValidationContexts().size(), 3);484 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);485 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);486 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);487 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);488 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);489 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<TestRequest><Message>Hello Citrus!</Message></TestRequest>");490 }491 @Test492 public void testReceiveBuilderWithHeaderFragmentExplicitMarshaller() {493 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {494 @Override495 public void configure() {496 receive(messageEndpoint)497 .headerFragment(new TestRequest("Hello Citrus!"), marshaller);498 }499 };500 builder.configure();501 TestCase test = builder.getTestCase();502 Assert.assertEquals(test.getActionCount(), 1);503 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);504 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);505 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();506 Assert.assertEquals(action.getName(), "receive");507 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());508 Assert.assertEquals(action.getEndpoint(), messageEndpoint);509 Assert.assertEquals(action.getValidationContexts().size(), 3);510 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);511 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);512 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);513 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);514 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);515 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<TestRequest><Message>Hello Citrus!</Message></TestRequest>");516 }517 @Test518 public void testReceiveBuilderWithHeaderFragmentExplicitMarshallerName() {519 reset(applicationContextMock);520 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());521 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());522 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());523 when(applicationContextMock.containsBean("myMarshaller")).thenReturn(true);524 when(applicationContextMock.getBean("myMarshaller")).thenReturn(marshaller);525 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {526 @Override527 public void configure() {528 receive(messageEndpoint)529 .headerFragment(new TestRequest("Hello Citrus!"), "myMarshaller");530 }531 };532 builder.configure();533 TestCase test = builder.getTestCase();534 Assert.assertEquals(test.getActionCount(), 1);535 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);536 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);537 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();538 Assert.assertEquals(action.getName(), "receive");539 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());540 Assert.assertEquals(action.getEndpoint(), messageEndpoint);541 Assert.assertEquals(action.getValidationContexts().size(), 3);542 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);543 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);544 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);545 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);546 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);547 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<TestRequest><Message>Hello Citrus!</Message></TestRequest>");548 }549 550 @Test551 public void testReceiveBuilderWithHeaderResource() throws IOException {552 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {553 @Override554 public void configure() {555 receive(messageEndpoint)556 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")557 .header(resource);558 559 receive(messageEndpoint)560 .message(new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>"))561 .header(resource);562 }563 };564 565 reset(resource);566 when(resource.getInputStream()).thenReturn(new ByteArrayInputStream("someHeaderData".getBytes()))567 .thenReturn(new ByteArrayInputStream("otherHeaderData".getBytes()));568 builder.configure();569 TestCase test = builder.getTestCase();570 Assert.assertEquals(test.getActionCount(), 2);571 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);572 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);573 Assert.assertEquals(test.getActions().get(1).getClass(), DelegatingTestAction.class);574 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(1)).getDelegate().getClass(), ReceiveMessageAction.class);575 576 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();577 Assert.assertEquals(action.getName(), "receive");578 579 Assert.assertEquals(action.getEndpoint(), messageEndpoint);580 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());581 582 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);583 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");584 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);585 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(0), "someHeaderData");586 587 action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(1)).getDelegate();588 Assert.assertEquals(action.getName(), "receive");589 590 Assert.assertEquals(action.getEndpoint(), messageEndpoint);591 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());592 593 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);594 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "<TestRequest><Message>Hello World!</Message></TestRequest>");595 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().size(), 1L);596 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().get(0), "otherHeaderData");597 }598 @Test599 public void testReceiveBuilderWithMultipleHeaderResource() throws IOException {600 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {601 @Override602 public void configure() {603 receive(messageEndpoint)604 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")605 .header("<Header><Name>operation</Name><Value>foo</Value></Header>")606 .header(resource);607 receive(messageEndpoint)608 .message(new DefaultMessage("<TestRequest><Message>Hello World!</Message></TestRequest>"))609 .header("<Header><Name>operation</Name><Value>foo</Value></Header>")610 .header(resource);611 }612 };613 reset(resource);614 when(resource.getInputStream()).thenReturn(new ByteArrayInputStream("someHeaderData".getBytes()))615 .thenReturn(new ByteArrayInputStream("otherHeaderData".getBytes()));616 builder.configure();617 TestCase test = builder.getTestCase();618 Assert.assertEquals(test.getActionCount(), 2);619 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);620 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);621 Assert.assertEquals(test.getActions().get(1).getClass(), DelegatingTestAction.class);622 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(1)).getDelegate().getClass(), ReceiveMessageAction.class);623 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();624 Assert.assertEquals(action.getName(), "receive");625 Assert.assertEquals(action.getEndpoint(), messageEndpoint);626 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());627 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);628 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>Hello World!</Message></TestRequest>");629 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().size(), 2L);630 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>foo</Value></Header>");631 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getHeaderData().get(1), "someHeaderData");632 action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(1)).getDelegate();633 Assert.assertEquals(action.getName(), "receive");634 Assert.assertEquals(action.getEndpoint(), messageEndpoint);635 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());636 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);637 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "<TestRequest><Message>Hello World!</Message></TestRequest>");638 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().size(), 2L);639 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().get(0), "<Header><Name>operation</Name><Value>foo</Value></Header>");640 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getHeaderData().get(1), "otherHeaderData");641 }642 643 @Test644 public void testReceiveBuilderWithValidator() {645 final PlainTextMessageValidator validator = new PlainTextMessageValidator();646 647 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {648 @Override649 public void configure() {650 receive(messageEndpoint)651 .messageType(MessageType.PLAINTEXT)652 .payload("TestMessage")653 .header("operation", "sayHello")654 .validator(validator);655 }656 };657 builder.configure();658 TestCase test = builder.getTestCase();659 Assert.assertEquals(test.getActionCount(), 1);660 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);661 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);662 663 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();664 Assert.assertEquals(action.getName(), "receive");665 666 Assert.assertEquals(action.getEndpoint(), messageEndpoint);667 Assert.assertEquals(action.getMessageType(), MessageType.PLAINTEXT.name());668 Assert.assertEquals(action.getValidators().size(), 1L);669 Assert.assertEquals(action.getValidators().get(0), validator);670 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);671 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "TestMessage");672 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));673 }674 675 @Test676 public void testReceiveBuilderWithValidatorName() {677 final PlainTextMessageValidator validator = new PlainTextMessageValidator();678 679 reset(applicationContextMock);680 when(applicationContextMock.getBean("plainTextValidator", MessageValidator.class)).thenReturn(validator);681 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());682 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());683 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());684 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {685 @Override686 public void configure() {687 receive(messageEndpoint)688 .messageType(MessageType.PLAINTEXT)689 .payload("TestMessage")690 .header("operation", "sayHello")691 .validator("plainTextValidator");692 }693 };694 builder.configure();695 TestCase test = builder.getTestCase();696 Assert.assertEquals(test.getActionCount(), 1);697 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);698 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);699 700 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();701 Assert.assertEquals(action.getName(), "receive");702 703 Assert.assertEquals(action.getEndpoint(), messageEndpoint);704 Assert.assertEquals(action.getMessageType(), MessageType.PLAINTEXT.name());705 Assert.assertEquals(action.getValidators().size(), 1L);706 Assert.assertEquals(action.getValidators().get(0), validator);707 708 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);709 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "TestMessage");710 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));711 }712 @Test713 public void testReceiveBuilderWithDictionary() {714 final DataDictionary dictionary = new NodeMappingDataDictionary();715 reset(applicationContextMock);716 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());717 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());718 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());719 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {720 @Override721 public void configure() {722 receive(messageEndpoint)723 .messageType(MessageType.PLAINTEXT)724 .payload("TestMessage")725 .header("operation", "sayHello")726 .dictionary(dictionary);727 }728 };729 builder.configure();730 TestCase test = builder.getTestCase();731 Assert.assertEquals(test.getActionCount(), 1);732 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);733 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);734 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();735 Assert.assertEquals(action.getName(), "receive");736 Assert.assertEquals(action.getEndpoint(), messageEndpoint);737 Assert.assertEquals(action.getMessageType(), MessageType.PLAINTEXT.name());738 Assert.assertEquals(action.getDataDictionary(), dictionary);739 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);740 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "TestMessage");741 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));742 }743 @Test744 public void testReceiveBuilderWithDictionaryName() {745 final DataDictionary dictionary = new NodeMappingDataDictionary();746 reset(applicationContextMock);747 when(applicationContextMock.getBean("customDictionary", DataDictionary.class)).thenReturn(dictionary);748 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());749 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());750 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());751 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {752 @Override753 public void configure() {754 receive(messageEndpoint)755 .messageType(MessageType.PLAINTEXT)756 .payload("TestMessage")757 .header("operation", "sayHello")758 .dictionary("customDictionary");759 }760 };761 builder.configure();762 TestCase test = builder.getTestCase();763 Assert.assertEquals(test.getActionCount(), 1);764 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);765 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);766 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();767 Assert.assertEquals(action.getName(), "receive");768 Assert.assertEquals(action.getEndpoint(), messageEndpoint);769 Assert.assertEquals(action.getMessageType(), MessageType.PLAINTEXT.name());770 Assert.assertEquals(action.getDataDictionary(), dictionary);771 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);772 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "TestMessage");773 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));774 }775 776 @Test777 public void testReceiveBuilderWithSelector() {778 final Map<String, String> messageSelector = new HashMap<String, String>();779 messageSelector.put("operation", "sayHello");780 781 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {782 @Override783 public void configure() {784 receive(messageEndpoint)785 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")786 .selector(messageSelector);787 }788 };789 builder.configure();790 TestCase test = builder.getTestCase();791 Assert.assertEquals(test.getActionCount(), 1);792 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);793 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);794 795 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();796 Assert.assertEquals(action.getName(), "receive");797 798 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());799 Assert.assertEquals(action.getEndpoint(), messageEndpoint);800 801 Assert.assertEquals(action.getMessageSelectorMap(), messageSelector);802 }803 804 @Test805 public void testReceiveBuilderWithSelectorExpression() {806 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {807 @Override808 public void configure() {809 receive(messageEndpoint)810 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")811 .selector("operation = 'sayHello'");812 }813 };814 builder.configure();815 TestCase test = builder.getTestCase();816 Assert.assertEquals(test.getActionCount(), 1);817 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);818 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);819 820 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();821 Assert.assertEquals(action.getName(), "receive");822 823 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());824 Assert.assertEquals(action.getEndpoint(), messageEndpoint);825 826 Assert.assertTrue(action.getMessageSelectorMap().isEmpty());827 Assert.assertEquals(action.getMessageSelector(), "operation = 'sayHello'");828 }829 830 @Test831 public void testReceiveBuilderExtractFromPayload() {832 reset(applicationContextMock);833 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());834 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());835 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());836 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {837 @Override838 public void configure() {839 receive(messageEndpoint)840 .payload("<TestRequest><Message lang=\"ENG\">Hello World!</Message></TestRequest>")841 .extractFromPayload("/TestRequest/Message", "text")842 .extractFromPayload("/TestRequest/Message/@lang", "language");843 }844 };845 builder.configure();846 TestCase test = builder.getTestCase();847 Assert.assertEquals(test.getActionCount(), 1);848 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);849 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);850 851 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();852 Assert.assertEquals(action.getName(), "receive");853 854 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());855 Assert.assertEquals(action.getEndpoint(), messageEndpoint);856 857 Assert.assertEquals(action.getVariableExtractors().size(), 1);858 Assert.assertTrue(action.getVariableExtractors().get(0) instanceof XpathPayloadVariableExtractor);859 Assert.assertTrue(((XpathPayloadVariableExtractor)action.getVariableExtractors().get(0)).getXpathExpressions().containsKey("/TestRequest/Message"));860 Assert.assertTrue(((XpathPayloadVariableExtractor)action.getVariableExtractors().get(0)).getXpathExpressions().containsKey("/TestRequest/Message/@lang"));861 }862 @Test863 public void testReceiveBuilderExtractJsonPathFromPayload() {864 reset(applicationContextMock);865 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());866 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());867 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());868 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {869 @Override870 public void configure() {871 receive(messageEndpoint)872 .messageType(MessageType.JSON)873 .payload("{\"text\":\"Hello World!\", \"person\":{\"name\":\"John\",\"surname\":\"Doe\"}, \"index\":5, \"id\":\"x123456789x\"}")874 .extractFromPayload("$.text", "text")875 .extractFromPayload("$.person", "person");876 }877 };878 builder.configure();879 TestCase test = builder.getTestCase();880 Assert.assertEquals(test.getActionCount(), 1);881 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);882 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);883 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();884 Assert.assertEquals(action.getName(), "receive");885 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());886 Assert.assertEquals(action.getEndpoint(), messageEndpoint);887 Assert.assertEquals(action.getVariableExtractors().size(), 1);888 Assert.assertTrue(action.getVariableExtractors().get(0) instanceof JsonPathVariableExtractor);889 Assert.assertTrue(((JsonPathVariableExtractor)action.getVariableExtractors().get(0)).getJsonPathExpressions().containsKey("$.text"));890 Assert.assertTrue(((JsonPathVariableExtractor)action.getVariableExtractors().get(0)).getJsonPathExpressions().containsKey("$.person"));891 }892 893 @Test894 public void testReceiveBuilderExtractFromHeader() {895 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {896 @Override897 public void configure() {898 receive(messageEndpoint)899 .payload("<TestRequest><Message lang=\"ENG\">Hello World!</Message></TestRequest>")900 .extractFromHeader("operation", "ops")901 .extractFromHeader("requestId", "id");902 }903 };904 builder.configure();905 TestCase test = builder.getTestCase();906 Assert.assertEquals(test.getActionCount(), 1);907 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);908 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);909 910 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();911 Assert.assertEquals(action.getName(), "receive");912 913 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());914 Assert.assertEquals(action.getEndpoint(), messageEndpoint);915 916 Assert.assertEquals(action.getVariableExtractors().size(), 1);917 Assert.assertTrue(action.getVariableExtractors().get(0) instanceof MessageHeaderVariableExtractor);918 Assert.assertTrue(((MessageHeaderVariableExtractor)action.getVariableExtractors().get(0)).getHeaderMappings().containsKey("operation"));919 Assert.assertTrue(((MessageHeaderVariableExtractor)action.getVariableExtractors().get(0)).getHeaderMappings().containsKey("requestId"));920 }921 922 @Test923 public void testReceiveBuilderExtractCombined() {924 reset(applicationContextMock);925 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());926 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());927 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());928 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {929 @Override930 public void configure() {931 receive(messageEndpoint)932 .payload("<TestRequest><Message lang=\"ENG\">Hello World!</Message></TestRequest>")933 .extractFromHeader("operation", "ops")934 .extractFromHeader("requestId", "id")935 .extractFromPayload("/TestRequest/Message", "text")936 .extractFromPayload("/TestRequest/Message/@lang", "language");937 }938 };939 builder.configure();940 TestCase test = builder.getTestCase();941 Assert.assertEquals(test.getActionCount(), 1);942 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);943 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);944 945 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();946 Assert.assertEquals(action.getName(), "receive");947 948 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());949 Assert.assertEquals(action.getEndpoint(), messageEndpoint);950 951 Assert.assertEquals(action.getVariableExtractors().size(), 2);952 Assert.assertTrue(action.getVariableExtractors().get(0) instanceof MessageHeaderVariableExtractor);953 Assert.assertTrue(((MessageHeaderVariableExtractor)action.getVariableExtractors().get(0)).getHeaderMappings().containsKey("operation"));954 Assert.assertTrue(((MessageHeaderVariableExtractor)action.getVariableExtractors().get(0)).getHeaderMappings().containsKey("requestId"));955 956 Assert.assertTrue(action.getVariableExtractors().get(1) instanceof XpathPayloadVariableExtractor);957 Assert.assertTrue(((XpathPayloadVariableExtractor)action.getVariableExtractors().get(1)).getXpathExpressions().containsKey("/TestRequest/Message"));958 Assert.assertTrue(((XpathPayloadVariableExtractor)action.getVariableExtractors().get(1)).getXpathExpressions().containsKey("/TestRequest/Message/@lang"));959 }960 961 @Test962 public void testReceiveBuilderWithValidationCallback() {963 final ValidationCallback callback = Mockito.mock(ValidationCallback.class);964 965 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {966 @Override967 public void configure() {968 receive(messageEndpoint)969 .messageType(MessageType.PLAINTEXT)970 .payload("TestMessage")971 .header("operation", "sayHello")972 .validationCallback(callback);973 }974 };975 builder.configure();976 TestCase test = builder.getTestCase();977 Assert.assertEquals(test.getActionCount(), 1);978 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);979 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);980 981 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();982 Assert.assertEquals(action.getName(), "receive");983 984 Assert.assertEquals(action.getEndpoint(), messageEndpoint);985 Assert.assertEquals(action.getMessageType(), MessageType.PLAINTEXT.name());986 Assert.assertEquals(action.getValidationCallback(), callback);987 988 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);989 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "TestMessage");990 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));991 }992 993 @Test994 public void testReceiveBuilderWithValidatonScript() {995 final GroovyJsonMessageValidator validator = new GroovyJsonMessageValidator();996 997 reset(applicationContextMock);998 when(applicationContextMock.getBean("groovyMessageValidator", MessageValidator.class)).thenReturn(validator);999 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());1000 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());1001 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());1002 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {1003 @Override1004 public void configure() {1005 receive(messageEndpoint)1006 .messageType(MessageType.JSON)1007 .validateScript("assert true")1008 .validator("groovyMessageValidator");1009 }1010 };1011 builder.configure();1012 TestCase test = builder.getTestCase();1013 Assert.assertEquals(test.getActionCount(), 1);1014 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);1015 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);1016 1017 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();1018 Assert.assertEquals(action.getName(), "receive");1019 1020 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1021 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());1022 Assert.assertEquals(action.getValidators().size(), 1L);1023 Assert.assertEquals(action.getValidators().get(0), validator);1024 Assert.assertEquals(action.getValidationContexts().size(), 4L);1025 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1026 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1027 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1028 Assert.assertEquals(action.getValidationContexts().get(3).getClass(), ScriptValidationContext.class);1029 ScriptValidationContext validationContext = (ScriptValidationContext) action.getValidationContexts().get(3);1030 1031 Assert.assertEquals(validationContext.getScriptType(), ScriptTypes.GROOVY);1032 Assert.assertEquals(validationContext.getValidationScript(), "assert true");1033 Assert.assertNull(validationContext.getValidationScriptResourcePath());1034 }1035 1036 @Test1037 public void testReceiveBuilderWithValidatonScriptResource() throws IOException {1038 final GroovyJsonMessageValidator validator = new GroovyJsonMessageValidator();1039 1040 reset(applicationContextMock);1041 when(applicationContextMock.getBean("groovyMessageValidator", MessageValidator.class)).thenReturn(validator);1042 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());1043 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());1044 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());1045 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {1046 @Override1047 public void configure() {1048 receive(messageEndpoint)1049 .messageType(MessageType.JSON)1050 .validateScript(new ClassPathResource("com/consol/citrus/dsl/runner/validation.groovy"))1051 .validator("groovyMessageValidator");1052 }1053 };1054 builder.configure();1055 TestCase test = builder.getTestCase();1056 Assert.assertEquals(test.getActionCount(), 1);1057 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);1058 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);1059 1060 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();1061 Assert.assertEquals(action.getName(), "receive");1062 1063 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1064 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());1065 Assert.assertEquals(action.getValidators().size(), 1L);1066 Assert.assertEquals(action.getValidators().get(0), validator);1067 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1068 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1069 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1070 Assert.assertEquals(action.getValidationContexts().get(3).getClass(), ScriptValidationContext.class);1071 ScriptValidationContext validationContext = (ScriptValidationContext) action.getValidationContexts().get(3);1072 1073 Assert.assertEquals(validationContext.getScriptType(), ScriptTypes.GROOVY);1074 Assert.assertEquals(validationContext.getValidationScript(), "assert json.message == 'Hello Citrus!'");1075 Assert.assertNull(validationContext.getValidationScriptResourcePath());1076 }1077 @Test1078 public void testReceiveBuilderWithValidatonScriptResourcePath() throws IOException {1079 final GroovyJsonMessageValidator validator = new GroovyJsonMessageValidator();1080 reset(applicationContextMock);1081 when(applicationContextMock.getBean("groovyMessageValidator", MessageValidator.class)).thenReturn(validator);1082 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());1083 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());1084 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());1085 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {1086 @Override1087 public void configure() {1088 receive(messageEndpoint)1089 .messageType(MessageType.JSON)1090 .validateScriptResource("/path/to/file/File.groovy")1091 .validator("groovyMessageValidator");1092 }1093 };1094 builder.configure();1095 TestCase test = builder.getTestCase();1096 Assert.assertEquals(test.getActionCount(), 1);1097 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);1098 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);1099 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();1100 Assert.assertEquals(action.getName(), "receive");1101 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1102 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());1103 Assert.assertEquals(action.getValidators().size(), 1L);1104 Assert.assertEquals(action.getValidators().get(0), validator);1105 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1106 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1107 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1108 Assert.assertEquals(action.getValidationContexts().get(3).getClass(), ScriptValidationContext.class);1109 ScriptValidationContext validationContext = (ScriptValidationContext) action.getValidationContexts().get(3);1110 Assert.assertEquals(validationContext.getScriptType(), ScriptTypes.GROOVY);1111 Assert.assertEquals(validationContext.getValidationScript(), "");1112 Assert.assertEquals(validationContext.getValidationScriptResourcePath(), "/path/to/file/File.groovy");1113 }1114 1115 @Test1116 public void testReceiveBuilderWithValidatonScriptAndHeader() {1117 final GroovyJsonMessageValidator validator = new GroovyJsonMessageValidator();1118 1119 reset(applicationContextMock);1120 when(applicationContextMock.getBean("groovyMessageValidator", MessageValidator.class)).thenReturn(validator);1121 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());1122 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());1123 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());1124 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {1125 @Override1126 public void configure() {1127 receive(messageEndpoint)1128 .messageType(MessageType.JSON)1129 .validateScript("assert true")1130 .validator("groovyMessageValidator")1131 .header("operation", "sayHello");1132 }1133 };1134 builder.configure();1135 TestCase test = builder.getTestCase();1136 Assert.assertEquals(test.getActionCount(), 1);1137 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);1138 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);1139 1140 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();1141 Assert.assertEquals(action.getName(), "receive");1142 1143 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1144 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());1145 Assert.assertEquals(action.getValidators().size(), 1L);1146 Assert.assertEquals(action.getValidators().get(0), validator);1147 1148 Assert.assertEquals(action.getValidationContexts().size(), 4L);1149 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1150 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1151 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1152 Assert.assertEquals(action.getValidationContexts().get(3).getClass(), ScriptValidationContext.class);1153 ScriptValidationContext validationContext = (ScriptValidationContext) action.getValidationContexts().get(3);1154 1155 Assert.assertEquals(validationContext.getScriptType(), ScriptTypes.GROOVY);1156 Assert.assertEquals(validationContext.getValidationScript(), "assert true");1157 Assert.assertNull(validationContext.getValidationScriptResourcePath());1158 1159 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1160 Assert.assertNull(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData());1161 Assert.assertNull(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadResourcePath());1162 Assert.assertTrue(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getMessageHeaders().containsKey("operation"));1163 }1164 1165 @Test1166 public void testReceiveBuilderWithNamespaceValidation() {1167 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {1168 @Override1169 public void configure() {1170 receive(messageEndpoint)1171 .payload("<TestRequest xmlns:pfx=\"http://www.consol.de/schemas/test\"><Message>Hello World!</Message></TestRequest>")1172 .validateNamespace("pfx", "http://www.consol.de/schemas/test");1173 }1174 };1175 builder.configure();1176 TestCase test = builder.getTestCase();1177 Assert.assertEquals(test.getActionCount(), 1);1178 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);1179 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);1180 1181 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();1182 Assert.assertEquals(action.getName(), "receive");1183 1184 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());1185 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1186 Assert.assertEquals(action.getValidationContexts().size(), 3);1187 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1188 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1189 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1190 1191 XmlMessageValidationContext validationContext = (XmlMessageValidationContext) action.getValidationContexts().get(1);1192 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1193 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(),1194 "<TestRequest xmlns:pfx=\"http://www.consol.de/schemas/test\"><Message>Hello World!</Message></TestRequest>");1195 Assert.assertEquals(validationContext.getControlNamespaces().get("pfx"), "http://www.consol.de/schemas/test");1196 }1197 1198 @Test1199 public void testReceiveBuilderWithXpathExpressions() {1200 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {1201 @Override1202 public void configure() {1203 receive(messageEndpoint)1204 .payload("<TestRequest><Message lang=\"ENG\">Hello World!</Message></TestRequest>")1205 .validate("Foo.operation", "foo")1206 .validate("Foo.message", "control");1207 }1208 };1209 builder.configure();1210 TestCase test = builder.getTestCase();1211 Assert.assertEquals(test.getActionCount(), 1);1212 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);1213 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);1214 1215 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();1216 Assert.assertEquals(action.getName(), "receive");1217 1218 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());1219 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1220 Assert.assertEquals(action.getValidationContexts().size(), 3);1221 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1222 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), JsonMessageValidationContext.class);1223 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), XpathMessageValidationContext.class);1224 XpathMessageValidationContext validationContext = (XpathMessageValidationContext) action.getValidationContexts().get(2);1225 1226 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1227 Assert.assertEquals(validationContext.getXpathExpressions().size(), 2L);1228 Assert.assertEquals(validationContext.getXpathExpressions().get("Foo.operation"), "foo");1229 Assert.assertEquals(validationContext.getXpathExpressions().get("Foo.message"), "control");1230 }1231 @Test1232 public void testReceiveBuilderWithJsonPathExpressions() {1233 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {1234 @Override1235 public void configure() {1236 receive(messageEndpoint)1237 .messageType(MessageType.JSON)1238 .payload("{\"text\":\"Hello World!\", \"person\":{\"name\":\"John\",\"surname\":\"Doe\",\"active\": true}, \"index\":5, \"id\":\"x123456789x\"}")1239 .validate("$.person.name", "foo")1240 .validate("$.person.active", true)1241 .validate("$.id", containsString("123456789"))1242 .validate("$.text", "Hello World!")1243 .validate("$.index", 5);1244 }1245 };1246 builder.configure();1247 TestCase test = builder.getTestCase();1248 Assert.assertEquals(test.getActionCount(), 1);1249 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);1250 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);1251 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();1252 Assert.assertEquals(action.getName(), "receive");1253 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());1254 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1255 Assert.assertEquals(action.getValidationContexts().size(), 4);1256 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1257 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1258 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1259 Assert.assertEquals(action.getValidationContexts().get(3).getClass(), JsonPathMessageValidationContext.class);1260 JsonPathMessageValidationContext validationContext = (JsonPathMessageValidationContext) action.getValidationContexts().get(3);1261 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1262 Assert.assertEquals(validationContext.getJsonPathExpressions().size(), 5L);1263 Assert.assertEquals(validationContext.getJsonPathExpressions().get("$.person.name"), "foo");1264 Assert.assertEquals(validationContext.getJsonPathExpressions().get("$.person.active"), true);1265 Assert.assertEquals(validationContext.getJsonPathExpressions().get("$.text"), "Hello World!");1266 Assert.assertEquals(validationContext.getJsonPathExpressions().get("$.index"), 5);1267 Assert.assertEquals(validationContext.getJsonPathExpressions().get("$.id").getClass(), StringContains.class);1268 }1269 @Test1270 public void testReceiveBuilderWithJsonPathExpressionsInvalidMessageType() {1271 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {1272 @Override1273 public void configure() {1274 receive(messageEndpoint)1275 .messageType(MessageType.XML)1276 .payload("{\"text\":\"Hello World!\"}")1277 .validate("$.text", "Hello World!");1278 }1279 };1280 builder.configure();1281 }1282 1283 @Test1284 public void testReceiveBuilderWithIgnoreElementsXpath() {1285 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {1286 @Override1287 public void configure() {1288 receive(messageEndpoint)1289 .payload("<TestRequest><Message>?</Message></TestRequest>")1290 .ignore("TestRequest.Message");1291 }1292 };1293 builder.configure();1294 TestCase test = builder.getTestCase();1295 Assert.assertEquals(test.getActionCount(), 1);1296 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);1297 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);1298 1299 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();1300 Assert.assertEquals(action.getName(), "receive");1301 1302 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());1303 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1304 Assert.assertEquals(action.getValidationContexts().size(), 3);1305 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1306 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1307 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1308 1309 XmlMessageValidationContext validationContext = (XmlMessageValidationContext) action.getValidationContexts().get(1);1310 1311 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1312 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>?</Message></TestRequest>");1313 Assert.assertEquals(validationContext.getIgnoreExpressions().size(), 1L);1314 Assert.assertEquals(validationContext.getIgnoreExpressions().iterator().next(), "TestRequest.Message");1315 }1316 @Test1317 public void testReceiveBuilderWithIgnoreElementsJsonPath() {1318 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {1319 @Override1320 public void configure() {1321 receive(messageEndpoint)1322 .messageType(MessageType.JSON)1323 .payload("{\"text\":\"Hello World!\", \"person\": {\"name\": \"Penny\", age: 25}}")1324 .ignore("$..text")1325 .ignore("$.person.age");1326 }1327 };1328 builder.configure();1329 TestCase test = builder.getTestCase();1330 Assert.assertEquals(test.getActionCount(), 1);1331 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);1332 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);1333 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();1334 Assert.assertEquals(action.getName(), "receive");1335 Assert.assertEquals(action.getMessageType(), MessageType.JSON.name());1336 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1337 Assert.assertEquals(action.getValidationContexts().size(), 3);1338 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1339 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1340 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1341 JsonMessageValidationContext validationContext = (JsonMessageValidationContext) action.getValidationContexts().get(2);1342 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1343 Assert.assertEquals(((PayloadTemplateMessageBuilder) action.getMessageBuilder()).getPayloadData(), "{\"text\":\"Hello World!\", \"person\": {\"name\": \"Penny\", age: 25}}");1344 Assert.assertEquals(validationContext.getIgnoreExpressions().size(), 2L);1345 Assert.assertTrue(validationContext.getIgnoreExpressions().contains("$..text"));1346 Assert.assertTrue(validationContext.getIgnoreExpressions().contains("$.person.age"));1347 }1348 1349 @Test1350 public void testReceiveBuilderWithSchema() {1351 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {1352 @Override1353 public void configure() {1354 receive(messageEndpoint)1355 .payload("<TestRequest><Message>?</Message></TestRequest>")1356 .xsd("testSchema");1357 }1358 };1359 builder.configure();1360 TestCase test = builder.getTestCase();1361 Assert.assertEquals(test.getActionCount(), 1);1362 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);1363 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);1364 1365 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();1366 Assert.assertEquals(action.getName(), "receive");1367 1368 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());1369 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1370 Assert.assertEquals(action.getValidationContexts().size(), 3);1371 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1372 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1373 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1374 1375 XmlMessageValidationContext validationContext = (XmlMessageValidationContext) action.getValidationContexts().get(1);1376 1377 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1378 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>?</Message></TestRequest>");1379 Assert.assertEquals(validationContext.getSchema(), "testSchema");1380 }1381 1382 @Test1383 public void testReceiveBuilderWithSchemaRepository() {1384 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {1385 @Override1386 public void configure() {1387 receive(messageEndpoint)1388 .payload("<TestRequest><Message>?</Message></TestRequest>")1389 .xsdSchemaRepository("testSchemaRepository");1390 }1391 };1392 builder.configure();1393 TestCase test = builder.getTestCase();1394 Assert.assertEquals(test.getActionCount(), 1);1395 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);1396 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);1397 1398 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();1399 Assert.assertEquals(action.getName(), "receive");1400 1401 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());1402 Assert.assertEquals(action.getEndpoint(), messageEndpoint);1403 Assert.assertEquals(action.getValidationContexts().size(), 3);1404 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);1405 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);1406 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);1407 1408 XmlMessageValidationContext validationContext = (XmlMessageValidationContext) action.getValidationContexts().get(1);1409 1410 Assert.assertTrue(action.getMessageBuilder() instanceof PayloadTemplateMessageBuilder);1411 Assert.assertEquals(((PayloadTemplateMessageBuilder)action.getMessageBuilder()).getPayloadData(), "<TestRequest><Message>?</Message></TestRequest>");1412 Assert.assertEquals(validationContext.getSchemaRepository(), "testSchemaRepository");1413 }1414}...

Full Screen

Full Screen

Source:ReceiveSoapMessageTestDesignerTest.java Github

copy

Full Screen

...81 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);82 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveSoapMessageAction.class);83 ReceiveSoapMessageAction action = (ReceiveSoapMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();84 Assert.assertEquals(action.getName(), "receive");85 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());86 Assert.assertEquals(action.getEndpoint(), server);87 Assert.assertEquals(action.getValidationContexts().size(), 3);88 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);89 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);90 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);91 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);92 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "Foo");93 Assert.assertNotNull(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getHeader("operation"));94 Assert.assertEquals(action.getAttachments().size(), 1L);95 Assert.assertNull(action.getAttachments().get(0).getContentResourcePath());96 Assert.assertEquals(action.getAttachments().get(0).getContent(), testAttachment.getContent());97 Assert.assertEquals(action.getAttachments().get(0).getContentId(), testAttachment.getContentId());98 Assert.assertEquals(action.getAttachments().get(0).getContentType(), testAttachment.getContentType());99 Assert.assertEquals(action.getAttachments().get(0).getCharsetName(), testAttachment.getCharsetName());100 }101 @Test102 public void testSoapAttachment() {103 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {104 @Override105 public void configure() {106 soap().server(server)107 .receive()108 .message(new DefaultMessage("Foo").setHeader("operation", "foo"))109 .attachment(testAttachment);110 }111 };112 builder.configure();113 TestCase test = builder.getTestCase();114 Assert.assertEquals(test.getActionCount(), 1);115 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);116 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveSoapMessageAction.class);117 ReceiveSoapMessageAction action = (ReceiveSoapMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();118 Assert.assertEquals(action.getName(), "receive");119 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());120 Assert.assertEquals(action.getEndpoint(), server);121 Assert.assertEquals(action.getValidationContexts().size(), 3);122 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);123 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);124 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);125 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);126 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "Foo");127 Assert.assertNotNull(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getHeader("operation"));128 Assert.assertEquals(action.getAttachments().size(), 1L);129 Assert.assertNull(action.getAttachments().get(0).getContentResourcePath());130 Assert.assertEquals(action.getAttachments().get(0).getContent(), testAttachment.getContent());131 Assert.assertEquals(action.getAttachments().get(0).getContentId(), testAttachment.getContentId());132 Assert.assertEquals(action.getAttachments().get(0).getContentType(), testAttachment.getContentType());133 Assert.assertEquals(action.getAttachments().get(0).getCharsetName(), testAttachment.getCharsetName());134 }135 136 @Test137 public void testSoapAttachmentData() {138 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {139 @Override140 public void configure() {141 soap().server(server)142 .receive()143 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")144 .attachment(testAttachment.getContentId(), testAttachment.getContentType(), testAttachment.getContent());145 }146 };147 builder.configure();148 TestCase test = builder.getTestCase();149 Assert.assertEquals(test.getActionCount(), 1);150 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);151 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveSoapMessageAction.class);152 153 ReceiveSoapMessageAction action = (ReceiveSoapMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();154 Assert.assertEquals(action.getName(), "receive");155 156 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());157 Assert.assertEquals(action.getEndpoint(), server);158 Assert.assertEquals(action.getValidationContexts().size(), 3);159 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);160 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);161 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);162 163 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);164 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "<TestRequest><Message>Hello World!</Message></TestRequest>");165 Assert.assertEquals(action.getAttachments().size(), 1L);166 Assert.assertNull(action.getAttachments().get(0).getContentResourcePath());167 Assert.assertEquals(action.getAttachments().get(0).getContent(), testAttachment.getContent());168 Assert.assertEquals(action.getAttachments().get(0).getContentId(), testAttachment.getContentId());169 Assert.assertEquals(action.getAttachments().get(0).getContentType(), testAttachment.getContentType());170 Assert.assertEquals(action.getAttachments().get(0).getCharsetName(), testAttachment.getCharsetName());171 }172 @Test173 public void testSoapAttachmentResource() throws IOException {174 final Resource attachmentResource = Mockito.mock(Resource.class);175 176 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {177 @Override178 public void configure() {179 soap().server(server)180 .receive()181 .payload(resource)182 .attachment(testAttachment.getContentId(), testAttachment.getContentType(), attachmentResource);183 }184 };185 186 reset(resource, attachmentResource);187 when(resource.getInputStream()).thenReturn(new ByteArrayInputStream("somePayloadData".getBytes()));188 when(attachmentResource.getInputStream()).thenReturn(new ByteArrayInputStream("someAttachmentData".getBytes()));189 builder.configure();190 TestCase test = builder.getTestCase();191 Assert.assertEquals(test.getActionCount(), 1);192 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);193 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveSoapMessageAction.class);194 195 ReceiveSoapMessageAction action = (ReceiveSoapMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();196 Assert.assertEquals(action.getName(), "receive");197 198 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());199 Assert.assertEquals(action.getEndpoint(), server);200 Assert.assertEquals(action.getValidationContexts().size(), 3);201 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);202 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);203 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);204 205 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);206 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "somePayloadData");207 208 Assert.assertEquals(action.getAttachments().get(0).getContent(), "someAttachmentData");209 Assert.assertEquals(action.getAttachments().get(0).getContentId(), testAttachment.getContentId());210 Assert.assertEquals(action.getAttachments().get(0).getContentType(), testAttachment.getContentType());211 Assert.assertEquals(action.getAttachments().get(0).getCharsetName(), testAttachment.getCharsetName());212 }213 @Test214 public void testMultipleSoapAttachmentData() {215 MockTestDesigner builder = new MockTestDesigner(applicationContext, context) {216 @Override217 public void configure() {218 soap().server(server)219 .receive()220 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>")221 .attachment(testAttachment.getContentId() + 1, testAttachment.getContentType(), testAttachment.getContent() + 1)222 .attachment(testAttachment.getContentId() + 2, testAttachment.getContentType(), testAttachment.getContent() + 2);223 }224 };225 builder.configure();226 TestCase test = builder.getTestCase();227 Assert.assertEquals(test.getActionCount(), 1);228 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);229 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveSoapMessageAction.class);230 ReceiveSoapMessageAction action = (ReceiveSoapMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();231 Assert.assertEquals(action.getName(), "receive");232 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());233 Assert.assertEquals(action.getEndpoint(), server);234 Assert.assertEquals(action.getValidationContexts().size(), 3);235 Assert.assertEquals(action.getValidationContexts().get(0).getClass(), HeaderValidationContext.class);236 Assert.assertEquals(action.getValidationContexts().get(1).getClass(), XmlMessageValidationContext.class);237 Assert.assertEquals(action.getValidationContexts().get(2).getClass(), JsonMessageValidationContext.class);238 Assert.assertTrue(action.getMessageBuilder() instanceof StaticMessageContentBuilder);239 Assert.assertEquals(((StaticMessageContentBuilder)action.getMessageBuilder()).getMessage().getPayload(), "<TestRequest><Message>Hello World!</Message></TestRequest>");240 Assert.assertEquals(action.getAttachments().size(), 2L);241 Assert.assertNull(action.getAttachments().get(0).getContentResourcePath());242 Assert.assertEquals(action.getAttachments().get(0).getContent(), testAttachment.getContent() + 1);243 Assert.assertEquals(action.getAttachments().get(0).getContentId(), testAttachment.getContentId() + 1);244 Assert.assertEquals(action.getAttachments().get(0).getContentType(), testAttachment.getContentType());245 Assert.assertEquals(action.getAttachments().get(0).getCharsetName(), testAttachment.getCharsetName());246 Assert.assertNull(action.getAttachments().get(1).getContentResourcePath());247 Assert.assertEquals(action.getAttachments().get(1).getContent(), testAttachment.getContent() + 2);248 Assert.assertEquals(action.getAttachments().get(1).getContentId(), testAttachment.getContentId() + 2);249 Assert.assertEquals(action.getAttachments().get(1).getContentType(), testAttachment.getContentType());250 Assert.assertEquals(action.getAttachments().get(1).getCharsetName(), testAttachment.getCharsetName());251 }252 @Test253 public void testReceiveBuilderWithEndpointName() {254 reset(applicationContextMock);255 when(applicationContextMock.getBean(TestActionListeners.class)).thenReturn(new TestActionListeners());256 when(applicationContextMock.getBeansOfType(SequenceBeforeTest.class)).thenReturn(new HashMap<String, SequenceBeforeTest>());257 when(applicationContextMock.getBeansOfType(SequenceAfterTest.class)).thenReturn(new HashMap<String, SequenceAfterTest>());258 MockTestDesigner builder = new MockTestDesigner(applicationContextMock, context) {259 @Override260 public void configure() {261 receive("replyMessageEndpoint")262 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>");263 receive("fooMessageEndpoint")264 .payload("<TestRequest><Message>Hello World!</Message></TestRequest>");265 }266 };267 builder.configure();268 TestCase test = builder.getTestCase();269 Assert.assertEquals(test.getActionCount(), 2);270 Assert.assertEquals(test.getActions().get(0).getClass(), DelegatingTestAction.class);271 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(0)).getDelegate().getClass(), ReceiveMessageAction.class);272 Assert.assertEquals(test.getActions().get(1).getClass(), DelegatingTestAction.class);273 Assert.assertEquals(((DelegatingTestAction)test.getActions().get(1)).getDelegate().getClass(), ReceiveMessageAction.class);274 275 ReceiveMessageAction action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(0)).getDelegate();276 Assert.assertEquals(action.getName(), "receive");277 Assert.assertEquals(action.getEndpointUri(), "replyMessageEndpoint");278 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());279 280 action = (ReceiveMessageAction) ((DelegatingTestAction)test.getActions().get(1)).getDelegate();281 Assert.assertEquals(action.getName(), "receive");282 Assert.assertEquals(action.getEndpointUri(), "fooMessageEndpoint");283 Assert.assertEquals(action.getMessageType(), MessageType.XML.name());284 }285}...

Full Screen

Full Screen

getMessageType

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.actions;2import com.consol.citrus.context.TestContext;3import com.consol.citrus.exceptions.CitrusRuntimeException;4import com.consol.citrus.message.MessageType;5import com.consol.citrus.testng.AbstractTestNGUnitTest;6import org.mockito.Mockito;7import org.springframework.beans.factory.annotation.Autowired;8import org.springframework.core.io.Resource;9import org.testng.Assert;10import org.testng.annotations.Test;11public class ReceiveMessageActionTest extends AbstractTestNGUnitTest {12 private TestContext context;13 public void testGetMessageType() {14 ReceiveMessageAction action = new ReceiveMessageAction();15 action.setEndpointName("testEndpoint");16 action.setMessageType("text/xml");17 Assert.assertEquals(action.getMessageType(context), MessageType.XML);18 action.setMessageType("TEXT/XML");19 Assert.assertEquals(action.getMessageType(context), MessageType.XML);20 action.setMessageType("application/json");21 Assert.assertEquals(action.getMessageType(context), MessageType.JSON);22 action.setMessageType("appLication/JSON");23 Assert.assertEquals(action.getMessageType(context), MessageType.JSON);24 action.setMessageType("text/plain");25 Assert.assertEquals(action.getMessageType(context), MessageType.PLAINTEXT);26 action.setMessageType("text/HTML");27 Assert.assertEquals(action.getMessageType(context), MessageType.HTML);28 action.setMessageType("text/invalid");29 try {30 action.getMessageType(context);31 } catch (CitrusRuntimeException e) {32 Assert.assertTrue(e.getMessage().contains("Invalid message type"));33 }34 }35}

Full Screen

Full Screen

getMessageType

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus;2import com.consol.citrus.annotations.CitrusTest;3import com.consol.citrus.dsl.junit.JUnit4CitrusTestRunner;4import com.consol.citrus.message.MessageType;5import org.springframework.beans.factory.annotation.Autowired;6import org.springframework.core.io.ClassPathResource;7import org.testng.annotations.Test;8public class GetMessageActionTest extends JUnit4CitrusTestRunner {9 private ReceiveMessageAction receiveMessageAction;10 public void getMessageTypeTest() {11 echo("Message Type: " + receiveMessageAction.getMessageType());12 }13}14package com.consol.citrus;15import com.consol.citrus.annotations.CitrusTest;16import com.consol.citrus.dsl.junit.JUnit4CitrusTestRunner;17import com.consol.citrus.message.MessageType;18import org.springframework.beans.factory.annotation.Autowired;19import org.springframework.core.io.ClassPathResource;20import org.testng.annotations.Test;21public class GetMessageActionTest extends JUnit4CitrusTestRunner {22 private ReceiveMessageAction receiveMessageAction;23 public void getEndpointTest() {24 echo("Endpoint: " + receiveMessageAction.getEndpoint());25 }26}27package com.consol.citrus;28import com.consol.citrus.annotations.CitrusTest;29import com.consol.citrus.dsl.junit.JUnit4CitrusTestRunner;30import com.consol.citrus.message.MessageType;31import org.springframework.beans.factory.annotation.Autowired;32import org.springframework.core.io.ClassPathResource;33import org.testng.annotations.Test;34public class GetMessageActionTest extends JUnit4CitrusTestRunner {35 private ReceiveMessageAction receiveMessageAction;36 public void getEndpointUriTest() {37 echo("Endpoint URI: " + receiveMessageAction.getEndpointUri());38 }39}

Full Screen

Full Screen

getMessageType

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.samples;2import com.consol.citrus.annotations.CitrusTest;3import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;4import org.springframework.http.HttpStatus;5import org.testng.annotations.Test;6public class Path4 extends TestNGCitrusTestDesigner {7public void path4() {8http().client("httpClient")9.send()10.post("/test");11http().client("httpClient")12.receive()13.response(HttpStatus.OK)14.messageType("text/plain");15}16}17package com.consol.citrus.samples;18import com.consol.citrus.annotations.CitrusTest;19import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;20import org.springframework.http.HttpStatus;21import org.testng.annotations.Test;22public class Path5 extends TestNGCitrusTestDesigner {23public void path5() {24http().client("httpClient")25.send()26.post("/test");27http().client("httpClient")28.receive()29.response(HttpStatus.OK)30.header("Content-Type", "text/plain");31}32}33package com.consol.citrus.samples;34import com.consol.citrus.annotations.CitrusTest;35import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;36import org.springframework.http.HttpStatus;37import org.testng.annotations.Test;38public class Path6 extends TestNGCitrusTestDesigner {39public void path6() {40http().client("httpClient")41.send()42.post("/test");43http().client("httpClient")44.receive()45.response(HttpStatus.OK)46.headers("Content-Type=text/plain");47}48}49package com.consol.citrus.samples;50import com.consol.citrus.annotations.CitrusTest;51import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;52import org.springframework.http.HttpStatus;53import org.testng.annotations.Test;54public class Path7 extends TestNGCitrusTestDesigner {55public void path7() {56http().client("httpClient")57.send()58.post("/test");59http().client("httpClient

Full Screen

Full Screen

getMessageType

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.dsl.builder;2import com.consol.citrus.actions.ReceiveMessageAction;3import com.consol.citrus.message.MessageType;4import com.consol.citrus.testng.AbstractTestNGUnitTest;5import org.testng.annotations.Test;6import static com.consol.citrus.dsl.builder.BuilderSupport.getMessageType;7import static com.consol.citrus.dsl.builder.BuilderSupport.messageType;8public class GetMessageTest extends AbstractTestNGUnitTest {9 public void testReceiveMessageBuilder() {10 MockBuilder builder = new MockBuilder(applicationContext) {11 public void configure() {12 receive("foo")13 .messageType(getMessageType("XML"));14 }15 };16 builder.build().execute(context);17 ReceiveMessageAction receiveMessageAction = builder.getTestAction(0, ReceiveMessageAction.class);18 assert receiveMessageAction.getMessageType() == MessageType.XML;19 }20 public void testReceiveMessageBuilderWithMethod() {21 MockBuilder builder = new MockBuilder(applicationContext) {22 public void configure() {23 receive("foo")24 .messageType(messageType("XML"));25 }26 };27 builder.build().execute(context);28 ReceiveMessageAction receiveMessageAction = builder.getTestAction(0, ReceiveMessageAction.class);29 assert receiveMessageAction.getMessageType() == MessageType.XML;30 }31}32package com.consol.citrus.dsl.builder;33import com.consol.citrus.actions.ReceiveMessageAction;34import com.consol.citrus.message.MessageType;35import com.consol.citrus.testng.AbstractTestNGUnitTest;36import org.testng.annotations.Test;37import static com.consol.citrus.dsl.builder.BuilderSupport.getMessageType;38import static com.consol.citrus.dsl.builder.BuilderSupport.messageType;39public class GetMessageTest extends AbstractTestNGUnitTest {40 public void testReceiveMessageBuilder() {41 MockBuilder builder = new MockBuilder(applicationContext) {42 public void configure() {43 receive("foo")44 .messageType(getMessageType("XML"));45 }46 };47 builder.build().execute(context);48 ReceiveMessageAction receiveMessageAction = builder.getTestAction(0, ReceiveMessageAction.class);49 assert receiveMessageAction.getMessageType() == MessageType.XML;50 }

Full Screen

Full Screen

getMessageType

Using AI Code Generation

copy

Full Screen

1public class 4 {2 public static void main(String[] args) {3 ReceiveMessageAction receiveMessageAction0 = new ReceiveMessageAction();4 receiveMessageAction0.getMessageType();5 }6}7public class 5 {8 public static void main(String[] args) {9 ReceiveMessageAction receiveMessageAction0 = new ReceiveMessageAction();10 receiveMessageAction0.setMessageType("messageType");11 }12}13public class 6 {14 public static void main(String[] args) {15 ReceiveMessageAction receiveMessageAction0 = new ReceiveMessageAction();16 receiveMessageAction0.getMessageType();17 }18}19public class 7 {20 public static void main(String[] args) {21 ReceiveMessageAction receiveMessageAction0 = new ReceiveMessageAction();22 receiveMessageAction0.setMessageType("messageType");23 }24}25public class 8 {26 public static void main(String[] args) {27 ReceiveMessageAction receiveMessageAction0 = new ReceiveMessageAction();28 receiveMessageAction0.getMessageType();29 }30}31public class 9 {32 public static void main(String[] args) {33 ReceiveMessageAction receiveMessageAction0 = new ReceiveMessageAction();34 receiveMessageAction0.setMessageType("messageType");35 }36}37public class 10 {38 public static void main(String[] args) {39 ReceiveMessageAction receiveMessageAction0 = new ReceiveMessageAction();40 receiveMessageAction0.getMessageType();41 }42}43public class 11 {44 public static void main(String[] args) {

Full Screen

Full Screen

getMessageType

Using AI Code Generation

copy

Full Screen

1public class 4 {2 public static void main(String[] args) {3 ReceiveMessageAction receiveMessageAction0 = new ReceiveMessageAction();4 receiveMessageAction0.getMessageType();5 }6}7public class 5 {8 public static void main(String[] args) {9 ReceiveMessageAction receiveMessageAction0 = new ReceiveMessageAction();10 receiveMessageAction0.getEndpointUri();11 }12}13public class 6 {14 public static void main(String[] args) {15 ReceiveMessageAction receiveMessageAction0 = new ReceiveMessageAction();16 receiveMessageAction0.getEndpoint();17 }18}19public class 7 {20 public static void main(String[] args) {21 ReceiveMessageAction receiveMessageAction0 = new ReceiveMessageAction();22 Endpoint endpoint0 = new AbstractEndpoint() {23 public void createProducer() {24 }25 public MessageProducer getProducer() {26 return null;27 }28 public void send(Message message, EndpointConfiguration endpointConfiguration) {29 }30 public void send(Message message) {31 }32 public Message receive(EndpointConfiguration endpointConfiguration) {33 return null;34 }35 public Message receive() {36 return null;37 }38 public Message receive(long timeout) {39 return null;40 }41 public Message receive(EndpointConfiguration endpointConfiguration, long timeout) {42 return null;43 }44 public void setEndpointUri(String endpointUri) {45 }46 public String getEndpointUri() {47 return null;48 }49 public void setName(String name) {50 }51 public String getName() {52 return null;53 }54 public void setBeanName(String name) {55 }56 public String getComponentName() {57 return null;58 }59 public void setComponentName(String name) {60 }61 public void validate() {62 }63 public void configure() {64 }65 public String getComponentType() {66 return null;67 }68 public void setComponentType(String type) {69 }70 public EndpointConfiguration getEndpointConfiguration() {71 return null;72 }

Full Screen

Full Screen

getMessageType

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.samples;2import com.consol.citrus.annotations.CitrusTest;3import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;4import org.testng.annotations.Test;5public class 4 extends TestNGCitrusTestDesigner {6public void 4() {7receive("receive")8.messageType("text/xml");9}10}11package com.consol.citrus.samples;12import com.consol.citrus.annotations.CitrusTest;13import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;14import org.testng.annotations.Test;15public class 5 extends TestNGCitrusTestDesigner {16public void 5() {17receive("receive")18.payload("<TestRequestMessage><text>Hello World!</text></TestRequestMessage>");19}20}21package com.consol.citrus.samples;22import com.consol.citrus.annotations.CitrusTest;23import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;24import org.testng.annotations.Test;25public class 6 extends TestNGCitrusTestDesigner {26public void 6() {27receive("receive")28.payload("<TestRequestMessage><text>Hello World!</text></TestRequestMessage>");29}30}31package com.consol.citrus.samples;32import com.consol.citrus.annotations.CitrusTest;33import com.consol.citrus.dsl.testng.TestNGCitrusTestDesigner;34import org.testng.annotations.Test;35public class 7 extends TestNGCitrusTestDesigner {36public void 7() {37receive("receive")38.payload("<TestRequestMessage><text>Hello World!</text></TestRequestMessage>");39}40}41package com.consol.citrus.samples;42import com.consol.citrus.annotations.CitrusTest;43import com.consol.citrus.dsl.testng.TestNG

Full Screen

Full Screen

getMessageType

Using AI Code Generation

copy

Full Screen

1package com.consol.citrus.actions;2import org.testng.annotations.Test;3import org.testng.annotations.BeforeMethod;4import org.testng.annotations.AfterMethod;5import org.testng.annotations.DataProvider;6import org.testng.Assert;7import com.consol.citrus.exceptions.CitrusRuntimeException;8import com.consol.citrus.message.MessageType;9public class ReceiveMessageAction_getMessageType1{10ReceiveMessageAction objReceiveMessageAction = new ReceiveMessageAction();11public void beforeMethod() {12 objReceiveMessageAction.setMessageType(MessageType.PLAINTEXT);13}14public void afterMethod() {15 objReceiveMessageAction = null;16}17@DataProvider(name = "dp")18public Object[][] dp() {19 return new Object[][] {{}};20}21@Test(dataProvider = "dp")22public void getMessageType1() {23 Assert.assertEquals(objReceiveMessageAction.getMessageType(),MessageType.PLAINTEXT);24}25}

Full Screen

Full Screen

getMessageType

Using AI Code Generation

copy

Full Screen

1 public void test() {2 ReceiveMessageAction receiveMessageAction = new ReceiveMessageAction();3 receiveMessageAction.setMessageType("SOAP");4 assertEquals("SOAP", receiveMessageAction.getMessageType());5 }6 public void test() {7 ReceiveMessageAction receiveMessageAction = new ReceiveMessageAction();8 receiveMessageAction.setMessageType("SOAP");9 assertEquals("SOAP", receiveMessageAction.getMessageType());10 }11 public void test() {12 ReceiveMessageAction receiveMessageAction = new ReceiveMessageAction();13 receiveMessageAction.setMessageType("SOAP");14 assertEquals("SOAP", receiveMessageAction.getMessageType());15 }16 public void test() {17 ReceiveMessageAction receiveMessageAction = new ReceiveMessageAction();18 receiveMessageAction.setMessageType("SOAP");19 assertEquals("SOAP", receiveMessageAction.getMessageType());20 }21 public void test() {22 ReceiveMessageAction receiveMessageAction = new ReceiveMessageAction();23 receiveMessageAction.setMessageType("SOAP");24 assertEquals("SOAP", receiveMessageAction.getMessageType());25 }26 public void test() {27 ReceiveMessageAction receiveMessageAction = new ReceiveMessageAction();28 receiveMessageAction.setMessageType("SOAP");29 assertEquals("SOAP", receiveMessageAction.getMessageType());30 }31 public void test() {32 ReceiveMessageAction receiveMessageAction = new ReceiveMessageAction();33 receiveMessageAction.setMessageType("SOAP");34 assertEquals("SOAP", receiveMessageAction.getMessageType());35 }36 public void test() {37 ReceiveMessageAction receiveMessageAction = new ReceiveMessageAction();38 receiveMessageAction.setMessageType("SOAP");39 assertEquals("SOAP", receiveMessageAction.getMessageType());40 }41 public void test() {42 ReceiveMessageAction receiveMessageAction = new ReceiveMessageAction();43 receiveMessageAction.setMessageType("SOAP");44 assertEquals("SOAP", receiveMessageAction.getMessageType());45 }46 public void test() {

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful