package org.jboss.example.homeloan; import javax.jms.MessageProducer; import javax.jms.ObjectMessage; import org.jboss.example.homeloan.extra.MockApplication; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.switchyard.component.test.mixins.cdi.CDIMixIn; import org.switchyard.component.test.mixins.hornetq.HornetQMixIn; import org.switchyard.test.MockHandler; import org.switchyard.test.SwitchYardRunner; import org.switchyard.test.SwitchYardTestCaseConfig; import org.switchyard.test.SwitchYardTestKit; @RunWith(SwitchYardRunner.class) @SwitchYardTestCaseConfig( config = SwitchYardTestCaseConfig.SWITCHYARD_XML, mixins = { CDIMixIn.class, HornetQMixIn.class }) public class Step6Test { private static final String REQUEST_QUEUE = "LoanIntake"; private HornetQMixIn hornetQ; private SwitchYardTestKit testKit; @Test public void sendTextMessageToJMSQueue() throws Exception { // Mock the qualify service to verify it's invoked MockHandler qualifyMock = testKit.replaceService("IntakeJMS"); // Create and send a JMS message with the request XML payload MessageProducer producer = hornetQ.getJMSSession().createProducer( HornetQMixIn.getJMSQueue(REQUEST_QUEUE)); ObjectMessage message = hornetQ.getJMSSession().createObjectMessage(); message.setObject(MockApplication.good()); producer.send(message); // Verify that we received the message in the service qualifyMock.waitForOKMessage(); Assert.assertEquals(1, qualifyMock.getMessages().size()); } }