package org.jboss.seam.example.contactlist.test; import static org.junit.Assert.*; import java.util.List; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.OverProtocol; import org.jboss.arquillian.junit.Arquillian; import org.jboss.seam.Component; import org.jboss.seam.contexts.Lifecycle; import org.jboss.seam.example.contactlist.Contact; import org.jboss.seam.framework.EntityHome; import org.jboss.seam.framework.EntityQuery; import org.jboss.shrinkwrap.api.Archive; import org.jboss.shrinkwrap.api.spec.EnterpriseArchive; import org.jboss.shrinkwrap.api.spec.WebArchive; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(Arquillian.class) public class ContactListTest { @Deployment(name="ContactListTest") @OverProtocol("Servlet 3.0") public static Archive<?> createDeployment() { EnterpriseArchive er = Deployments.contactListDeployment(); WebArchive web = er.getAsType(WebArchive.class, "contactlist-web.war"); web.addClasses(ContactListTest.class); return er; } @Test public void testList() throws Exception { Lifecycle.beginCall(); EntityQuery<Contact> contacts = (EntityQuery<Contact>)Component.getInstance("contacts"); List<Contact> contactsList = (List<Contact>) (contacts.getResultList()); assertEquals(5, contactsList.size()); Lifecycle.endCall(); } @Test public void testSearch() throws Exception { Lifecycle.beginCall(); Contact exampleContact = (Contact)Component.getInstance("exampleContact"); exampleContact.setFirstName("Norman"); EntityQuery<Contact> contacts = (EntityQuery<Contact>)Component.getInstance("contacts"); List<Contact> contactsList = (List<Contact>) (contacts.getResultList()); assertEquals(1, contactsList.size()); Lifecycle.endCall(); Lifecycle.beginCall(); exampleContact = (Contact)Component.getInstance("exampleContact"); exampleContact.setLastName("King"); contacts = (EntityQuery<Contact>)Component.getInstance("contacts"); contactsList = (List<Contact>) (contacts.getResultList()); assertEquals(1, contactsList.size()); Lifecycle.endCall(); } Long contactId; @Test public void testCreateDeleteContact() throws Exception { Lifecycle.beginCall(); Contact contact = (Contact) Component.getInstance("contact"); contact.setFirstName("Emmanuel"); contact.setLastName("Bernard"); contact.setCity("Paris"); EntityHome<Contact> contactHome = (EntityHome<Contact>)Component.getInstance("contactHome"); assertEquals("persisted", contactHome.persist()); contactId = (Long)contactHome.getId(); Lifecycle.endCall(); Lifecycle.beginCall(); contactHome = (EntityHome<Contact>)Component.getInstance("contactHome"); contactHome.setId(contactId); contact = (Contact) Component.getInstance("contact"); assertEquals("Emmanuel", contact.getFirstName()); assertEquals("Bernard", contact.getLastName()); assertEquals("Paris", contact.getCity()); Lifecycle.endCall(); Lifecycle.beginCall(); contactHome = (EntityHome<Contact>)Component.getInstance("contactHome"); contactHome.setId(contactId); assertEquals("removed", contactHome.remove()); Lifecycle.endCall(); } }