package org.javaee7.jms.send.receive; import java.util.Arrays; import org.javaee7.jms.send.receive.classic.ClassicMessageSender; import org.javaee7.jms.send.receive.classic.ClassicMessageReceiver; import org.junit.Test; import static org.junit.Assert.*; import javax.ejb.EJB; import org.javaee7.jms.send.receive.simple.MessageReceiverSync; import org.javaee7.jms.send.receive.simple.MessageSenderSync; import org.javaee7.jms.send.receive.simple.appmanaged.MessageReceiverAppManaged; import org.javaee7.jms.send.receive.simple.appmanaged.MessageSenderAppManaged; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.junit.Before; import org.junit.runner.RunWith; /** * @author Patrik Dudits */ @RunWith(Arquillian.class) public class SyncTest { @EJB ClassicMessageSender classicSender; @EJB ClassicMessageReceiver classicReceiver; @EJB MessageSenderSync simpleSender; @EJB MessageReceiverSync simpleReceiver; @EJB MessageSenderAppManaged appManagedSender; @EJB MessageReceiverAppManaged appManagedReceiver; @Test public void testClassicApi() { String message = "The test message over JMS 1.1 API"; classicSender.sendMessage(message); assertEquals(message, classicReceiver.receiveMessage()); } @Test public void testContainerManagedJmsContext() { String message = "Test message over container-managed JMSContext"; simpleSender.sendMessage(message); assertEquals(message, simpleReceiver.receiveMessage()); } @Test public void testAppManagedJmsContext() { String message = "The test message over app-managed JMSContext"; appManagedSender.sendMessage(message); assertEquals(message, appManagedReceiver.receiveMessage()); } @Test public void testMultipleSendAndReceive() { simpleSender.sendMessage("1"); simpleSender.sendMessage("2"); assertEquals("1", simpleReceiver.receiveMessage()); assertEquals("2", simpleReceiver.receiveMessage()); simpleSender.sendMessage("3"); simpleSender.sendMessage("4"); simpleSender.sendMessage("5"); assertEquals("3", simpleReceiver.receiveMessage()); assertEquals("4", simpleReceiver.receiveMessage()); assertEquals("5", simpleReceiver.receiveMessage()); } @Deployment public static WebArchive deploy() { return ShrinkWrap.create(WebArchive.class) .addClasses(MessageSenderSync.class, MessageReceiverSync.class, ClassicMessageSender.class, ClassicMessageReceiver.class, MessageSenderAppManaged.class, MessageReceiverAppManaged.class, Resources.class); } }