package org.jboss.seam.test.integration; import javax.persistence.EntityManager; import org.hibernate.Session; import org.jboss.seam.framework.EntityIdentifier; import org.jboss.seam.framework.HibernateEntityIdentifier; import org.jboss.seam.mock.SeamTest; import org.testng.annotations.Test; /** * @author Pete Muir * */ public class IdentifierTest extends SeamTest { @Test public void testEntityIdentifier() throws Exception { new ComponentTest() { @Override protected void testComponents() throws Exception { setValue("#{countryHome.instance.name}", "foo"); invokeMethod("#{countryHome.persist}"); Country country = (Country) getValue("#{countryHome.instance}"); EntityManager entityManager = (EntityManager) getValue("#{countryHome.entityManager}"); EntityIdentifier entityIdentifier = new EntityIdentifier(country, entityManager); assert "foo".equals(((Country) entityIdentifier.find(entityManager)).getName()); EntityIdentifier entityIdentifier2 = new EntityIdentifier(country, entityManager); assert entityIdentifier.equals(entityIdentifier2); } }.run(); } @Test public void testHibernateEntityIdentifier() throws Exception { new ComponentTest() { @Override protected void testComponents() throws Exception { setValue("#{countryHome.instance.name}", "foo"); invokeMethod("#{countryHome.persist}"); Country country = (Country) getValue("#{countryHome.instance}"); Session session = (Session) getValue("#{countryHome.entityManager.delegate}"); HibernateEntityIdentifier hibernateEntityIdentifier = new HibernateEntityIdentifier(country, session); assert "foo".equals(((Country) hibernateEntityIdentifier.find(session)).getName()); HibernateEntityIdentifier hibernateEntityIdentifier2 = new HibernateEntityIdentifier(country, session); assert hibernateEntityIdentifier.equals(hibernateEntityIdentifier2); } }.run(); } }