package org.javaee7.jms.send.receive.mdb;
import org.javaee7.jms.send.receive.simple.MessageSenderAsync;
import org.javaee7.jms.send.receive.mdb.MessageReceiverAsync;
import org.javaee7.jms.send.receive.simple.MessageSenderSync;
import org.javaee7.jms.send.receive.simple.MessageReceiverSync;
import org.junit.Test;
import static org.junit.Assert.*;
import java.io.File;
import javax.ejb.EJB;
import org.javaee7.jms.send.receive.Resources;
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.runner.RunWith;
/**
*
* @author Patrik Dudits
*/
@RunWith(Arquillian.class)
public class AsyncTest {
@EJB
MessageSenderAsync asyncSender;
@Test
public void testAsync() throws Exception {
asyncSender.sendMessage("Fire!");
ReceptionSynchronizer.waitFor(MessageReceiverAsync.class, "onMessage");
// unless we timed out, the test passes
}
@Deployment
public static WebArchive deploy() {
return ShrinkWrap.create(WebArchive.class)
.addClass(MessageSenderAsync.class)
.addClass(Resources.class)
.addClass(MessageReceiverAsync.class)
.addClass(ReceptionSynchronizer.class)
.addAsWebInfResource(new File("src/test/resources/WEB-INF/ejb-jar.xml"));
}
}