From 3ca502636b43cc134a5304b9d185c813a9027a9e Mon Sep 17 00:00:00 2001 From: Cleverson Sacramento Date: Mon, 19 Aug 2013 08:06:32 -0300 Subject: [PATCH] Resolução de conflitos --- impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/ManagementBootstrap.java | 2 +- impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/management/ManagedType.java | 2 +- impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/management/Management.java | 5 ++++- impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ResourceBundleProducer.java | 4 ++-- impl/core/src/main/java/br/gov/frameworkdemoiselle/transaction/TransactionalInterceptor.java | 2 +- impl/core/src/test/resources/arquillian.xml | 2 +- impl/extension/jmx/src/main/java/br/gov/frameworkdemoiselle/jmx/internal/DynamicMBeanProxy.java | 2 +- impl/extension/jmx/src/main/java/br/gov/frameworkdemoiselle/jmx/internal/MBeanHelper.java | 2 +- impl/extension/jpa/.gitignore | 1 + impl/extension/jpa/pom.xml | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerFactoryProducer.java | 1 + impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/transaction/JPATransaction.java | 5 ++++- impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/domain/Client.java | 65 ----------------------------------------------------------------- impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/domain/Contact.java | 28 ---------------------------- impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/EntityManagerConfigTest.java | 102 ------------------------------------------------------------------------------------------------------ impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerFactoryProducerTest.java | 176 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerProducerTest.java | 189 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/FakeEntityManager.java | 277 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/EntityManagerProxyTest.java | 536 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/QueryProxyTest.java | 294 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/TypedQueryProxyTest.java | 258 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/template/JPACrudTest.java | 434 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/transaction/JPATransactionTest.java | 222 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ impl/extension/jpa/src/test/resources/META-INF/persistence.xml | 48 ------------------------------------------------ impl/extension/jpa/src/test/resources/demoiselle-jpa-bundle.properties | 45 --------------------------------------------- impl/extension/jpa/src/test/resources/demoiselle.properties | 36 ------------------------------------ impl/extension/jpa/src/test/resources/empty-persistence.xml | 42 ------------------------------------------ impl/extension/jpa/src/test/resources/log4j.properties | 42 ------------------------------------------ impl/extension/jpa/src/test/resources/persistence-empty-name.xml | 48 ------------------------------------------------ impl/extension/jpa/src/test/resources/persistence-two-units.xml | 56 -------------------------------------------------------- impl/extension/jpa/src/test/resources/persistence.xml | 48 ------------------------------------------------ impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractEditPageBeanTest.java | 2 +- impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthenticator.java | 8 ++++---- impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthorizer.java | 2 +- parent/extension/pom.xml | 6 ++++-- 35 files changed, 149 insertions(+), 2970 deletions(-) delete mode 100644 impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/domain/Client.java delete mode 100644 impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/domain/Contact.java delete mode 100644 impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/EntityManagerConfigTest.java delete mode 100644 impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerFactoryProducerTest.java delete mode 100644 impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerProducerTest.java delete mode 100644 impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/FakeEntityManager.java delete mode 100644 impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/EntityManagerProxyTest.java delete mode 100644 impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/QueryProxyTest.java delete mode 100644 impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/TypedQueryProxyTest.java delete mode 100644 impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/template/JPACrudTest.java delete mode 100644 impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/transaction/JPATransactionTest.java delete mode 100644 impl/extension/jpa/src/test/resources/META-INF/persistence.xml delete mode 100644 impl/extension/jpa/src/test/resources/demoiselle-jpa-bundle.properties delete mode 100644 impl/extension/jpa/src/test/resources/demoiselle.properties delete mode 100644 impl/extension/jpa/src/test/resources/empty-persistence.xml delete mode 100755 impl/extension/jpa/src/test/resources/log4j.properties delete mode 100644 impl/extension/jpa/src/test/resources/persistence-empty-name.xml delete mode 100644 impl/extension/jpa/src/test/resources/persistence-two-units.xml delete mode 100644 impl/extension/jpa/src/test/resources/persistence.xml diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/ManagementBootstrap.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/ManagementBootstrap.java index 2a6da1a..2ee0d4c 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/ManagementBootstrap.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/bootstrap/ManagementBootstrap.java @@ -48,7 +48,7 @@ public class ManagementBootstrap implements Extension { @SuppressWarnings("unchecked") public void registerAvailableManagedTypes(@Observes final AfterDeploymentValidation event, BeanManager beanManager) { - ResourceBundle bundle = ResourceBundleProducer.create("demoiselle-core-bundle", Locale.getDefault()); + ResourceBundle bundle = new ResourceBundleProducer().create("demoiselle-core-bundle", Locale.getDefault()); Management monitoringManager = Beans.getReference(Management.class); for (AnnotatedType type : types) { diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/management/ManagedType.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/management/ManagedType.java index c704be0..fb71189 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/management/ManagedType.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/management/ManagedType.java @@ -77,7 +77,7 @@ public class ManagedType { private String description; public ManagedType(Class type) { - bundle = ResourceBundleProducer.create("demoiselle-core-bundle"); + bundle = new ResourceBundleProducer().create("demoiselle-core-bundle"); if (type == null) { throw new DemoiselleException(bundle.getString("management-null-class-defined")); diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/management/Management.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/management/Management.java index c9da28b..de1b81a 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/management/Management.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/management/Management.java @@ -36,6 +36,7 @@ */ package br.gov.frameworkdemoiselle.internal.management; +import java.io.Serializable; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collection; @@ -73,7 +74,9 @@ import br.gov.frameworkdemoiselle.util.ResourceBundle; * @author serpro */ @ApplicationScoped -public class Management { +public class Management implements Serializable { + + private static final long serialVersionUID = 1L; @Inject private Logger logger; diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ResourceBundleProducer.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ResourceBundleProducer.java index 167b2b9..01924e2 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ResourceBundleProducer.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ResourceBundleProducer.java @@ -63,7 +63,7 @@ public class ResourceBundleProducer implements Serializable { * baseName */ @Deprecated - public static ResourceBundle create(String baseName) { + public ResourceBundle create(String baseName) { return create(baseName, Beans.getReference(Locale.class)); } @@ -74,7 +74,7 @@ public class ResourceBundleProducer implements Serializable { * baseName */ @Deprecated - public static ResourceBundle create(String baseName, Locale locale) { + public ResourceBundle create(String baseName, Locale locale) { return new ResourceBundle(baseName, locale); } diff --git a/impl/core/src/main/java/br/gov/frameworkdemoiselle/transaction/TransactionalInterceptor.java b/impl/core/src/main/java/br/gov/frameworkdemoiselle/transaction/TransactionalInterceptor.java index 63e3af7..0cc0a57 100644 --- a/impl/core/src/main/java/br/gov/frameworkdemoiselle/transaction/TransactionalInterceptor.java +++ b/impl/core/src/main/java/br/gov/frameworkdemoiselle/transaction/TransactionalInterceptor.java @@ -189,7 +189,7 @@ public class TransactionalInterceptor implements Serializable { } @RequestScoped - static class TransactionInfo implements Serializable { + public static class TransactionInfo implements Serializable { private static final long serialVersionUID = 1L; diff --git a/impl/core/src/test/resources/arquillian.xml b/impl/core/src/test/resources/arquillian.xml index bdd7798..c2f0f22 100644 --- a/impl/core/src/test/resources/arquillian.xml +++ b/impl/core/src/test/resources/arquillian.xml @@ -40,7 +40,7 @@ diff --git a/impl/extension/jmx/src/main/java/br/gov/frameworkdemoiselle/jmx/internal/DynamicMBeanProxy.java b/impl/extension/jmx/src/main/java/br/gov/frameworkdemoiselle/jmx/internal/DynamicMBeanProxy.java index af89899..1848a25 100644 --- a/impl/extension/jmx/src/main/java/br/gov/frameworkdemoiselle/jmx/internal/DynamicMBeanProxy.java +++ b/impl/extension/jmx/src/main/java/br/gov/frameworkdemoiselle/jmx/internal/DynamicMBeanProxy.java @@ -79,7 +79,7 @@ public class DynamicMBeanProxy implements DynamicMBean { private ManagedType managedType; - private ResourceBundle bundle = ResourceBundleProducer.create("demoiselle-jmx-bundle", Locale.getDefault()); + private ResourceBundle bundle = new ResourceBundleProducer().create("demoiselle-jmx-bundle", Locale.getDefault()); public DynamicMBeanProxy(ManagedType type) { if (type == null) { diff --git a/impl/extension/jmx/src/main/java/br/gov/frameworkdemoiselle/jmx/internal/MBeanHelper.java b/impl/extension/jmx/src/main/java/br/gov/frameworkdemoiselle/jmx/internal/MBeanHelper.java index ab941eb..6e3c9f1 100644 --- a/impl/extension/jmx/src/main/java/br/gov/frameworkdemoiselle/jmx/internal/MBeanHelper.java +++ b/impl/extension/jmx/src/main/java/br/gov/frameworkdemoiselle/jmx/internal/MBeanHelper.java @@ -59,7 +59,7 @@ public class MBeanHelper { private static final Logger logger = LoggerProducer.create(MBeanHelper.class); - private static ResourceBundle bundle = ResourceBundleProducer.create("demoiselle-jmx-bundle", Locale.getDefault()); + private static ResourceBundle bundle = new ResourceBundleProducer().create("demoiselle-jmx-bundle", Locale.getDefault()); private static final MBeanServer server = ManagementFactory.getPlatformMBeanServer(); diff --git a/impl/extension/jpa/.gitignore b/impl/extension/jpa/.gitignore index a9811b7..c6df0cd 100644 --- a/impl/extension/jpa/.gitignore +++ b/impl/extension/jpa/.gitignore @@ -4,3 +4,4 @@ /.settings /.externalToolBuilders /.DS_Store +/*.log diff --git a/impl/extension/jpa/pom.xml b/impl/extension/jpa/pom.xml index 041887f..23a5fbb 100755 --- a/impl/extension/jpa/pom.xml +++ b/impl/extension/jpa/pom.xml @@ -36,7 +36,6 @@ --> - 4.0.0 demoiselle-jpa @@ -45,7 +44,7 @@ br.gov.frameworkdemoiselle demoiselle-extension-parent - 2.4.0-BETA3-SNAPSHOT + 2.4.0-BETA4-SNAPSHOT ../../../parent/extension @@ -67,27 +66,143 @@ http://www.serpro.gov.br + + org.eclipse.persistence javax.persistence + + - org.hibernate - hibernate-entitymanager + junit + junit test - org.hibernate - hibernate-validator + org.jboss.arquillian.junit + arquillian-junit-container test + + + + + org.jboss.arquillian.container + arquillian-glassfish-embedded-3.1 + test + + + + + org.glassfish.main.extras + glassfish-embedded-all + 3.1.2 + test + + + + org.jboss.shrinkwrap.resolver + shrinkwrap-resolver-impl-maven + test + + + org.jboss.shrinkwrap.resolver + shrinkwrap-resolver-depchain + pom + + + + + + + + + + + diff --git a/impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerFactoryProducer.java b/impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerFactoryProducer.java index 18e5b1f..a905b68 100644 --- a/impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerFactoryProducer.java +++ b/impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerFactoryProducer.java @@ -26,6 +26,7 @@ import br.gov.frameworkdemoiselle.annotation.Name; import br.gov.frameworkdemoiselle.util.ResourceBundle; @ApplicationScoped +// @StaticScoped public class EntityManagerFactoryProducer implements Serializable { private static final long serialVersionUID = 1L; diff --git a/impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/transaction/JPATransaction.java b/impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/transaction/JPATransaction.java index 4b5193f..546f181 100644 --- a/impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/transaction/JPATransaction.java +++ b/impl/extension/jpa/src/main/java/br/gov/frameworkdemoiselle/transaction/JPATransaction.java @@ -124,8 +124,11 @@ public class JPATransaction implements Transaction { public boolean isActive() { boolean active = false; + EntityTransaction transaction; for (EntityManager entityManager : getDelegate()) { - if (entityManager.getTransaction().isActive()) { + transaction = entityManager.getTransaction(); + + if (transaction.isActive()) { active = true; break; } diff --git a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/domain/Client.java b/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/domain/Client.java deleted file mode 100644 index 0b4afc0..0000000 --- a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/domain/Client.java +++ /dev/null @@ -1,65 +0,0 @@ -package br.gov.frameworkdemoiselle.domain; - -import java.io.Serializable; -import java.util.Date; - -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; - -/** - * Simle entity for test classes - * @author serpro - * - */ -@Entity -public class Client implements Serializable { - - private static final long serialVersionUID = 1L; - - private Long id; - - private String name; - - private Date birthDate; - - @Id - @GeneratedValue - public Long getId() { - return id; - } - - - public void setId(Long id) { - this.id = id; - } - - - public String getName() { - return name; - } - - - public void setName(String name) { - this.name = name; - } - - - @Temporal(TemporalType.DATE) - public Date getBirthDate() { - return birthDate; - } - - - - public void setBirthDate(Date birthDate) { - this.birthDate = birthDate; - } - - - - - -} diff --git a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/domain/Contact.java b/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/domain/Contact.java deleted file mode 100644 index 8d35639..0000000 --- a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/domain/Contact.java +++ /dev/null @@ -1,28 +0,0 @@ -package br.gov.frameworkdemoiselle.domain; - -import java.io.Serializable; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; - -@Entity -public class Contact implements Serializable { - - private static final long serialVersionUID = 1L; - - @Id - @GeneratedValue - @Column - private Long id; - - public void setId(Long id) { - this.id = id; - } - - public Long getId() { - return id; - } - -} diff --git a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/EntityManagerConfigTest.java b/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/EntityManagerConfigTest.java deleted file mode 100644 index 92bfe97..0000000 --- a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/configuration/EntityManagerConfigTest.java +++ /dev/null @@ -1,102 +0,0 @@ -///* -// * Demoiselle Framework -// * Copyright (C) 2010 SERPRO -// * ---------------------------------------------------------------------------- -// * This file is part of Demoiselle Framework. -// * -// * Demoiselle Framework is free software; you can redistribute it and/or -// * modify it under the terms of the GNU Lesser General Public License version 3 -// * as published by the Free Software Foundation. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have received a copy of the GNU Lesser General Public License version 3 -// * along with this program; if not, see -// * or write to the Free Software Foundation, Inc., 51 Franklin Street, -// * Fifth Floor, Boston, MA 02110-1301, USA. -// * ---------------------------------------------------------------------------- -// * Este arquivo é parte do Framework Demoiselle. -// * -// * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou -// * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação -// * do Software Livre (FSF). -// * -// * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA -// * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou -// * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português -// * para maiores detalhes. -// * -// * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título -// * "LICENCA.txt", junto com esse programa. Se não, acesse -// * ou escreva para a Fundação do Software Livre (FSF) Inc., -// * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. -// */ -//package br.gov.frameworkdemoiselle.internal.configuration; -//import static org.easymock.EasyMock.createMock; -//import static org.easymock.EasyMock.expect; -//import static org.junit.Assert.assertEquals; -// -//import java.util.Locale; -// -//import org.junit.After; -//import org.junit.Before; -//import org.junit.Test; -//import org.junit.runner.RunWith; -//import org.powermock.api.easymock.PowerMock; -//import org.powermock.core.classloader.annotations.PrepareForTest; -//import org.powermock.modules.junit4.PowerMockRunner; -//import org.powermock.reflect.Whitebox; -//import org.slf4j.Logger; -//import org.slf4j.LoggerFactory; -// -//import br.gov.frameworkdemoiselle.internal.bootstrap.CoreBootstrap; -//import br.gov.frameworkdemoiselle.util.ResourceBundle; -// -///** -// * @author e-saito -// */ -///** -// * @author 80342167553 -// */ -//@RunWith(PowerMockRunner.class) -//@PrepareForTest(CoreBootstrap.class) -//public class EntityManagerConfigTest { -// -// private EntityManagerConfig config = new EntityManagerConfig(); -// -// @Before -// public void setUp() throws Exception { -// Logger logger = LoggerFactory.getLogger(this.getClass()); -// ResourceBundle bundle = new ResourceBundle("demoiselle-core-bundle", Locale.getDefault()); -// -// ConfigurationLoader configurationLoader = new ConfigurationLoader(); -// -// Whitebox.setInternalState(configurationLoader, "bundle", bundle); -// Whitebox.setInternalState(configurationLoader, "logger", logger); -// -// CoreBootstrap bootstrap = createMock(CoreBootstrap.class); -// expect(bootstrap.isAnnotatedType(config.getClass())).andReturn(true); -// PowerMock.replay(bootstrap); -// -// Whitebox.setInternalState(configurationLoader, "bootstrap", bootstrap); -// -// configurationLoader.load(config); -// } -// -// @After -// public void tearDown() throws Exception { -// config = null; -// } -// -// /** -// * Test method for -// * {@link br.gov.frameworkdemoiselle.internal.configuration.EntityManagerConfig#getDefaultPersistenceUnitName()}. -// */ -// @Test -// public void testGetDefaultPersistenceUnitName() { -// assertEquals("PersistenceUnitName", config.getDefaultPersistenceUnitName()); -// } -//} diff --git a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerFactoryProducerTest.java b/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerFactoryProducerTest.java deleted file mode 100644 index eac9e46..0000000 --- a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerFactoryProducerTest.java +++ /dev/null @@ -1,176 +0,0 @@ -package br.gov.frameworkdemoiselle.internal.producer; - -import static org.easymock.EasyMock.createMock; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.verify; -import static org.powermock.api.easymock.PowerMock.mockStatic; -import static org.powermock.api.easymock.PowerMock.replay; -import static org.powermock.reflect.Whitebox.setInternalState; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; - -import javax.persistence.EntityManagerFactory; -import javax.persistence.Persistence; - -import junit.framework.Assert; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.slf4j.Logger; - -import br.gov.frameworkdemoiselle.util.ResourceBundle; - -@RunWith(PowerMockRunner.class) -@PrepareForTest(Persistence.class) -public class EntityManagerFactoryProducerTest { - - private EntityManagerFactory emFactory; - - private EntityManagerFactoryProducer producer; - - private Map> cache; - - private Logger logger; - - private ResourceBundle bundle; - - @Before - public void setUp() { - logger = createMock(Logger.class); - bundle = ResourceBundleProducer.create("demoiselle-jpa-bundle", Locale.getDefault()); - producer = new EntityManagerFactoryProducer(); - cache = Collections.synchronizedMap(new HashMap>()); - setInternalState(producer, "factoryCache", cache); - setInternalState(producer, Logger.class, logger); - setInternalState(producer, ResourceBundle.class, bundle); - emFactory = createMock(EntityManagerFactory.class); - } - - @Test - public void testCreateWithUnitPersistenceExisting() { - ClassLoader cl = this.getClass().getClassLoader(); - HashMap emEntry = new HashMap(); - emEntry.put("pu1", emFactory); - cache.put(cl, emEntry); - - Assert.assertEquals(emFactory, producer.create("pu1")); - } - - @Test - public void testCreateWithUnitPersistenceNotExisting() { - - mockStatic(Persistence.class); - expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); - - replay(Persistence.class); - - Assert.assertEquals(emFactory, producer.create("pu1")); - } - - /** - * Test if after producing an entity manager, the EntityManagerFactory is correctly stored in the cache associated - * with the current class loader. - */ - @Test - public void testStorageCacheAfterCreate() { - mockStatic(Persistence.class); - expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); - replay(Persistence.class); - - Map producerCache = producer.getCache(); - Assert.assertNotNull(producerCache); - Assert.assertTrue(producerCache.containsKey("pu1")); - Assert.assertTrue(producerCache.containsValue(emFactory)); - } - - @Test - public void testInitWithoutError() { - mockStatic(Persistence.class); - expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); - replay(Persistence.class); - - producer.loadPersistenceUnits(); - - ClassLoader cl = this.getClass().getClassLoader(); - Map internalCache = cache.get(cl); - - Assert.assertNotNull(internalCache); - Assert.assertEquals(emFactory, internalCache.get("pu1")); - } - - /* - * @Test public void testInitWithError() { try { producer.loadPersistenceUnits(); Assert.fail(); - * }catch(DemoiselleException cause) { Assert.assertTrue(true); } } - */ - - @Test - public void testGetCache() { - ClassLoader cl = this.getClass().getClassLoader(); - HashMap emEntry = new HashMap(); - emEntry.put("pu1", emFactory); - cache.put(cl, emEntry); - - mockStatic(Persistence.class); - expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); - replay(Persistence.class); - - Assert.assertEquals(cache.get(this.getClass().getClassLoader()), producer.getCache()); - } - - @Test - public void testClose() { - ClassLoader cl = this.getClass().getClassLoader(); - HashMap emEntry = new HashMap(); - emEntry.put("pu1", emFactory); - cache.put(cl, emEntry); - - emFactory.close(); - replay(emFactory); - producer.close(); - verify(emFactory); - } - - /** - * Test if detecting the persistence unit with an empty name throws correct error. - */ - // @Test - // public void testEmptyPersistenceUnitName(){ - // EntityManagerFactoryProducer.ENTITY_MANAGER_RESOURCE = "persistence-empty-name.xml"; - // - // try{ - // producer.getCache(); - // Assert.fail(); - // } - // catch(DemoiselleException de){ - // // - // } - // } - - /** - * Test if asking to create an entity manager still not in the cache will correctly create it and put it in the - * cache. - */ - @Test - public void testCreatePersistenceUnitNotInCache() { - mockStatic(Persistence.class); - expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emFactory); - replay(Persistence.class); - - ClassLoader cl = this.getClass().getClassLoader(); - HashMap emEntry = new HashMap(); - cache.put(cl, emEntry); - - producer.create("pu1"); - - Map producerCache = producer.getCache(); - Assert.assertNotNull(producerCache); - Assert.assertTrue(producerCache.containsKey("pu1")); - Assert.assertTrue(producerCache.containsValue(emFactory)); - } -} diff --git a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerProducerTest.java b/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerProducerTest.java deleted file mode 100644 index bcbb964..0000000 --- a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/EntityManagerProducerTest.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Demoiselle Framework - * Copyright (C) 2010 SERPRO - * ---------------------------------------------------------------------------- - * This file is part of Demoiselle Framework. - * - * Demoiselle Framework is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License version 3 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License version 3 - * along with this program; if not, see - * or write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. - * ---------------------------------------------------------------------------- - * Este arquivo é parte do Framework Demoiselle. - * - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação - * do Software Livre (FSF). - * - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português - * para maiores detalhes. - * - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título - * "LICENCA.txt", junto com esse programa. Se não, acesse - * ou escreva para a Fundação do Software Livre (FSF) Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. - */ -package br.gov.frameworkdemoiselle.internal.producer; - -import static org.easymock.EasyMock.createMock; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.verify; -import static org.powermock.api.easymock.PowerMock.mockStatic; -import static org.powermock.api.easymock.PowerMock.replay; -import static org.powermock.reflect.Whitebox.setInternalState; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; - -import javax.enterprise.inject.spi.Annotated; -import javax.enterprise.inject.spi.InjectionPoint; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.Persistence; - -import junit.framework.Assert; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.slf4j.Logger; - -import br.gov.frameworkdemoiselle.annotation.Name; -import br.gov.frameworkdemoiselle.internal.configuration.EntityManagerConfig; -import br.gov.frameworkdemoiselle.util.ResourceBundle; - -@RunWith(PowerMockRunner.class) -@PrepareForTest(Persistence.class) -public class EntityManagerProducerTest { - - private EntityManagerProducer producer; - - private Logger logger; - - private ResourceBundle bundle; - - private InjectionPoint ip; - - private EntityManagerConfig config; - - private Annotated annotated; - - private Name name; - - private EntityManagerFactory emf; - - private Map cache; - - private EntityManager em; - - @Before - public void setUp() { - emf = createMock(EntityManagerFactory.class); - em = createMock(EntityManager.class); - - mockStatic(Persistence.class); - expect(Persistence.createEntityManagerFactory("pu1")).andReturn(emf); - expect(emf.createEntityManager()).andReturn(em); - - replay(emf, Persistence.class); - - producer = new EntityManagerProducer(); - bundle = ResourceBundleProducer.create("demoiselle-jpa-bundle", Locale.getDefault()); - logger = createMock(Logger.class); - - setInternalState(producer, ResourceBundle.class, bundle); - setInternalState(producer, Logger.class, logger); - - ip = createMock(InjectionPoint.class); - config = createMock(EntityManagerConfig.class); - annotated = createMock(Annotated.class); - } - - @Test - public void testClose() { - em.close(); - replay(em); - cache = Collections.synchronizedMap(new HashMap()); - cache.put("pu1", em); - setInternalState(producer, Map.class, cache); - producer.close(); - verify(em); - } - - @Test - public void testGetCache() { - cache = Collections.synchronizedMap(new HashMap()); - setInternalState(producer, Map.class, cache); - Assert.assertEquals(cache, producer.getCache()); - } - - @After - public void tearDown() { - producer = null; - } - - // @Test - // public void testCreateWithEntityManagerAnnotatedWithName() { - // name = createMock(Name.class); - // expect(name.value()).andReturn("pu1"); - // expect(annotated.isAnnotationPresent(Name.class)).andReturn(true); - // expect(annotated.getAnnotation(Name.class)).andReturn(name); - // expect(ip.getAnnotated()).andReturn(annotated).anyTimes(); - // replay(name, annotated, ip); - // - // EntityManagerProxy entityManagerProxy = (EntityManagerProxy) producer.create(ip, config); - // assertNotNull(entityManagerProxy); - // } - - // @Test - // public void testCreateWithPersistenceUnitNameFromDemoiselleProperties() { - // expect(annotated.isAnnotationPresent(Name.class)).andReturn(false); - // expect(ip.getAnnotated()).andReturn(annotated).anyTimes(); - // expect(config.getDefaultPersistenceUnitName()).andReturn("pu1"); - // - // replay(annotated, ip, config); - // - // EntityManagerProxy entityManagerProxy = (EntityManagerProxy) producer.create(ip, config); - // assertNotNull(entityManagerProxy); - // } - - // @Test - // public void testCreateWithPersistenceUnitNameFromPersistenceXML() { - // - // Map cache = Collections - // .synchronizedMap(new HashMap()); - // - // cache.put("pu1", emf); - // - // EntityManagerFactoryProducer entityManagerFactoryProducer = createMock(EntityManagerFactoryProducer.class); - // - // expect(entityManagerFactoryProducer.getCache()).andReturn(cache); - // - // expect(annotated.isAnnotationPresent(Name.class)).andReturn(false); - // expect(ip.getAnnotated()).andReturn(annotated).anyTimes(); - // expect(config.getDefaultPersistenceUnitName()).andReturn(null); - // - // replay(annotated, ip, config, entityManagerFactoryProducer); - // - // setInternalState(producer, EntityManagerFactoryProducer.class, entityManagerFactoryProducer); - // - // EntityManagerProxy entityManagerProxy = (EntityManagerProxy) producer.create(ip, config); - // assertNotNull(entityManagerProxy); - // } -} diff --git a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/FakeEntityManager.java b/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/FakeEntityManager.java deleted file mode 100644 index 2868060..0000000 --- a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/producer/FakeEntityManager.java +++ /dev/null @@ -1,277 +0,0 @@ -/* - * Demoiselle Framework - * Copyright (C) 2010 SERPRO - * ---------------------------------------------------------------------------- - * This file is part of Demoiselle Framework. - * - * Demoiselle Framework is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License version 3 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License version 3 - * along with this program; if not, see - * or write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. - * ---------------------------------------------------------------------------- - * Este arquivo é parte do Framework Demoiselle. - * - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação - * do Software Livre (FSF). - * - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português - * para maiores detalhes. - * - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título - * "LICENCA.txt", junto com esse programa. Se não, acesse - * ou escreva para a Fundação do Software Livre (FSF) Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. - */ -package br.gov.frameworkdemoiselle.internal.producer; - -import java.util.Map; - -import javax.enterprise.inject.Alternative; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.EntityTransaction; -import javax.persistence.FlushModeType; -import javax.persistence.LockModeType; -import javax.persistence.Query; -import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.metamodel.Metamodel; - -@Alternative -public class FakeEntityManager implements EntityManager { - - private boolean closed = false; - - private boolean equals = true; - - private int hashCode = 1; - - private String toString = ""; - - @Override - public void clear() { - } - - @Override - public void close() { - closed = true; - } - - @Override - public boolean contains(Object arg0) { - return false; - } - - @Override - public Query createNamedQuery(String arg0) { - return null; - } - - @Override - public TypedQuery createNamedQuery(String arg0, Class arg1) { - return null; - } - - @Override - public Query createNativeQuery(String arg0) { - return null; - } - - @Override - public Query createNativeQuery(String arg0, @SuppressWarnings("rawtypes") Class arg1) { - return null; - } - - @Override - public Query createNativeQuery(String arg0, String arg1) { - return null; - } - - @Override - public Query createQuery(String arg0) { - return null; - } - - @Override - public TypedQuery createQuery(CriteriaQuery arg0) { - return null; - } - - @Override - public TypedQuery createQuery(String arg0, Class arg1) { - return null; - } - - @Override - public void detach(Object arg0) { - } - - @Override - public T find(Class arg0, Object arg1) { - return null; - } - - @Override - public T find(Class arg0, Object arg1, Map arg2) { - return null; - } - - @Override - public T find(Class arg0, Object arg1, LockModeType arg2) { - return null; - } - - @Override - public T find(Class arg0, Object arg1, LockModeType arg2, Map arg3) { - return null; - } - - @Override - public void flush() { - } - - @Override - public CriteriaBuilder getCriteriaBuilder() { - return null; - } - - @Override - public Object getDelegate() { - return null; - } - - @Override - public EntityManagerFactory getEntityManagerFactory() { - return null; - } - - @Override - public FlushModeType getFlushMode() { - return null; - } - - @Override - public LockModeType getLockMode(Object arg0) { - return null; - } - - @Override - public Metamodel getMetamodel() { - return null; - } - - @Override - public Map getProperties() { - return null; - } - - @Override - public T getReference(Class arg0, Object arg1) { - return null; - } - - @Override - public EntityTransaction getTransaction() { - return null; - } - - @Override - public boolean isOpen() { - return !closed; - } - - @Override - public void joinTransaction() { - } - - @Override - public void lock(Object arg0, LockModeType arg1) { - } - - @Override - public void lock(Object arg0, LockModeType arg1, Map arg2) { - } - - @Override - public T merge(T arg0) { - return null; - } - - @Override - public void persist(Object arg0) { - } - - @Override - public void refresh(Object arg0) { - } - - @Override - public void refresh(Object arg0, Map arg1) { - } - - @Override - public void refresh(Object arg0, LockModeType arg1) { - } - - @Override - public void refresh(Object arg0, LockModeType arg1, Map arg2) { - } - - @Override - public void remove(Object arg0) { - } - - @Override - public void setFlushMode(FlushModeType arg0) { - } - - @Override - public void setProperty(String arg0, Object arg1) { - } - - @Override - public T unwrap(Class arg0) { - return null; - } - - @Override - public boolean equals(Object obj) { - return equals; - } - - public void setEquals(boolean equals) { - this.equals = equals; - } - - @Override - public int hashCode() { - return hashCode; - } - - public void setHashCode(int hash) { - this.hashCode = hash; - } - - @Override - public String toString() { - return toString; - } - - public void setToString(String toString) { - this.toString = toString; - } - -} diff --git a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/EntityManagerProxyTest.java b/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/EntityManagerProxyTest.java deleted file mode 100644 index b8023a2..0000000 --- a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/EntityManagerProxyTest.java +++ /dev/null @@ -1,536 +0,0 @@ -/* - * Demoiselle Framework - * Copyright (C) 2010 SERPRO - * ---------------------------------------------------------------------------- - * This file is part of Demoiselle Framework. - * - * Demoiselle Framework is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License version 3 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License version 3 - * along with this program; if not, see - * or write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. - * ---------------------------------------------------------------------------- - * Este arquivo é parte do Framework Demoiselle. - * - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação - * do Software Livre (FSF). - * - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português - * para maiores detalhes. - * - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título - * "LICENCA.txt", junto com esse programa. Se não, acesse - * ou escreva para a Fundação do Software Livre (FSF) Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. - */ -package br.gov.frameworkdemoiselle.internal.proxy; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.replay; -import static org.easymock.EasyMock.verify; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.powermock.api.easymock.PowerMock.mockStatic; -import static org.powermock.api.easymock.PowerMock.replayAll; - -import java.util.Map; - -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.EntityTransaction; -import javax.persistence.FlushModeType; -import javax.persistence.LockModeType; -import javax.persistence.Query; -import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.metamodel.Metamodel; - -import org.easymock.EasyMock; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; - -import br.gov.frameworkdemoiselle.internal.producer.EntityManagerProducer; -import br.gov.frameworkdemoiselle.internal.producer.FakeEntityManager; -import br.gov.frameworkdemoiselle.util.Beans; - -@RunWith(PowerMockRunner.class) -@PrepareForTest({ Beans.class }) -public class EntityManagerProxyTest { - - private EntityManagerProxy entityManagerProxy; - - private EntityManager entityManager; - - private EntityManagerProducer entityManagerContext; - - @Before - public void setUp() throws Exception { - mockStatic(Beans.class); - this.entityManager = EasyMock.createMock(EntityManager.class); - this.entityManagerContext = EasyMock.createMock(EntityManagerProducer.class); - - expect(Beans.getReference(EntityManagerProducer.class)).andReturn(this.entityManagerContext).anyTimes(); - expect(this.entityManagerContext.getEntityManager("teste")).andReturn(this.entityManager).anyTimes(); - replay(this.entityManagerContext); - //expect(this.entityManager.getTransaction()).andReturn(transaction).anyTimes(); - //replay(this.entityManager); - replayAll(); - - this.entityManagerProxy = new EntityManagerProxy("teste"); - - } - - @Test - public void testJoinTransactionIfNecessaryException() { - this.entityManager.persist("teste"); - expect(this.entityManager.getTransaction()).andThrow(new IllegalStateException()).anyTimes(); - this.entityManager.joinTransaction(); - replay(this.entityManager); - - this.entityManagerProxy.persist("teste"); - verify(this.entityManager); - } - - @Test - public void testPersist() { - this.entityManager.persist("teste"); - expect(this.entityManager.getTransaction()).andReturn(null); - replay(this.entityManager); - this.entityManagerProxy.persist("teste"); - verify(this.entityManager); - } - - @Test - public void testRemove() { - this.entityManager.remove("teste"); - expect(this.entityManager.getTransaction()).andReturn(null); - replay(this.entityManager); - this.entityManagerProxy.remove("teste"); - verify(this.entityManager); - } - - @Test - public void testFlush() { - this.entityManager.flush(); - replay(this.entityManager); - this.entityManagerProxy.flush(); - verify(this.entityManager); - } - - @Test - public void testSetFlushMode() { - FlushModeType flushModeType = null; - this.entityManager.setFlushMode(flushModeType); - replay(this.entityManager); - this.entityManagerProxy.setFlushMode(flushModeType); - verify(this.entityManager); - } - - @Test - public void testLockWithParamsStringAndLockModeType() { - LockModeType lockMode = null; - expect(this.entityManager.getTransaction()).andReturn(null).anyTimes(); - this.entityManager.lock("teste", lockMode); - replay(this.entityManager); - this.entityManagerProxy.lock("teste", lockMode); - verify(this.entityManager); - } - - @Test - public void testLockWithParamsStringLockModeTypeAndMap() { - LockModeType lockMode = null; - Map map = null; - expect(this.entityManager.getTransaction()).andReturn(null).anyTimes(); - this.entityManager.lock("teste", lockMode, map); - replay(this.entityManager); - this.entityManagerProxy.lock("teste", lockMode, map); - verify(this.entityManager); - } - - @Test - public void testRefresh() { - expect(this.entityManager.getTransaction()).andReturn(null).anyTimes(); - this.entityManager.refresh("teste"); - replay(this.entityManager); - this.entityManagerProxy.refresh("teste"); - verify(this.entityManager); - } - - @Test - public void testRefreshWithParamsStringAndMap() { - Map map = null; - expect(this.entityManager.getTransaction()).andReturn(null).anyTimes(); - this.entityManager.refresh("teste", map); - replay(this.entityManager); - this.entityManagerProxy.refresh("teste", map); - verify(this.entityManager); - } - - @Test - public void testRefreshWithParamsStringAndLockModeType() { - LockModeType lockMode = null; - expect(this.entityManager.getTransaction()).andReturn(null).anyTimes(); - this.entityManager.refresh("teste", lockMode); - replay(this.entityManager); - this.entityManagerProxy.refresh("teste", lockMode); - verify(this.entityManager); - } - - @Test - public void testRefreshWithParamsStringLockModeTypeAndMap() { - LockModeType lockMode = null; - Map map = null; - expect(this.entityManager.getTransaction()).andReturn(null).anyTimes(); - this.entityManager.refresh("teste", lockMode, map); - replay(this.entityManager); - this.entityManagerProxy.refresh("teste", lockMode, map); - verify(this.entityManager); - } - - @Test - public void testClear() { - this.entityManager.clear(); - replay(this.entityManager); - this.entityManagerProxy.clear(); - verify(this.entityManager); - } - - @Test - public void testDetach() { - this.entityManager.detach("teste"); - replay(this.entityManager); - this.entityManagerProxy.detach("teste"); - verify(this.entityManager); - } - - @Test - public void testSetProperty() { - this.entityManager.setProperty("teste", "teste"); - replay(this.entityManager); - this.entityManagerProxy.setProperty("teste", "teste"); - verify(this.entityManager); - } - - @Test - public void testJoinTransaction() { - this.entityManager.joinTransaction(); - replay(this.entityManager); - this.entityManagerProxy.joinTransaction(); - verify(this.entityManager); - } - - @Test - public void testClose() { - this.entityManager.close(); - replay(this.entityManager); - this.entityManagerProxy.close(); - verify(this.entityManager); - } - - @Test - public void testMerge() { - expect(this.entityManager.merge("teste")).andReturn("xxx"); - expect(this.entityManager.getTransaction()).andReturn(null); - replay(this.entityManager); - assertEquals("xxx", this.entityManagerProxy.merge("teste")); - verify(this.entityManager); - } - - @Test - public void testFindWithParamsClassAndObject() { - expect(this.entityManager.getTransaction()).andReturn(null).anyTimes(); - expect(this.entityManager.find(String.class, "teste")).andReturn("retorno"); - replay(this.entityManager); - assertEquals("retorno", this.entityManagerProxy.find(String.class, "teste")); - verify(this.entityManager); - } - - @Test - public void testFindWithParamsClassObjectAndMap() { - Map map = null; - expect(this.entityManager.getTransaction()).andReturn(null).anyTimes(); - expect(this.entityManager.find(String.class, "teste", map)).andReturn("retorno"); - replay(this.entityManager); - assertEquals("retorno", this.entityManagerProxy.find(String.class, "teste", map)); - verify(this.entityManager); - } - - @Test - public void testFindWithParamsClassObjectAndLockModeType() { - LockModeType lock = null; - expect(this.entityManager.getTransaction()).andReturn(null).anyTimes(); - expect(this.entityManager.find(String.class, "teste", lock)).andReturn("retorno"); - replay(this.entityManager); - assertEquals("retorno", this.entityManagerProxy.find(String.class, "teste", lock)); - verify(this.entityManager); - } - - @Test - public void testFindWithParamsClassObjectLockModeTypeAndMap() { - Map map = null; - LockModeType lock = null; - expect(this.entityManager.getTransaction()).andReturn(null).anyTimes(); - expect(this.entityManager.find(String.class, "teste", lock, map)).andReturn("retorno"); - replay(this.entityManager); - assertEquals("retorno", this.entityManagerProxy.find(String.class, "teste", lock, map)); - verify(this.entityManager); - } - - @Test - public void testGetReference() { - expect(this.entityManager.getTransaction()).andReturn(null).anyTimes(); - expect(this.entityManager.getReference(String.class, "teste")).andReturn("retorno"); - replay(this.entityManager); - assertEquals("retorno", this.entityManagerProxy.getReference(String.class, "teste")); - verify(this.entityManager); - } - - @Test - public void testGetFlushMode() { - FlushModeType flushModeType = null; - expect(this.entityManager.getFlushMode()).andReturn(flushModeType); - replay(this.entityManager); - assertEquals(flushModeType, this.entityManagerProxy.getFlushMode()); - verify(this.entityManager); - } - - @Test - public void testContains() { - expect(this.entityManager.contains("teste")).andReturn(true); - replay(this.entityManager); - assertTrue(this.entityManagerProxy.contains("teste")); - verify(this.entityManager); - } - - @Test - public void testGetLockMode() { - LockModeType lockModeType = null; - expect(this.entityManager.getTransaction()).andReturn(null).anyTimes(); - expect(this.entityManager.getLockMode("teste")).andReturn(lockModeType); - replay(this.entityManager); - assertEquals(lockModeType, this.entityManagerProxy.getLockMode("teste")); - verify(this.entityManager); - } - - @Test - public void testGetProperties() { - Map map = null; - expect(this.entityManager.getProperties()).andReturn(map); - replay(this.entityManager); - assertEquals(map, this.entityManagerProxy.getProperties()); - verify(this.entityManager); - } - - @Test - public void testCreateQuery() { - Query query = EasyMock.createMock(Query.class); - expect(this.entityManager.createQuery("teste")).andReturn(query); - replay(this.entityManager); - assertTrue(Query.class.isAssignableFrom(this.entityManagerProxy.createQuery("teste").getClass()) ); - verify(this.entityManager); - } - - @Test - public void testCreateQueryWithParamCriteria() { - @SuppressWarnings("unchecked") - TypedQuery typedQuery = EasyMock.createMock(TypedQuery.class); - - CriteriaQuery criteriaQuery = null; - expect(this.entityManager.createQuery(criteriaQuery)).andReturn(typedQuery); - replay(this.entityManager); - assertTrue(TypedQuery.class.isAssignableFrom(this.entityManagerProxy.createQuery(criteriaQuery).getClass())); - verify(this.entityManager); - } - - @Test - public void testCreateQueryWithParamStringAndClass() { - @SuppressWarnings("unchecked") - TypedQuery typeQuery = EasyMock.createMock(TypedQuery.class); - - expect(this.entityManager.createQuery("teste", String.class)).andReturn(typeQuery); - replay(this.entityManager); - assertTrue(TypedQuery.class.isAssignableFrom(this.entityManagerProxy.createQuery("teste", String.class).getClass())); - verify(this.entityManager); - } - - @Test - public void testCreateNamedQuery() { - Query query = EasyMock.createMock(Query.class); - expect(this.entityManager.createNamedQuery("teste")).andReturn(query); - replay(this.entityManager); - assertTrue(Query.class.isAssignableFrom(this.entityManagerProxy.createNamedQuery("teste").getClass())); - verify(this.entityManager); - } - - @Test - public void testCreateNamedQueryWithParamsStringAndClass() { - @SuppressWarnings("unchecked") - TypedQuery typedQuery = EasyMock.createMock(TypedQuery.class); - expect(this.entityManager.createNamedQuery("teste", String.class)).andReturn(typedQuery); - replay(this.entityManager); - assertEquals(typedQuery, this.entityManagerProxy.createNamedQuery("teste", String.class)); - verify(this.entityManager); - } - - @Test - public void testCreateNativeQuery() { - Query query = null; - expect(this.entityManager.createNativeQuery("teste")).andReturn(query); - replay(this.entityManager); - assertEquals(QueryProxy.class, this.entityManagerProxy.createNativeQuery("teste").getClass()); - verify(this.entityManager); - } - - @Test - public void testCreateNativeQueryWithParamsStringAndClass() { - Query query = null; - expect(this.entityManager.createNativeQuery("teste", String.class)).andReturn(query); - replay(this.entityManager); - assertEquals(QueryProxy.class, this.entityManagerProxy.createNativeQuery("teste", String.class).getClass()); - verify(this.entityManager); - } - - @Test - public void testCreateNativeQueryWithParamsStringAndString() { - Query query = null; - expect(this.entityManager.createNativeQuery("teste", "teste")).andReturn(query); - replay(this.entityManager); - assertEquals(QueryProxy.class, this.entityManagerProxy.createNativeQuery("teste", "teste").getClass()); - verify(this.entityManager); - } - - @Test - public void testUnwrap() { - String query = null; - expect(this.entityManager.unwrap(String.class)).andReturn(query); - replay(this.entityManager); - assertEquals(query, this.entityManagerProxy.unwrap(String.class)); - verify(this.entityManager); - } - - @Test - public void testGetDelegate() { - Object obj = null; - expect(this.entityManager.getDelegate()).andReturn(obj); - replay(this.entityManager); - assertEquals(obj, this.entityManagerProxy.getDelegate()); - verify(this.entityManager); - } - - @Test - public void testIsOpen() { - expect(this.entityManager.isOpen()).andReturn(true); - replay(this.entityManager); - assertTrue(this.entityManagerProxy.isOpen()); - verify(this.entityManager); - } - - @Test - public void testGetTransaction() { - EntityTransaction entityTransaction = null; - expect(this.entityManager.getTransaction()).andReturn(entityTransaction); - replay(this.entityManager); - assertEquals(entityTransaction, this.entityManagerProxy.getTransaction()); - verify(this.entityManager); - } - - @Test - public void testGetEntityManagerFactory() { - EntityManagerFactory entityManagerFactory = null; - expect(this.entityManager.getEntityManagerFactory()).andReturn(entityManagerFactory); - replay(this.entityManager); - assertEquals(entityManagerFactory, this.entityManagerProxy.getEntityManagerFactory()); - verify(this.entityManager); - } - - @Test - public void testGetCriteriaBuilder() { - CriteriaBuilder criteriaBuilder = null; - expect(this.entityManager.getCriteriaBuilder()).andReturn(criteriaBuilder); - replay(this.entityManager); - assertEquals(criteriaBuilder, this.entityManagerProxy.getCriteriaBuilder()); - verify(this.entityManager); - } - - @Test - public void testGetMetamodel() { - Metamodel metamodel = null; - expect(this.entityManager.getMetamodel()).andReturn(metamodel); - replay(this.entityManager); - assertEquals(metamodel, this.entityManagerProxy.getMetamodel()); - verify(this.entityManager); - } - - @Test - public void testEquals() { - Object obj = null; - - mockStatic(Beans.class); - // Method "equals" can't be mocked... - EntityManager em = new FakeEntityManager(); - ((FakeEntityManager) em).setEquals(true); - - this.entityManagerContext = EasyMock.createMock(EntityManagerProducer.class); - expect(this.entityManagerContext.getEntityManager("teste")).andReturn(em).anyTimes(); - - expect(Beans.getReference(EntityManagerProducer.class)).andReturn(this.entityManagerContext).anyTimes(); - replay(this.entityManagerContext); - replayAll(); - - EntityManagerProxy emp = new EntityManagerProxy("teste"); - - assertTrue(emp.equals(obj)); - } - - @Test - public void testHashCode() { - mockStatic(Beans.class); - // Method "hashCode" can't be mocked... - EntityManager em = new FakeEntityManager(); - ((FakeEntityManager) em).setHashCode(1); - - this.entityManagerContext = EasyMock.createMock(EntityManagerProducer.class); - expect(this.entityManagerContext.getEntityManager("teste")).andReturn(em).anyTimes(); - - expect(Beans.getReference(EntityManagerProducer.class)).andReturn(this.entityManagerContext).anyTimes(); - replay(this.entityManagerContext); - replayAll(); - - EntityManagerProxy emp = new EntityManagerProxy("teste"); - - assertEquals(1, emp.hashCode()); - } - - @Test - public void testToString() { - mockStatic(Beans.class); - // Method "toString" can't be mocked... - EntityManager em = new FakeEntityManager(); - ((FakeEntityManager) em).setToString("testing"); - - this.entityManagerContext = EasyMock.createMock(EntityManagerProducer.class); - expect(this.entityManagerContext.getEntityManager("teste")).andReturn(em).anyTimes(); - - expect(Beans.getReference(EntityManagerProducer.class)).andReturn(this.entityManagerContext).anyTimes(); - replay(this.entityManagerContext); - replayAll(); - - EntityManagerProxy emp = new EntityManagerProxy("teste"); - - assertEquals("testing", emp.toString()); - } -} diff --git a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/QueryProxyTest.java b/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/QueryProxyTest.java deleted file mode 100644 index 03892a9..0000000 --- a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/QueryProxyTest.java +++ /dev/null @@ -1,294 +0,0 @@ -/* - * Demoiselle Framework - * Copyright (C) 2010 SERPRO - * ---------------------------------------------------------------------------- - * This file is part of Demoiselle Framework. - * - * Demoiselle Framework is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License version 3 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License version 3 - * along with this program; if not, see - * or write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. - * ---------------------------------------------------------------------------- - * Este arquivo é parte do Framework Demoiselle. - * - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação - * do Software Livre (FSF). - * - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português - * para maiores detalhes. - * - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título - * "LICENCA.txt", junto com esse programa. Se não, acesse - * ou escreva para a Fundação do Software Livre (FSF) Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. - */ -package br.gov.frameworkdemoiselle.internal.proxy; - -import static junit.framework.Assert.assertTrue; -import static org.easymock.EasyMock.expect; -import static org.junit.Assert.assertEquals; -import static org.powermock.api.easymock.PowerMock.replay; -import static org.powermock.api.easymock.PowerMock.verifyAll; - -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.FlushModeType; -import javax.persistence.LockModeType; -import javax.persistence.Parameter; -import javax.persistence.Persistence; -import javax.persistence.Query; -import javax.persistence.TemporalType; - -import org.easymock.EasyMock; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.easymock.PowerMock; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.reflect.Whitebox; - -import br.gov.frameworkdemoiselle.domain.Client; -import br.gov.frameworkdemoiselle.internal.producer.EntityManagerProducer; -import br.gov.frameworkdemoiselle.util.Beans; - -/** - * Test the proxied {@link Query} class, {@link QueryProxy}. - * - * @author 81986912515 - */ -@RunWith(PowerMockRunner.class) -@PrepareForTest({ Beans.class }) -public class QueryProxyTest { - - private EntityManager manager; - - private EntityManagerProducer producer; - - private QueryProxy queryProxy; - - @Before - public void setUp() { - - Map configOverrides = new HashMap(); - configOverrides.put("javax.persistence.provider", "org.hibernate.ejb.HibernatePersistence"); - - configOverrides.put("javax.persistence.jdbc.url", "jdbc:hsqldb:mem:."); - configOverrides.put("javax.persistence.jdbc.driver", "org.hsqldb.jdbcDriver"); - configOverrides.put("javax.persistence.jdbc.user", "sa"); - configOverrides.put("javax.persistence.jdbc.password", ""); - - configOverrides.put("hibernate.show_sql", "true"); - configOverrides.put("hibernate.hbm2ddl.auto", "create-drop"); - - EntityManagerFactory factory = Persistence.createEntityManagerFactory("pu1", configOverrides); - EntityManager delegate = factory.createEntityManager(); - - Map cache = Collections.synchronizedMap(new HashMap()); - cache.put("pu1", delegate); - - producer = new EntityManagerProducer(); - Whitebox.setInternalState(producer, "cache", cache); - - PowerMock.mockStatic(Beans.class); - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).anyTimes(); - PowerMock.replayAll(); - - manager = new EntityManagerProxy("pu1"); - } - - @Test - public void testGetResultList() { - Query queryDelegate = PowerMock.createMock(Query.class); - List result = new ArrayList(); - result.add("x"); - EasyMock.expect(queryDelegate.getResultList()).andReturn(result).anyTimes(); - - replay(queryDelegate); - - queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager); - queryProxy.getResultList(); - assertEquals(queryProxy.getResultList().size(), queryDelegate.getResultList().size()); - - verifyAll(); - } - - @Test - public void testSingleResult() { - Query queryDelegate = PowerMock.createMock(Query.class); - String result = "Resultado"; - EasyMock.expect(queryDelegate.getSingleResult()).andReturn(result).anyTimes(); - - replay(queryDelegate); - - queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager); - assertEquals(queryProxy.getSingleResult(), queryDelegate.getSingleResult()); - - verifyAll(); - } - - @Test - public void testExecuteUpdate() { - Query queryDelegate = PowerMock.createMock(Query.class); - EasyMock.expect(queryDelegate.executeUpdate()).andReturn(1).anyTimes(); - - replay(queryDelegate); - - queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager); - assertEquals(queryProxy.executeUpdate(), 1); - - verifyAll(); - } - - @Test - public void testPagination() { - Query queryDelegate = PowerMock.createMock(Query.class); - expect(queryDelegate.getMaxResults()).andReturn(4).times(2); - expect(queryDelegate.getFirstResult()).andReturn(2).times(2); - expect(queryDelegate.setMaxResults(EasyMock.anyInt())).andReturn(queryDelegate); - expect(queryDelegate.setFirstResult(EasyMock.anyInt())).andReturn(queryDelegate); - replay(queryDelegate); - - queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager); - queryProxy.setMaxResults(4); - queryProxy.setFirstResult(2); - assertEquals(queryProxy.getMaxResults(), queryDelegate.getMaxResults()); - assertEquals(queryProxy.getFirstResult(), queryDelegate.getFirstResult()); - - verifyAll(); - } - - @Test - public void testHint() { - Query queryDelegate = PowerMock.createMock(Query.class); - Map map = new HashMap(); - Client client = new Client(); - map.put("1", client); - expect(queryDelegate.getHints()).andReturn(map).times(2); - expect(queryDelegate.setHint(EasyMock.anyObject(String.class), EasyMock.anyObject())).andReturn(queryDelegate); - replay(queryDelegate); - - queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager); - queryProxy.setHint("1", client); - assertEquals(queryProxy.getHints(), queryDelegate.getHints()); - - verifyAll(); - } - - @SuppressWarnings({ "unused", "rawtypes", "unchecked" }) - @Test - public void testParameters() { - Query queryDelegate = PowerMock.createMock(Query.class); - Date dateValue = new Date(); - Calendar calendar = PowerMock.createMock(Calendar.class); - Class type = Date.class; - Parameter parameter = PowerMock.createMock(Parameter.class); - - expect(queryDelegate.setParameter(EasyMock.anyObject(String.class), EasyMock.anyObject(String.class))) - .andReturn(queryDelegate); - expect(queryDelegate.getParameterValue(EasyMock.anyObject(String.class))).andReturn("Named Parameter") - .anyTimes(); - expect(queryDelegate.setParameter(EasyMock.anyInt(), EasyMock.anyObject(String.class))) - .andReturn(queryDelegate); - expect(queryDelegate.getParameterValue(EasyMock.anyInt())).andReturn("Client").anyTimes(); - expect( - queryDelegate.setParameter(EasyMock.anyObject(String.class), EasyMock.anyObject(Date.class), - EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate); - expect( - queryDelegate.setParameter(EasyMock.anyInt(), EasyMock.anyObject(Date.class), - EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate); - expect(queryDelegate.setParameter(EasyMock.anyObject(Parameter.class), EasyMock.anyObject())).andReturn( - queryDelegate); - expect(queryDelegate.getParameterValue(EasyMock.anyObject(Parameter.class))).andReturn(parameter).anyTimes(); - expect( - queryDelegate.setParameter(EasyMock.anyObject(String.class), EasyMock.anyObject(Calendar.class), - EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate); - expect( - queryDelegate.setParameter(EasyMock.anyInt(), EasyMock.anyObject(Calendar.class), - EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate); - - replay(queryDelegate, parameter, calendar); - - queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager); - queryProxy.setParameter("name", "Named Parameter"); - assertEquals(queryProxy.getParameterValue("name"), queryDelegate.getParameterValue("name")); - queryProxy.setParameter(1, "Client"); - assertEquals(queryProxy.getParameterValue("1"), queryDelegate.getParameterValue("1")); - queryProxy.setParameter("dateName", dateValue, TemporalType.DATE); - queryProxy.setParameter(2, dateValue, TemporalType.DATE); - queryProxy.setParameter(parameter, "X"); - queryProxy.getParameterValue(parameter); - assertEquals(queryProxy.getParameterValue(parameter), parameter); - queryProxy.setParameter("dateName", calendar, TemporalType.DATE); - queryProxy.setParameter(2, calendar, TemporalType.DATE); - - verifyAll(); - } - - @SuppressWarnings("rawtypes") - @Test - public void testIsBound() { - Query queryDelegate = PowerMock.createMock(Query.class); - Parameter parameter = PowerMock.createMock(Parameter.class); - expect(queryDelegate.isBound(EasyMock.anyObject(Parameter.class))).andReturn(true); - - replay(queryDelegate, parameter); - - queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager); - assertTrue(queryProxy.isBound(parameter)); - - verifyAll(); - } - - @Test - public void testFlushMode() { - Query queryDelegate = PowerMock.createMock(Query.class); - FlushModeType flushModeType = FlushModeType.AUTO; - - expect(queryDelegate.setFlushMode(FlushModeType.AUTO)).andReturn(queryDelegate); - expect(queryDelegate.getFlushMode()).andReturn(flushModeType).anyTimes(); - - replay(queryDelegate); - - queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager); - queryProxy.setFlushMode(FlushModeType.AUTO); - assertEquals(queryProxy.getFlushMode(), queryDelegate.getFlushMode()); - verifyAll(); - } - - @Test - public void testLockMode() { - Query queryDelegate = PowerMock.createMock(Query.class); - LockModeType lockModeType = LockModeType.OPTIMISTIC; - - expect(queryDelegate.setLockMode(lockModeType)).andReturn(queryDelegate); - expect(queryDelegate.getLockMode()).andReturn(lockModeType).anyTimes(); - - replay(queryDelegate); - - queryProxy = new QueryProxy(queryDelegate, (EntityManagerProxy) manager); - queryProxy.setLockMode(lockModeType); - assertEquals(queryProxy.getLockMode(), queryDelegate.getLockMode()); - verifyAll(); - } -} diff --git a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/TypedQueryProxyTest.java b/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/TypedQueryProxyTest.java deleted file mode 100644 index 8b25072..0000000 --- a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/TypedQueryProxyTest.java +++ /dev/null @@ -1,258 +0,0 @@ -package br.gov.frameworkdemoiselle.internal.proxy; - -import static junit.framework.Assert.assertTrue; -import static org.easymock.EasyMock.expect; -import static org.junit.Assert.assertEquals; -import static org.powermock.api.easymock.PowerMock.replay; -import static org.powermock.api.easymock.PowerMock.verifyAll; - -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.FlushModeType; -import javax.persistence.LockModeType; -import javax.persistence.Parameter; -import javax.persistence.Persistence; -import javax.persistence.Query; -import javax.persistence.TemporalType; -import javax.persistence.TypedQuery; - -import org.easymock.EasyMock; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.easymock.PowerMock; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.reflect.Whitebox; - -import br.gov.frameworkdemoiselle.domain.Client; -import br.gov.frameworkdemoiselle.internal.producer.EntityManagerProducer; -import br.gov.frameworkdemoiselle.util.Beans; - -/** - * Test the proxied {@link Query} class, {@link TypedQueryProxy}. - * - * @author 81986912515 - * @param - */ - -@SuppressWarnings("rawtypes") -@RunWith(PowerMockRunner.class) -@PrepareForTest({ Beans.class }) -public class TypedQueryProxyTest { - - private EntityManager manager; - - private EntityManagerProducer producer; - - private TypedQueryProxy typedQueryProxy; - - @Before - public void setUp() { - - Map configOverrides = new HashMap(); - configOverrides.put("javax.persistence.provider", "org.hibernate.ejb.HibernatePersistence"); - - configOverrides.put("javax.persistence.jdbc.url", "jdbc:hsqldb:mem:."); - configOverrides.put("javax.persistence.jdbc.driver", "org.hsqldb.jdbcDriver"); - configOverrides.put("javax.persistence.jdbc.user", "sa"); - configOverrides.put("javax.persistence.jdbc.password", ""); - - configOverrides.put("hibernate.show_sql", "true"); - configOverrides.put("hibernate.hbm2ddl.auto", "create-drop"); - - EntityManagerFactory factory = Persistence.createEntityManagerFactory("pu1", configOverrides); - EntityManager delegate = factory.createEntityManager(); - - Map cache = Collections.synchronizedMap(new HashMap()); - cache.put("pu1", delegate); - - producer = new EntityManagerProducer(); - Whitebox.setInternalState(producer, "cache", cache); - - PowerMock.mockStatic(Beans.class); - EasyMock.expect(Beans.getReference(EntityManagerProducer.class)).andReturn(producer).anyTimes(); - PowerMock.replayAll(); - - manager = new EntityManagerProxy("pu1"); - - // PowerMock.resetAll(); - } - - @SuppressWarnings("unchecked") - @Test - public void testResultList() { - - TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class); - List result = new ArrayList(); - result.add("x"); - EasyMock.expect(queryDelegate.getResultList()).andReturn(result).anyTimes(); - - replay(queryDelegate); - - typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager); - assertEquals(typedQueryProxy.getResultList().size(), queryDelegate.getResultList().size()); - - verifyAll(); - } - - @SuppressWarnings("unchecked") - @Test - public void testSingleResult() { - TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class); - String result = "Resultado"; - EasyMock.expect(queryDelegate.getSingleResult()).andReturn(result).anyTimes(); - - replay(queryDelegate); - - typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager); - assertEquals(typedQueryProxy.getSingleResult(), queryDelegate.getSingleResult()); - - verifyAll(); - } - - @SuppressWarnings("unchecked") - @Test - public void testPagination() { - TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class); - expect(queryDelegate.getMaxResults()).andReturn(4).times(2); - expect(queryDelegate.getFirstResult()).andReturn(2).times(2); - expect(queryDelegate.setMaxResults(EasyMock.anyInt())).andReturn(queryDelegate); - expect(queryDelegate.setFirstResult(EasyMock.anyInt())).andReturn(queryDelegate); - replay(queryDelegate); - - typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager); - typedQueryProxy.setMaxResults(4); - typedQueryProxy.setFirstResult(2); - assertEquals(typedQueryProxy.getMaxResults(), queryDelegate.getMaxResults()); - assertEquals(typedQueryProxy.getFirstResult(), queryDelegate.getFirstResult()); - - verifyAll(); - } - - @SuppressWarnings("unchecked") - @Test - public void testHint() { - TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class); - Map map = new HashMap(); - Client client = new Client(); - map.put("1", client); - expect(queryDelegate.getHints()).andReturn(map).times(2); - expect(queryDelegate.setHint(EasyMock.anyObject(String.class), EasyMock.anyObject())).andReturn(queryDelegate); - replay(queryDelegate); - - typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager); - typedQueryProxy.setHint("1", client); - assertEquals(typedQueryProxy.getHints(), queryDelegate.getHints()); - - verifyAll(); - } - - @SuppressWarnings({ "unchecked", "unused" }) - @Test - public void testParameters() { - TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class); - Date dateValue = new Date(); - Calendar calendar = PowerMock.createMock(Calendar.class); - Class type = Date.class; - Parameter parameter = PowerMock.createMock(Parameter.class); - - expect(queryDelegate.setParameter(EasyMock.anyObject(String.class), EasyMock.anyObject(String.class))) - .andReturn(queryDelegate); - expect(queryDelegate.getParameterValue(EasyMock.anyObject(String.class))).andReturn("Named Parameter") - .anyTimes(); - expect(queryDelegate.setParameter(EasyMock.anyInt(), EasyMock.anyObject(String.class))) - .andReturn(queryDelegate); - expect(queryDelegate.getParameterValue(EasyMock.anyInt())).andReturn("Client").anyTimes(); - expect( - queryDelegate.setParameter(EasyMock.anyObject(String.class), EasyMock.anyObject(Date.class), - EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate); - expect( - queryDelegate.setParameter(EasyMock.anyInt(), EasyMock.anyObject(Date.class), - EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate); - expect(queryDelegate.setParameter(EasyMock.anyObject(Parameter.class), EasyMock.anyObject())).andReturn( - queryDelegate); - expect(queryDelegate.getParameterValue(EasyMock.anyObject(Parameter.class))).andReturn(parameter).anyTimes(); - expect( - queryDelegate.setParameter(EasyMock.anyObject(String.class), EasyMock.anyObject(Calendar.class), - EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate); - expect( - queryDelegate.setParameter(EasyMock.anyInt(), EasyMock.anyObject(Calendar.class), - EasyMock.anyObject(TemporalType.class))).andReturn(queryDelegate); - - replay(queryDelegate, parameter, calendar); - - typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager); - typedQueryProxy.setParameter("name", "Named Parameter"); - assertEquals(typedQueryProxy.getParameterValue("name"), queryDelegate.getParameterValue("name")); - typedQueryProxy.setParameter(1, "Client"); - assertEquals(typedQueryProxy.getParameterValue("1"), queryDelegate.getParameterValue("1")); - typedQueryProxy.setParameter("dateName", dateValue, TemporalType.DATE); - typedQueryProxy.setParameter(2, dateValue, TemporalType.DATE); - typedQueryProxy.setParameter(parameter, "X"); - typedQueryProxy.getParameterValue(parameter); - assertEquals(typedQueryProxy.getParameterValue(parameter), parameter); - typedQueryProxy.setParameter("dateName", calendar, TemporalType.DATE); - typedQueryProxy.setParameter(2, calendar, TemporalType.DATE); - - verifyAll(); - } - - @SuppressWarnings("unchecked") - @Test - public void testIsBound() { - TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class); - Parameter parameter = PowerMock.createMock(Parameter.class); - expect(queryDelegate.isBound(EasyMock.anyObject(Parameter.class))).andReturn(true); - - replay(queryDelegate, parameter); - - typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager); - assertTrue(typedQueryProxy.isBound(parameter)); - - verifyAll(); - } - - @SuppressWarnings("unchecked") - @Test - public void testFlushMode() { - TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class); - FlushModeType flushModeType = FlushModeType.AUTO; - - expect(queryDelegate.setFlushMode(FlushModeType.AUTO)).andReturn(queryDelegate); - expect(queryDelegate.getFlushMode()).andReturn(flushModeType).anyTimes(); - - replay(queryDelegate); - - typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager); - typedQueryProxy.setFlushMode(FlushModeType.AUTO); - assertEquals(typedQueryProxy.getFlushMode(), queryDelegate.getFlushMode()); - verifyAll(); - } - - @SuppressWarnings("unchecked") - @Test - public void testLockMode() { - TypedQuery queryDelegate = PowerMock.createMock(TypedQuery.class); - LockModeType lockModeType = LockModeType.OPTIMISTIC; - - expect(queryDelegate.setLockMode(lockModeType)).andReturn(queryDelegate); - expect(queryDelegate.getLockMode()).andReturn(lockModeType).anyTimes(); - - replay(queryDelegate); - - typedQueryProxy = new TypedQueryProxy(queryDelegate, (EntityManagerProxy) manager); - typedQueryProxy.setLockMode(lockModeType); - assertEquals(typedQueryProxy.getLockMode(), queryDelegate.getLockMode()); - verifyAll(); - } - -} diff --git a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/template/JPACrudTest.java b/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/template/JPACrudTest.java deleted file mode 100644 index 4524c17..0000000 --- a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/template/JPACrudTest.java +++ /dev/null @@ -1,434 +0,0 @@ -/* - * Demoiselle Framework - * Copyright (C) 2010 SERPRO - * ---------------------------------------------------------------------------- - * This file is part of Demoiselle Framework. - * - * Demoiselle Framework is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License version 3 - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License version 3 - * along with this program; if not, see - * or write to the Free Software Foundation, Inc., 51 Franklin Street, - * Fifth Floor, Boston, MA 02110-1301, USA. - * ---------------------------------------------------------------------------- - * Este arquivo é parte do Framework Demoiselle. - * - * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou - * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação - * do Software Livre (FSF). - * - * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA - * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou - * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português - * para maiores detalhes. - * - * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título - * "LICENCA.txt", junto com esse programa. Se não, acesse - * ou escreva para a Fundação do Software Livre (FSF) Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. - */ -package br.gov.frameworkdemoiselle.template; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.replay; -import static org.easymock.EasyMock.verify; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; -import static org.powermock.api.easymock.PowerMock.replayAll; -import static org.powermock.api.easymock.PowerMock.verifyAll; -import static org.powermock.reflect.Whitebox.setInternalState; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.enterprise.inject.Instance; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.Persistence; -import javax.persistence.Query; -import javax.persistence.TransactionRequiredException; -import javax.persistence.TypedQuery; -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Predicate; -import javax.persistence.criteria.Root; - -import junit.framework.Assert; - -import org.easymock.EasyMock; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.powermock.api.easymock.PowerMock; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.powermock.reflect.Whitebox; - -import br.gov.frameworkdemoiselle.DemoiselleException; -import br.gov.frameworkdemoiselle.configuration.Configuration; -import br.gov.frameworkdemoiselle.domain.Contact; -import br.gov.frameworkdemoiselle.internal.implementation.PaginationImpl; -import br.gov.frameworkdemoiselle.pagination.Pagination; -import br.gov.frameworkdemoiselle.pagination.PaginationContext; -import br.gov.frameworkdemoiselle.util.Beans; -import br.gov.frameworkdemoiselle.util.ResourceBundle; - -@RunWith(PowerMockRunner.class) -@PrepareForTest({ ResourceBundle.class, Instance.class, Beans.class }) -public class JPACrudTest { - - private EntityManager entityManager; - - private Contact contact; - - private ContactDAO contactDAO; - - class ContactDAO extends JPACrud { - - private static final long serialVersionUID = 1L; - - } - - @Before - public void setUp() throws Exception { - this.entityManager = EasyMock.createMock(EntityManager.class); - this.contact = new Contact(); - this.contactDAO = new ContactDAO(); - setInternalState(this.contactDAO, EntityManager.class, this.entityManager); - } - - @Test - public void testDelete() { - expect(this.entityManager.getReference(Contact.class, null)).andReturn(null); - this.entityManager.remove(null); - replay(this.entityManager); - this.contactDAO.delete(this.contact.getId()); - verify(this.entityManager); - } - - private TypedQuery makeTypedQuery() { - @SuppressWarnings("unchecked") - TypedQuery typeQuery = EasyMock.createMock(TypedQuery.class); - expect(typeQuery.setFirstResult(EasyMock.anyInt())).andReturn(null); - expect(typeQuery.setMaxResults(EasyMock.anyInt())).andReturn(null); - expect(typeQuery.getResultList()).andReturn(createContacts(1)); - return typeQuery; - } - - @Test - public void testCountAll() { - - Pagination pagination = new PaginationImpl(); - pagination.setPageSize(10); - setInternalState(this.contactDAO, "pagination", pagination); - - TypedQuery typeQuery = makeTypedQuery(); - - Query query = EasyMock.createMock(Query.class); - expect(query.getSingleResult()).andReturn(10L); - - expect(this.entityManager.createQuery("select this from Contact this", Contact.class)).andReturn(typeQuery); - //expect(this.entityManager.createQuery("SELECT COUNT(THIS) FROM CONTACT THIS")).andReturn(query); - expect(this.entityManager.createQuery("select COUNT(this) from Contact this")).andReturn(query); - - replayAll(typeQuery, query, this.entityManager); - - List find = this.contactDAO.findAll(); - - assertEquals(1, find.size()); - assertTrue(find.iterator().next().getId().equals(1L)); - - verifyAll(); - } - - @Test - public void testFailCountAll() { - - Pagination pagination = new PaginationImpl(); - setInternalState(this.contactDAO, "pagination", pagination); - - TypedQuery typeQuery = makeTypedQuery(); - - Query query = EasyMock.createMock(Query.class); - - expect(query.getSingleResult()).andThrow(new DemoiselleException("")); - expect(this.entityManager.createQuery("select this from Contact this", Contact.class)).andReturn(typeQuery); - expect(this.entityManager.createQuery("select COUNT(this) from Contact this")).andReturn(query); - - replayAll(query, this.entityManager); - - try { - this.contactDAO.findAll(); - fail(); - } catch (DemoiselleException exception) { - } - - verifyAll(); - } - - @SuppressWarnings("unchecked") - @Test - public void testHandleException() throws Throwable { - try { - TransactionRequiredException throwed = new TransactionRequiredException(); - ResourceBundle bundle = PowerMock.createMock(ResourceBundle.class); - Instance instance = PowerMock.createMock(Instance.class); - expect( - bundle.getString("no-transaction-active", "frameworkdemoiselle.transaction.class", - Configuration.DEFAULT_RESOURCE)).andReturn("message"); - expect(instance.get()).andReturn(bundle); - setInternalState(contactDAO, "bundle", instance); - replayAll(); - contactDAO.handleException(throwed); - fail(); - } catch (DemoiselleException exception) { - assertEquals(exception.getMessage(), "message"); - } - verifyAll(); - } - - @SuppressWarnings("unchecked") - @Test - public void testFailFindByExample() { - - CriteriaBuilder criteriaBuilder = PowerMock.createMock(CriteriaBuilder.class); - CriteriaQuery criteriaQuery = PowerMock.createMock(CriteriaQuery.class); - Root root = PowerMock.createMock(Root.class); - - expect(this.entityManager.getCriteriaBuilder()).andReturn(criteriaBuilder); - expect(criteriaBuilder.createQuery(Contact.class)).andReturn(criteriaQuery); - expect(criteriaQuery.from(Contact.class)).andReturn(root); - - expect(this.entityManager.createQuery(criteriaQuery)).andThrow(new DemoiselleException("")); - - Predicate predicate = PowerMock.createMock(Predicate.class); - - expect(root.get("id")).andReturn(null); - expect(criteriaBuilder.equal(EasyMock.anyObject(Predicate.class), EasyMock.anyObject())).andReturn(predicate); - expect(criteriaQuery.where(new Predicate[] { EasyMock.anyObject(Predicate.class) })).andReturn(criteriaQuery); - expect(criteriaQuery.select(EasyMock.anyObject(Root.class))).andReturn(criteriaQuery); - - replayAll(criteriaBuilder, criteriaQuery, root, this.entityManager); - - Contact example = new Contact(); - example.setId(1L); - try { - this.contactDAO.findByExample(example); - fail(); - } catch (DemoiselleException ce) { - } - - verifyAll(); - } - - @SuppressWarnings("unchecked") - @Test - public void testFindByExample() { - - TypedQuery typedQuery = EasyMock.createMock(TypedQuery.class); - CriteriaBuilder criteriaBuilder = PowerMock.createMock(CriteriaBuilder.class); - CriteriaQuery criteriaQuery = PowerMock.createMock(CriteriaQuery.class); - Root root = PowerMock.createMock(Root.class); - - expect(this.entityManager.getCriteriaBuilder()).andReturn(criteriaBuilder); - expect(criteriaBuilder.createQuery(Contact.class)).andReturn(criteriaQuery); - expect(criteriaQuery.from(Contact.class)).andReturn(root); - - expect(this.entityManager.createQuery(criteriaQuery)).andReturn(typedQuery); - expect(typedQuery.getResultList()).andReturn(createContacts(1)); - - Predicate predicate = PowerMock.createMock(Predicate.class); - - expect(root.get("id")).andReturn(null); - expect(criteriaBuilder.equal(EasyMock.anyObject(Predicate.class), EasyMock.anyObject())).andReturn(predicate); - expect(criteriaQuery.where(new Predicate[] { EasyMock.anyObject(Predicate.class) })).andReturn(criteriaQuery); - expect(criteriaQuery.select(EasyMock.anyObject(Root.class))).andReturn(criteriaQuery); - - replayAll(typedQuery, criteriaBuilder, criteriaQuery, root, this.entityManager); - - Contact example = new Contact(); - example.setId(1L); - List find = this.contactDAO.findByExample(example); - - assertEquals(1, find.size()); - assertTrue(find.iterator().next().getId().equals(1L)); - - verifyAll(); - } - - @Test - public void testFindAll() { - - Pagination pagination = new PaginationImpl(); - pagination.setPageSize(10); - setInternalState(this.contactDAO, "pagination", pagination); - - TypedQuery typeQuery = makeTypedQuery(); - - Query query = EasyMock.createMock(Query.class); - expect(query.getSingleResult()).andReturn(10L); - - expect(this.entityManager.createQuery("select this from Contact this", Contact.class)).andReturn(typeQuery); - expect(this.entityManager.createQuery("select COUNT(this) from Contact this")).andReturn(query); - - replayAll(typeQuery, query, this.entityManager); - - List find = this.contactDAO.findAll(); - - assertEquals(1, find.size()); - assertTrue(find.iterator().next().getId().equals(1L)); - - verifyAll(); - } - - @Test - public void testFailFindAll() { - - PaginationContext actualContext = PowerMock.createMock(PaginationContext.class); - expect(actualContext.getPagination(Contact.class)).andReturn(null); - /*@SuppressWarnings("unchecked") - Instance paginationContext = PowerMock.createMock(Instance.class); - expect(paginationContext.get()).andReturn(actualContext);*/ - - PowerMock.mockStatic(Beans.class); - expect(Beans.getReference(PaginationContext.class)).andReturn(actualContext); - - @SuppressWarnings("unchecked") - TypedQuery typeQuery = EasyMock.createMock(TypedQuery.class); - expect(typeQuery.getResultList()).andThrow(new DemoiselleException("")); - - Query query = EasyMock.createMock(Query.class); - expect(this.entityManager.createQuery("select this from Contact this", Contact.class)).andReturn(typeQuery); - - replayAll(typeQuery, query, this.entityManager); - - try { - this.contactDAO.findAll(); - fail(); - } catch (DemoiselleException exception) { - } - - verifyAll(); - } - - private List createContacts(int quantity) { - List contacts = new ArrayList(); - for (int i = 0; i < quantity; i++) { - Contact contact = new Contact(); - contact.setId((long) quantity); - contacts.add(contact); - } - return contacts; - } - - @Test - public void testFailInsert() { - this.entityManager.persist(null); - EasyMock.expectLastCall().andThrow(new DemoiselleException("")); - replay(this.entityManager); - try { - this.contactDAO.insert(null); - fail(); - } catch (DemoiselleException exc) { - } - verify(this.entityManager); - } - - @Test - public void testInsert() { - this.entityManager.persist(this.contact); - replay(this.entityManager); - setInternalState(this.contactDAO, EntityManager.class, this.entityManager); - this.contactDAO.insert(this.contact); - verify(this.entityManager); - } - - @Test - public void testLoad() { - Contact contact = new Contact(); - expect(this.entityManager.find(Contact.class, 1L)).andReturn(contact); - replay(this.entityManager); - Contact returnedContact = this.contactDAO.load(1L); - assertEquals(contact.hashCode(), returnedContact.hashCode()); - verify(this.entityManager); - } - - @Test - public void testFailLoad() { - expect(this.entityManager.find(Contact.class, 1L)).andThrow(new DemoiselleException("")); - replay(this.entityManager); - try { - this.contactDAO.load(1L); - fail(); - } catch (DemoiselleException exc) { - } - verify(this.entityManager); - } - - @Test - public void testUpdate() { - expect(this.entityManager.merge(this.contact)).andReturn(null); - replay(this.entityManager); - setInternalState(this.contactDAO, EntityManager.class, this.entityManager); - this.contactDAO.update(this.contact); - verify(this.entityManager); - } - - @Test - public void testFailUpdate() { - this.entityManager.merge(null); - EasyMock.expectLastCall().andThrow(new DemoiselleException("")); - replay(this.entityManager); - try { - this.contactDAO.update(null); - fail(); - } catch (DemoiselleException exc) { - } - verify(this.entityManager); - } - - /** - * Test if the JPACrud will correctly obtain a new entity manager the first - * time it is called and the entity manager is still null. - */ - @Test - public void testCreateEntityManagerIfNotExist(){ - PowerMock.mockStatic(Beans.class); - expect(Beans.getReference(EntityManager.class)).andReturn(entityManager); - PowerMock.replay(Beans.class); - - setInternalState(this.contactDAO, EntityManager.class, (EntityManager)null); - Assert.assertNotNull(this.contactDAO.getEntityManager()); - } - - @Test - public void testCriteriaQuery(){ - Map configOverrides = new HashMap(); - configOverrides.put("javax.persistence.provider", "org.hibernate.ejb.HibernatePersistence"); - configOverrides.put("javax.persistence.jdbc.url", "jdbc:hsqldb:hsql:."); - configOverrides.put("hibernate.show_sql", "true"); - configOverrides.put("hibernate.hbm2ddl.auto", "create-drop"); - - EntityManagerFactory factory = Persistence.createEntityManagerFactory("pu1", configOverrides); - this.entityManager = factory.createEntityManager(); - Whitebox.setInternalState(this.contactDAO, EntityManager.class, (EntityManager)null); - - PowerMock.mockStatic(Beans.class); - expect(Beans.getReference(EntityManager.class)).andReturn(entityManager); - PowerMock.replay(Beans.class); - - CriteriaQuery query = this.contactDAO.createCriteriaQuery(); - query.select( query.from(Contact.class) ); - - } - -} diff --git a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/transaction/JPATransactionTest.java b/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/transaction/JPATransactionTest.java deleted file mode 100644 index 9f0138c..0000000 --- a/impl/extension/jpa/src/test/java/br/gov/frameworkdemoiselle/transaction/JPATransactionTest.java +++ /dev/null @@ -1,222 +0,0 @@ -///* -// * Demoiselle Framework -// * Copyright (C) 2010 SERPRO -// * ---------------------------------------------------------------------------- -// * This file is part of Demoiselle Framework. -// * -// * Demoiselle Framework is free software; you can redistribute it and/or -// * modify it under the terms of the GNU Lesser General Public License version 3 -// * as published by the Free Software Foundation. -// * -// * This program is distributed in the hope that it will be useful, -// * but WITHOUT ANY WARRANTY; without even the implied warranty of -// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// * GNU General Public License for more details. -// * -// * You should have received a copy of the GNU Lesser General Public License version 3 -// * along with this program; if not, see -// * or write to the Free Software Foundation, Inc., 51 Franklin Street, -// * Fifth Floor, Boston, MA 02110-1301, USA. -// * ---------------------------------------------------------------------------- -// * Este arquivo é parte do Framework Demoiselle. -// * -// * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou -// * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação -// * do Software Livre (FSF). -// * -// * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA -// * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou -// * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português -// * para maiores detalhes. -// * -// * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título -// * "LICENCA.txt", junto com esse programa. Se não, acesse -// * ou escreva para a Fundação do Software Livre (FSF) Inc., -// * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. -// */ -package br.gov.frameworkdemoiselle.transaction; -import static org.easymock.EasyMock.createMock; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.replay; -import static org.junit.Assert.assertEquals; -import static org.powermock.api.easymock.PowerMock.replayAll; -import static org.powermock.api.easymock.PowerMock.verifyAll; -import static org.powermock.reflect.Whitebox.setInternalState; - -import java.util.HashMap; -import java.util.Map; - -import javax.persistence.EntityManager; -import javax.persistence.EntityTransaction; - -import org.easymock.EasyMock; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.omg.CORBA.SystemException; - -import br.gov.frameworkdemoiselle.internal.producer.EntityManagerProducer; - -/** - * @author SERPRO - * @see JPATransaction - */ -public class JPATransactionTest { - - private JPATransaction tx; - - private EntityManager em; - - private EntityTransaction et; - - private Map cache; - - private EntityManagerProducer producer; - - @Before - public void setUp() { - et = createMock(EntityTransaction.class); - em = createMock(EntityManager.class); - cache = new HashMap(); - producer = EasyMock.createMock(EntityManagerProducer.class); - - tx = new JPATransaction(); - setInternalState(tx, EntityManagerProducer.class, producer); - } - - @After - public void tearDown() { - tx = null; - em = null; - et = null; - cache = null; - producer = null; - } - - @Test - public void testBegin() throws SystemException { - et.begin(); - expect(et.isActive()).andReturn(false); - expect(em.getTransaction()).andReturn(et).anyTimes(); - cache.put("teste", em); - expect(producer.getCache()).andReturn(cache); - replay(producer); - replayAll(); - replay(em); - replay(et); - - tx.begin(); - verifyAll(); - } - - @Test - public void testCommit() throws Exception { - et.commit(); - expect(et.isActive()).andReturn(true); - expect(em.getTransaction()).andReturn(et).anyTimes(); - cache.put("teste", em); - expect(producer.getCache()).andReturn(cache); - replay(producer); - replayAll(); - replay(em); - replay(et); - - tx.commit(); - verifyAll(); - } - - @Test - public void testRollback() throws Exception { - et.rollback(); - expect(et.isActive()).andReturn(true); - expect(em.getTransaction()).andReturn(et).anyTimes(); - em.clear(); - cache.put("teste", em); - expect(producer.getCache()).andReturn(cache); - replay(producer); - replayAll(); - replay(em); - replay(et); - - tx.rollback(); - verifyAll(); - } - - @Test - public void testSetRollbackOnly() throws Exception { - et.setRollbackOnly(); - expect(et.isActive()).andReturn(true); - expect(em.getTransaction()).andReturn(et).anyTimes(); - cache.put("teste", em); - expect(producer.getCache()).andReturn(cache); - replay(producer); - replayAll(); - replay(em); - replay(et); - - tx.setRollbackOnly(); - verifyAll(); - } - - @Test - public void testIsActiveTrue() throws Exception { - expect(et.isActive()).andReturn(true).anyTimes(); - expect(em.getTransaction()).andReturn(et).anyTimes(); - cache.put("teste", em); - expect(producer.getCache()).andReturn(cache); - replay(producer); - replayAll(); - replay(em); - replay(et); - - assertEquals(true, tx.isActive()); - verifyAll(); - } - - @Test - public void testIsActiveFalse() throws Exception { - expect(et.isActive()).andReturn(false).anyTimes(); - expect(em.getTransaction()).andReturn(et).anyTimes(); - cache.put("teste", em); - expect(producer.getCache()).andReturn(cache); - replay(producer); - replayAll(); - replay(em); - replay(et); - - assertEquals(false, tx.isActive()); - verifyAll(); - } - - @Test - public void testIsMarkedRollbackTrue() throws Exception { - expect(et.isActive()).andReturn(true); - expect(et.getRollbackOnly()).andReturn(true).anyTimes(); - expect(em.getTransaction()).andReturn(et).anyTimes(); - cache.put("teste", em); - expect(producer.getCache()).andReturn(cache); - replay(producer); - replayAll(); - replay(em); - replay(et); - - assertEquals(true, tx.isMarkedRollback()); - verifyAll(); - } - - @Test - public void testIsMarkedRollbackFalse() throws Exception { - expect(et.isActive()).andReturn(true); - expect(et.getRollbackOnly()).andReturn(false).anyTimes(); - expect(em.getTransaction()).andReturn(et).anyTimes(); - cache.put("teste", em); - expect(producer.getCache()).andReturn(cache); - replay(producer); - replayAll(); - replay(em); - replay(et); - - assertEquals(false, tx.isMarkedRollback()); - verifyAll(); - } -} diff --git a/impl/extension/jpa/src/test/resources/META-INF/persistence.xml b/impl/extension/jpa/src/test/resources/META-INF/persistence.xml deleted file mode 100644 index ccc75e6..0000000 --- a/impl/extension/jpa/src/test/resources/META-INF/persistence.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/impl/extension/jpa/src/test/resources/demoiselle-jpa-bundle.properties b/impl/extension/jpa/src/test/resources/demoiselle-jpa-bundle.properties deleted file mode 100644 index 40621da..0000000 --- a/impl/extension/jpa/src/test/resources/demoiselle-jpa-bundle.properties +++ /dev/null @@ -1,45 +0,0 @@ -# Demoiselle Framework -# Copyright (C) 2010 SERPRO -# ---------------------------------------------------------------------------- -# This file is part of Demoiselle Framework. -# -# Demoiselle Framework is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License version 3 -# as published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License version 3 -# along with this program; if not, see -# or write to the Free Software Foundation, Inc., 51 Franklin Street, -# Fifth Floor, Boston, MA 02110-1301, USA. -# ---------------------------------------------------------------------------- -# Este arquivo é parte do Framework Demoiselle. -# -# O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou -# modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação -# do Software Livre (FSF). -# -# Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA -# GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou -# APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português -# para maiores detalhes. -# -# Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título -# "LICENCA.txt", junto com esse programa. Se não, acesse -# ou escreva para a Fundação do Software Livre (FSF) Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. - -entity-manager-was-created=Gerenciador de entidades criado a partir da unidade de persist\u00EAncia "{0}". -entity-manager-factory-not-found-in-cache=Entity Manager Factory n\u00E3o encontrado para contexto atual, criando um agora. -operation-not-supported=Esta operação não é suportada. -getting-persistence-unit-from-properties=Obtendo a unidade de persist\u00EAncia a partir do arquivo de configura\u00E7\u00E3o "{0}". -getting-persistence-unit-from-persistence=Obtendo a unidade de persist\u00EAncia a partir do arquivo "persistence.xml". -can-not-get-persistence-unit-from-persistence=N\u00E3o foi poss\u00EDvel obter a unidade de persist\u00EAncia a partir do arquivo "persistence.xml". -more-than-one-persistence-unit-defined=Existe mais de uma unidade de persist\u00EAncia definida. Utilize @{0} no ponto de inje\u00E7\u00E3o ou defina o atributo "frameworkdemoiselle.persistence.unit.name" no arquivo demoiselle.properties. -persistence-unit-name-found=Unidade de persist\u00EAncia "{0}" encontrada. -entity-manager-closed=O gerenciador de entidades foi fechado. -no-transaction-active=Nenhuma transa\u00E7\u00E3o est\u00E1 ativa, verifique a configura\u00E7\u00E3o "{0}" no arquivo "{1}" e defina a sua estrat\u00E9gia de transa\u00E7\u00E3o. \ No newline at end of file diff --git a/impl/extension/jpa/src/test/resources/demoiselle.properties b/impl/extension/jpa/src/test/resources/demoiselle.properties deleted file mode 100644 index 9768d9c..0000000 --- a/impl/extension/jpa/src/test/resources/demoiselle.properties +++ /dev/null @@ -1,36 +0,0 @@ -# Demoiselle Framework -# Copyright (C) 2010 SERPRO -# ---------------------------------------------------------------------------- -# This file is part of Demoiselle Framework. -# -# Demoiselle Framework is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License version 3 -# as published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License version 3 -# along with this program; if not, see -# or write to the Free Software Foundation, Inc., 51 Franklin Street, -# Fifth Floor, Boston, MA 02110-1301, USA. -# ---------------------------------------------------------------------------- -# Este arquivo é parte do Framework Demoiselle. -# -# O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou -# modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação -# do Software Livre (FSF). -# -# Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA -# GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou -# APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português -# para maiores detalhes. -# -# Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título -# "LICENCA.txt", junto com esse programa. Se não, acesse -# ou escreva para a Fundação do Software Livre (FSF) Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. - -frameworkdemoiselle.persistence.default.unit.name=PersistenceUnitName \ No newline at end of file diff --git a/impl/extension/jpa/src/test/resources/empty-persistence.xml b/impl/extension/jpa/src/test/resources/empty-persistence.xml deleted file mode 100644 index fdf00d3..0000000 --- a/impl/extension/jpa/src/test/resources/empty-persistence.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/impl/extension/jpa/src/test/resources/log4j.properties b/impl/extension/jpa/src/test/resources/log4j.properties deleted file mode 100755 index 48a89ba..0000000 --- a/impl/extension/jpa/src/test/resources/log4j.properties +++ /dev/null @@ -1,42 +0,0 @@ -# Demoiselle Framework -# Copyright (C) 2010 SERPRO -# ---------------------------------------------------------------------------- -# This file is part of Demoiselle Framework. -# -# Demoiselle Framework is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License version 3 -# as published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License version 3 -# along with this program; if not, see -# or write to the Free Software Foundation, Inc., 51 Franklin Street, -# Fifth Floor, Boston, MA 02110-1301, USA. -# ---------------------------------------------------------------------------- -# Este arquivo é parte do Framework Demoiselle. -# -# O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou -# modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação -# do Software Livre (FSF). -# -# Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA -# GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou -# APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português -# para maiores detalhes. -# -# Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título -# "LICENCA.txt", junto com esse programa. Se não, acesse -# ou escreva para a Fundação do Software Livre (FSF) Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. - -log4j.rootCategory=INFO, stdout - -log4j.logger.br.gov.frameworkdemoiselle=TRACE - -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%-5p [%c{1}] %m%n diff --git a/impl/extension/jpa/src/test/resources/persistence-empty-name.xml b/impl/extension/jpa/src/test/resources/persistence-empty-name.xml deleted file mode 100644 index 44cf8c9..0000000 --- a/impl/extension/jpa/src/test/resources/persistence-empty-name.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/impl/extension/jpa/src/test/resources/persistence-two-units.xml b/impl/extension/jpa/src/test/resources/persistence-two-units.xml deleted file mode 100644 index cfdc13f..0000000 --- a/impl/extension/jpa/src/test/resources/persistence-two-units.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/impl/extension/jpa/src/test/resources/persistence.xml b/impl/extension/jpa/src/test/resources/persistence.xml deleted file mode 100644 index 2fde4f6..0000000 --- a/impl/extension/jpa/src/test/resources/persistence.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractEditPageBeanTest.java b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractEditPageBeanTest.java index fb605a3..f986eb4 100644 --- a/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractEditPageBeanTest.java +++ b/impl/extension/jsf/src/test/java/br/gov/frameworkdemoiselle/template/AbstractEditPageBeanTest.java @@ -82,7 +82,7 @@ public class AbstractEditPageBeanTest { @Before public void before() { - bundle = ResourceBundleProducer.create("demoiselle-jsf-bundle", Locale.getDefault()); + bundle = new ResourceBundleProducer().create("demoiselle-jsf-bundle", Locale.getDefault()); pageBean = new AbstractEditPageBean() { diff --git a/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthenticator.java b/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthenticator.java index d09ae0c..ce8cf85 100644 --- a/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthenticator.java +++ b/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthenticator.java @@ -44,8 +44,8 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import br.gov.frameworkdemoiselle.annotation.Priority; -import br.gov.frameworkdemoiselle.internal.producer.ResourceBundleProducer; import br.gov.frameworkdemoiselle.util.Beans; +import br.gov.frameworkdemoiselle.util.NameQualifier; import br.gov.frameworkdemoiselle.util.ResourceBundle; @Priority(L2_PRIORITY) @@ -58,7 +58,7 @@ public class ServletAuthenticator implements Authenticator { @Override public void authenticate() throws AuthenticationException { try { - if (this.getUser()==null){ + if (this.getUser() == null) { getRequest().login(getCredentials().getUsername(), getCredentials().getPassword()); } } catch (ServletException cause) { @@ -72,7 +72,7 @@ public class ServletAuthenticator implements Authenticator { try { getRequest().logout(); } catch (ServletException e) { - //Logout já havia sido efetuado + // Logout já havia sido efetuado } getRequest().getSession().invalidate(); } @@ -92,7 +92,7 @@ public class ServletAuthenticator implements Authenticator { private static ResourceBundle getBundle() { if (bundle == null) { - bundle = ResourceBundleProducer.create("demoiselle-servlet-bundle"); + bundle = Beans.getReference(ResourceBundle.class, new NameQualifier("demoiselle-servlet-bundle")); } return bundle; diff --git a/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthorizer.java b/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthorizer.java index 9886757..0e82e27 100644 --- a/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthorizer.java +++ b/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthorizer.java @@ -70,7 +70,7 @@ public class ServletAuthorizer implements Authorizer { private static ResourceBundle getBundle() { if (bundle == null) { - bundle = ResourceBundleProducer.create("demoiselle-servlet-bundle"); + bundle = new ResourceBundleProducer().create("demoiselle-servlet-bundle"); } return bundle; diff --git a/parent/extension/pom.xml b/parent/extension/pom.xml index adec299..23635b1 100755 --- a/parent/extension/pom.xml +++ b/parent/extension/pom.xml @@ -44,7 +44,7 @@ br.gov.frameworkdemoiselle demoiselle-framework-parent - 2.4.0-BETA3-SNAPSHOT + 2.4.0-BETA4-SNAPSHOT ../framework @@ -71,7 +71,7 @@ br.gov.frameworkdemoiselle demoiselle-framework-bom - 2.4.0-BETA3-SNAPSHOT + 2.4.0-BETA4-SNAPSHOT import pom @@ -126,11 +126,13 @@ powermock-api-easymock test + -- libgit2 0.21.2