package mortgages; import javax.jms.MessageConsumer; import javax.xml.namespace.QName; 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.Invoker; import org.switchyard.test.ServiceOperation; import org.switchyard.test.SwitchYardRunner; import org.switchyard.test.SwitchYardTestCaseConfig; @SwitchYardTestCaseConfig( config = SwitchYardTestCaseConfig.SWITCHYARD_XML, mixins = {CDIMixIn.class, HornetQMixIn.class}) @RunWith(SwitchYardRunner.class) public class T4_AuditJMSTest { private static final String AUDIT_QUEUE = "AuditQueue"; @ServiceOperation("Audit") private Invoker service; private HornetQMixIn hornetQ; @Test public void sendTextMessageToJMSQueue() throws Exception { // Build the applicant Applicant request = new Applicant(); request.setName("Joan Jones"); request.setCreditScore(650); request.setApproved(true); // Invoke the audit service service.inputType(new QName("java:mortgages.Applicant")).sendInOnly(request); // Did the auditor publish the message to the audit queue? final MessageConsumer consumer = hornetQ.getJMSSession().createConsumer( HornetQMixIn.getJMSQueue(AUDIT_QUEUE)); Assert.assertNotNull(consumer.receive(1000)); } }