From d3da23962bdfdfe923a1fbc4cc7f374f7400f387 Mon Sep 17 00:00:00 2001 From: Dancovich Date: Mon, 26 Aug 2013 11:28:05 -0300 Subject: [PATCH] Implementados testes do produtor de EntityManager. --- impl/extension/jpa/src/test/java/productor/MyEntity.java | 29 +++++++++++++++++++++++++++++ impl/extension/jpa/src/test/java/productor/ProductorTest.java | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ impl/extension/jpa/src/test/resources/productor/demoiselle.properties | 1 + impl/extension/jpa/src/test/resources/productor/persistence.xml | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 174 insertions(+), 0 deletions(-) create mode 100644 impl/extension/jpa/src/test/java/productor/MyEntity.java create mode 100644 impl/extension/jpa/src/test/java/productor/ProductorTest.java create mode 100644 impl/extension/jpa/src/test/resources/productor/demoiselle.properties create mode 100644 impl/extension/jpa/src/test/resources/productor/persistence.xml diff --git a/impl/extension/jpa/src/test/java/productor/MyEntity.java b/impl/extension/jpa/src/test/java/productor/MyEntity.java new file mode 100644 index 0000000..84f1b2e --- /dev/null +++ b/impl/extension/jpa/src/test/java/productor/MyEntity.java @@ -0,0 +1,29 @@ +package productor; + +import javax.persistence.Entity; +import javax.persistence.Id; + +@Entity +public class MyEntity { + + @Id + private String id; + + private String description; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } +} diff --git a/impl/extension/jpa/src/test/java/productor/ProductorTest.java b/impl/extension/jpa/src/test/java/productor/ProductorTest.java new file mode 100644 index 0000000..cece4e2 --- /dev/null +++ b/impl/extension/jpa/src/test/java/productor/ProductorTest.java @@ -0,0 +1,80 @@ +package productor; + +import javax.persistence.EntityManager; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; + +import test.Tests; +import br.gov.frameworkdemoiselle.internal.proxy.EntityManagerProxy; +import br.gov.frameworkdemoiselle.util.Beans; +import br.gov.frameworkdemoiselle.util.NameQualifier; + + +@RunWith(Arquillian.class) +public class ProductorTest { + + private static final String PATH = "src/test/resources/productor"; + + @Deployment + public static WebArchive createDeployment() { + WebArchive deployment = Tests.createDeployment(ProductorTest.class); + deployment.addAsResource(Tests.createFileAsset(PATH + "/persistence.xml"), "META-INF/persistence.xml"); + deployment.addAsResource(Tests.createFileAsset(PATH + "/demoiselle.properties"), "demoiselle.properties"); + + return deployment; + } + + @Test + public void produceEntityManager(){ + + EntityManager manager = Beans.getReference(EntityManager.class); + Assert.assertNotNull(manager); + Assert.assertEquals(EntityManagerProxy.class,manager.getClass()); + + } + + @Test + public void produceMultipleEntityManagers(){ + + EntityManager m1 = Beans.getReference(EntityManager.class,new NameQualifier("pu")); + + Assert.assertNotNull(m1); + Assert.assertEquals(EntityManagerProxy.class,m1.getClass()); + + EntityManager m2 = Beans.getReference(EntityManager.class,new NameQualifier("pu2")); + + Assert.assertNotNull(m2); + Assert.assertEquals(EntityManagerProxy.class,m2.getClass()); + + } + + @Test + public void produceOneEntityManagerPerRequest(){ + EntityManager m1 = Beans.getReference(EntityManager.class,new NameQualifier("pu")); + + Assert.assertNotNull(m1); + Assert.assertEquals(EntityManagerProxy.class,m1.getClass()); + + EntityManager m2 = Beans.getReference(EntityManager.class,new NameQualifier("pu")); + + Assert.assertNotNull(m2); + Assert.assertEquals(EntityManagerProxy.class,m2.getClass()); + + MyEntity entity = new MyEntity(); + entity.setId(createId("testID")); + + m1.persist(entity); + + Assert.assertTrue( m2.contains(entity) ); + } + + private String createId(String id) { + return this.getClass().getName() + "_" + id; + } + +} diff --git a/impl/extension/jpa/src/test/resources/productor/demoiselle.properties b/impl/extension/jpa/src/test/resources/productor/demoiselle.properties new file mode 100644 index 0000000..6516d47 --- /dev/null +++ b/impl/extension/jpa/src/test/resources/productor/demoiselle.properties @@ -0,0 +1 @@ +frameworkdemoiselle.persistence.default.unit.name=pu \ No newline at end of file diff --git a/impl/extension/jpa/src/test/resources/productor/persistence.xml b/impl/extension/jpa/src/test/resources/productor/persistence.xml new file mode 100644 index 0000000..0726506 --- /dev/null +++ b/impl/extension/jpa/src/test/resources/productor/persistence.xml @@ -0,0 +1,64 @@ + + + + + java:jboss/datasources/ExampleDS + + productor.MyEntity + + + + + + + + + + java:jboss/datasources/ExampleDS + + productor.MyEntity + + + + + + + + + \ No newline at end of file -- libgit2 0.21.2