@Test public void testFork() { MockTestDesigner builder = new MockTestDesigner(applicationContext) { @Override public void configure() { send(httpClient) .message(new DefaultMessage("Foo").setHeader("operation", "foo")) .header("additional", "additionalValue"); send(httpClient) .message(new DefaultMessage("Foo").setHeader("operation", "foo")) .fork(true); } }; builder.configure(); TestCase test = builder.getTestCase(); Assert.assertEquals(test.getActionCount(), 2); Assert.assertEquals(test.getActions().get(0).getClass(), SendMessageAction.class); Assert.assertEquals(test.getActions().get(1).getClass(), SendMessageAction.class); SendMessageAction action = ((SendMessageAction) test.getActions().get(0)); Assert.assertEquals(action.getName(), "send"); Assert.assertEquals(action.getEndpoint(), httpClient); Assert.assertEquals(action.getMessageBuilder().getClass(), StaticMessageContentBuilder.class); StaticMessageContentBuilder messageBuilder = (StaticMessageContentBuilder) action.getMessageBuilder(); Assert.assertEquals(messageBuilder.getMessage().getPayload(String.class), "Foo"); Assert.assertEquals(messageBuilder.getMessage().getHeader("operation"), "foo"); Assert.assertEquals(messageBuilder.getMessageHeaders().size(), 1L); Assert.assertEquals(messageBuilder.getMessageHeaders().get("additional"), "additionalValue"); Assert.assertFalse(action.isForkMode()); action = ((SendMessageAction) test.getActions().get(1)); Assert.assertEquals(action.getName(), "send"); Assert.assertEquals(action.getEndpoint(), httpClient); Assert.assertEquals(action.getMessageBuilder().getClass(), StaticMessageContentBuilder.class); Assert.assertTrue(action.isForkMode()); }