From 857c913f174993ddbad7fffc141ca4901d6aa688 Mon Sep 17 00:00:00 2001 From: Cleverson Sacramento Date: Fri, 6 Sep 2013 07:30:26 -0300 Subject: [PATCH] Ajuste no build dos projetos --- impl/extension/jdbc/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ConnectionProducer.java | 49 ++++++++++++++++++++++++++++++++----------------- impl/extension/jdbc/src/main/java/br/gov/frameworkdemoiselle/internal/producer/DataSourceProducer.java | 43 ++++++++++++++++++++++++++++--------------- impl/extension/jdbc/src/test/java/test/Tests.java | 2 +- impl/extension/jdbc/src/test/resources/.glassfish.profile | 0 impl/extension/jpa/src/test/java/producer/MyEntity.java | 29 +++++++++++++++++++++++++++++ impl/extension/jpa/src/test/java/producer/ProducerTest.java | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ impl/extension/jpa/src/test/java/transaction/interceptor/JPATransactionTest.java | 56 +++++++++++++++++++++++++++++--------------------------- impl/extension/jpa/src/test/resources/.glassfish.profile | 0 impl/extension/jpa/src/test/resources/producer/persistence.xml | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ impl/extension/jpa/src/test/resources/template/persistence.xml | 18 ++++-------------- impl/extension/jpa/src/test/resources/test/beans.xml | 39 +++++++++++++++++++++++++++++++++++++-- impl/extension/jpa/src/test/resources/transaction/interceptor/persistence.xml | 44 +++++++++++++------------------------------- impl/extension/jpa/src/test/resources/transaction/manual/persistence.xml | 46 +++++++++++++++++----------------------------- impl/extension/jsf/src/test/resources/.drone.profile | 0 impl/extension/jsf/src/test/resources/.glassfish.profile | 0 impl/extension/jta/src/test/java/test/Tests.java | 2 +- impl/extension/jta/src/test/resources/.glassfish.profile | 0 impl/extension/se/.arquillian-weld-se-embedded | 0 impl/extension/se/src/test/resources/.weldse.profile | 0 impl/extension/servlet/pom.xml | 15 +++++++++++++++ impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthenticator.java | 23 +++++++++++------------ impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthorizer.java | 13 ++++++------- impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletRequestProducerTest.java | 82 ---------------------------------------------------------------------------------- impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletResponseProducerTest.java | 82 ---------------------------------------------------------------------------------- impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpSessionProducerTest.java | 79 ------------------------------------------------------------------------------- impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/ServletLocaleProducerTest.java | 84 ------------------------------------------------------------------------------------ impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/HttpServletRequestProxyTest.java | 45 --------------------------------------------- impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/util/ServletFilterTest.java | 113 ----------------------------------------------------------------------------------------------------------------- impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/util/ServletListenerTest.java | 100 ---------------------------------------------------------------------------------------------------- impl/extension/servlet/src/test/java/test/Tests.java | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ impl/extension/servlet/src/test/java/xxxx/XServlet.java | 35 +++++++++++++++++++++++++++++++++++ impl/extension/servlet/src/test/java/xxxx/XTest.java | 45 +++++++++++++++++++++++++++++++++++++++++++++ impl/extension/servlet/src/test/resources/.drone.profile | 0 impl/extension/servlet/src/test/resources/.glassfish.profile | 0 impl/extension/servlet/src/test/resources/arquillian.xml | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ impl/extension/servlet/src/test/resources/test/beans.xml | 47 +++++++++++++++++++++++++++++++++++++++++++++++ impl/extension/servlet/src/test/resources/xxx/web.xml | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ parent/extension/pom.xml | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- parent/framework/pom.xml | 10 ++++++++++ pom.xml | 5 +++++ 40 files changed, 798 insertions(+), 743 deletions(-) create mode 100644 impl/extension/jdbc/src/test/resources/.glassfish.profile create mode 100644 impl/extension/jpa/src/test/java/producer/MyEntity.java create mode 100644 impl/extension/jpa/src/test/java/producer/ProducerTest.java create mode 100644 impl/extension/jpa/src/test/resources/.glassfish.profile create mode 100644 impl/extension/jpa/src/test/resources/producer/persistence.xml create mode 100644 impl/extension/jsf/src/test/resources/.drone.profile create mode 100644 impl/extension/jsf/src/test/resources/.glassfish.profile create mode 100644 impl/extension/jta/src/test/resources/.glassfish.profile delete mode 100644 impl/extension/se/.arquillian-weld-se-embedded create mode 100644 impl/extension/se/src/test/resources/.weldse.profile delete mode 100644 impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletRequestProducerTest.java delete mode 100644 impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletResponseProducerTest.java delete mode 100644 impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpSessionProducerTest.java delete mode 100644 impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/ServletLocaleProducerTest.java delete mode 100644 impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/HttpServletRequestProxyTest.java delete mode 100644 impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/util/ServletFilterTest.java delete mode 100644 impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/util/ServletListenerTest.java create mode 100644 impl/extension/servlet/src/test/java/test/Tests.java create mode 100644 impl/extension/servlet/src/test/java/xxxx/XServlet.java create mode 100644 impl/extension/servlet/src/test/java/xxxx/XTest.java create mode 100644 impl/extension/servlet/src/test/resources/.drone.profile create mode 100644 impl/extension/servlet/src/test/resources/.glassfish.profile create mode 100644 impl/extension/servlet/src/test/resources/arquillian.xml create mode 100644 impl/extension/servlet/src/test/resources/test/beans.xml create mode 100644 impl/extension/servlet/src/test/resources/xxx/web.xml diff --git a/impl/extension/jdbc/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ConnectionProducer.java b/impl/extension/jdbc/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ConnectionProducer.java index fc5aaef..166991f 100644 --- a/impl/extension/jdbc/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ConnectionProducer.java +++ b/impl/extension/jdbc/src/main/java/br/gov/frameworkdemoiselle/internal/producer/ConnectionProducer.java @@ -22,6 +22,8 @@ import br.gov.frameworkdemoiselle.DemoiselleException; import br.gov.frameworkdemoiselle.annotation.Name; import br.gov.frameworkdemoiselle.internal.configuration.JDBCConfig; import br.gov.frameworkdemoiselle.internal.proxy.ConnectionProxy; +import br.gov.frameworkdemoiselle.util.Beans; +import br.gov.frameworkdemoiselle.util.NameQualifier; import br.gov.frameworkdemoiselle.util.ResourceBundle; @RequestScoped @@ -29,15 +31,29 @@ public class ConnectionProducer implements Serializable { private static final long serialVersionUID = 1L; - @Inject - private Logger logger; + private transient Logger logger; - @Inject - @Name("demoiselle-jdbc-bundle") - private ResourceBundle bundle; + private transient ResourceBundle bundle; + + private ResourceBundle getBundle() { + if (bundle == null) { + bundle = Beans.getReference(ResourceBundle.class, new NameQualifier("demoiselle-jdbc-bundle")); + } + + return bundle; + } + + private Logger getLogger() { + if (logger == null) { + logger = Beans.getReference(Logger.class, new NameQualifier(DataSourceProducer.class.getName())); + } + + return logger; + } private final Map cache = Collections.synchronizedMap(new HashMap()); - private final Map statusCache = Collections.synchronizedMap(new HashMap()); + + private final Map statusCache = Collections.synchronizedMap(new HashMap()); @Inject private DataSourceProducer producer; @@ -81,10 +97,10 @@ public class ConnectionProducer implements Serializable { cache.put(name, connection); statusCache.put(connection, new Status()); - logger.info(bundle.getString("connection-was-created", name)); + getLogger().info(getBundle().getString("connection-was-created", name)); } catch (Exception cause) { - throw new DemoiselleException(bundle.getString("connection-creation-failed", name), cause); + throw new DemoiselleException(getBundle().getString("connection-creation-failed", name), cause); } } @@ -96,7 +112,7 @@ public class ConnectionProducer implements Serializable { connection.setAutoCommit(false); } catch (SQLException cause) { - logger.debug(bundle.getString("set-autocommit-failed")); + getLogger().debug(getBundle().getString("set-autocommit-failed")); } } @@ -104,7 +120,7 @@ public class ConnectionProducer implements Serializable { String result = config.getDefaultDataSourceName(); if (result != null) { - logger.debug(bundle.getString("getting-default-datasource-name-from-properties", result)); + getLogger().debug(getBundle().getString("getting-default-datasource-name-from-properties", result)); } return result; @@ -115,7 +131,7 @@ public class ConnectionProducer implements Serializable { Set names = producer.getCache().keySet(); if (names.size() > 1) { - throw new DemoiselleException(bundle.getString("more-than-one-datasource-defined", + throw new DemoiselleException(getBundle().getString("more-than-one-datasource-defined", Name.class.getSimpleName())); } else { result = names.iterator().next(); @@ -133,16 +149,16 @@ public class ConnectionProducer implements Serializable { try { if (connection.isClosed()) { - logger.warn(bundle.getString("connection-has-already-been-closed", key)); + getLogger().warn(getBundle().getString("connection-has-already-been-closed", key)); } else { connection.close(); - logger.info(bundle.getString("connection-was-closed", key)); + getLogger().info(getBundle().getString("connection-was-closed", key)); } } catch (Exception cause) { - throw new DemoiselleException(bundle.getString("connection-close-failed", key), cause); + throw new DemoiselleException(getBundle().getString("connection-close-failed", key), cause); } } @@ -152,11 +168,11 @@ public class ConnectionProducer implements Serializable { public Map getCache() { return cache; } - + public Status getStatus(Connection connection) { return statusCache.get(connection); } - + public static class Status implements Serializable { private static final long serialVersionUID = 1L; @@ -181,5 +197,4 @@ public class ConnectionProducer implements Serializable { this.markedRollback = markedRollback; } } - } diff --git a/impl/extension/jdbc/src/main/java/br/gov/frameworkdemoiselle/internal/producer/DataSourceProducer.java b/impl/extension/jdbc/src/main/java/br/gov/frameworkdemoiselle/internal/producer/DataSourceProducer.java index 35bebf4..1c75f62 100644 --- a/impl/extension/jdbc/src/main/java/br/gov/frameworkdemoiselle/internal/producer/DataSourceProducer.java +++ b/impl/extension/jdbc/src/main/java/br/gov/frameworkdemoiselle/internal/producer/DataSourceProducer.java @@ -10,7 +10,6 @@ import java.util.Set; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import javax.enterprise.context.ApplicationScoped; -import javax.inject.Inject; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; @@ -19,10 +18,10 @@ import javax.sql.DataSource; import org.slf4j.Logger; import br.gov.frameworkdemoiselle.DemoiselleException; -import br.gov.frameworkdemoiselle.annotation.Name; import br.gov.frameworkdemoiselle.internal.configuration.JDBCConfig; import br.gov.frameworkdemoiselle.internal.proxy.BasicDataSourceProxy; import br.gov.frameworkdemoiselle.util.Beans; +import br.gov.frameworkdemoiselle.util.NameQualifier; import br.gov.frameworkdemoiselle.util.ResourceBundle; @ApplicationScoped @@ -30,12 +29,25 @@ public class DataSourceProducer implements Serializable { private static final long serialVersionUID = 1L; - @Inject - private Logger logger; + private transient Logger logger; - @Inject - @Name("demoiselle-jdbc-bundle") - private ResourceBundle bundle; + private transient ResourceBundle bundle; + + private ResourceBundle getBundle() { + if (bundle == null) { + bundle = Beans.getReference(ResourceBundle.class, new NameQualifier("demoiselle-jdbc-bundle")); + } + + return bundle; + } + + private Logger getLogger() { + if (logger == null) { + logger = Beans.getReference(Logger.class, new NameQualifier(DataSourceProducer.class.getName())); + } + + return logger; + } private final Map> cache = Collections .synchronizedMap(new HashMap>()); @@ -52,7 +64,7 @@ public class DataSourceProducer implements Serializable { throw new DemoiselleException(cause); } - logger.debug(bundle.getString("datasource-name-found", dataBaseName)); + getLogger().debug(getBundle().getString("datasource-name-found", dataBaseName)); } } @@ -70,7 +82,7 @@ public class DataSourceProducer implements Serializable { } if (result.isEmpty()) { - throw new DemoiselleException(bundle.getString("datasource-name-not-found")); + throw new DemoiselleException(getBundle().getString("datasource-name-not-found")); } return result; @@ -117,10 +129,10 @@ public class DataSourceProducer implements Serializable { result = initJNDIDataSource(dataSourceName, jndi); } else if (url != null) { - result = new BasicDataSourceProxy(dataSourceName, config, bundle); - + result = new BasicDataSourceProxy(dataSourceName, config, getBundle()); + } else { - throw new DemoiselleException(bundle.getString("uncompleted-datasource-configuration", dataSourceName)); + throw new DemoiselleException(getBundle().getString("uncompleted-datasource-configuration", dataSourceName)); } return result; @@ -134,10 +146,11 @@ public class DataSourceProducer implements Serializable { result = (DataSource) context.lookup(jndi); } catch (NamingException cause) { - throw new DemoiselleException(bundle.getString("load-jndi-datasource-failed", dataSourceName, jndi), cause); + throw new DemoiselleException(getBundle().getString("load-jndi-datasource-failed", dataSourceName, jndi), + cause); } catch (ClassCastException cause) { - throw new DemoiselleException(bundle.getString("load-duplicated-configuration-failed"), cause); + throw new DemoiselleException(getBundle().getString("load-duplicated-configuration-failed"), cause); } return result; @@ -153,7 +166,7 @@ public class DataSourceProducer implements Serializable { Map result = cache.get(classLoader); if (result == null || result.isEmpty()) { - logger.debug(bundle.getString("datasource-not-found-in-cache")); + getLogger().debug(getBundle().getString("datasource-not-found-in-cache")); for (String name : getDataSourceNames(classLoader)) { create(name); diff --git a/impl/extension/jdbc/src/test/java/test/Tests.java b/impl/extension/jdbc/src/test/java/test/Tests.java index 69e6c38..3c8e26f 100644 --- a/impl/extension/jdbc/src/test/java/test/Tests.java +++ b/impl/extension/jdbc/src/test/java/test/Tests.java @@ -67,7 +67,7 @@ public final class Tests { private static WebArchive createDeployment() { File[] libs = Maven.resolver().offline().loadPomFromFile("pom.xml", "arquillian-test") - .importCompileAndRuntimeDependencies().importTestDependencies().resolve().withTransitivity().asFile(); + .importCompileAndRuntimeDependencies().resolve().withTransitivity().asFile(); return ShrinkWrap .create(WebArchive.class) diff --git a/impl/extension/jdbc/src/test/resources/.glassfish.profile b/impl/extension/jdbc/src/test/resources/.glassfish.profile new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/impl/extension/jdbc/src/test/resources/.glassfish.profile diff --git a/impl/extension/jpa/src/test/java/producer/MyEntity.java b/impl/extension/jpa/src/test/java/producer/MyEntity.java new file mode 100644 index 0000000..7dfee0f --- /dev/null +++ b/impl/extension/jpa/src/test/java/producer/MyEntity.java @@ -0,0 +1,29 @@ +package producer; + +import javax.persistence.Entity; +import javax.persistence.Id; + +@Entity +public class MyEntity { + + @Id + private String id; + + private String description; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } +} diff --git a/impl/extension/jpa/src/test/java/producer/ProducerTest.java b/impl/extension/jpa/src/test/java/producer/ProducerTest.java new file mode 100644 index 0000000..b0c7f73 --- /dev/null +++ b/impl/extension/jpa/src/test/java/producer/ProducerTest.java @@ -0,0 +1,79 @@ +package producer; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import javax.persistence.EntityManager; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.Test; +import org.junit.runner.RunWith; + +import test.Tests; +import br.gov.frameworkdemoiselle.internal.proxy.EntityManagerProxy; +import br.gov.frameworkdemoiselle.util.Beans; +import br.gov.frameworkdemoiselle.util.NameQualifier; + +@RunWith(Arquillian.class) +public class ProducerTest { + + private static final String PATH = "src/test/resources/producer"; + + @Deployment + public static WebArchive createDeployment() { + WebArchive deployment = Tests.createDeployment(ProducerTest.class); + deployment.addAsResource(Tests.createFileAsset(PATH + "/persistence.xml"), "META-INF/persistence.xml"); + deployment.addAsResource(Tests.createFileAsset(PATH + "/demoiselle.properties"), "demoiselle.properties"); + + return deployment; + } + + @Test + public void produceEntityManager() { + EntityManager manager = Beans.getReference(EntityManager.class); + + assertNotNull(manager); + assertEquals(EntityManagerProxy.class, manager.getClass()); + } + + @Test + public void produceMultipleEntityManagers() { + EntityManager m1 = Beans.getReference(EntityManager.class, new NameQualifier("pu")); + + assertNotNull(m1); + assertEquals(EntityManagerProxy.class, m1.getClass()); + + EntityManager m2 = Beans.getReference(EntityManager.class, new NameQualifier("pu2")); + + assertNotNull(m2); + assertEquals(EntityManagerProxy.class, m2.getClass()); + } + + @Test + public void produceOneEntityManagerPerRequest() { + EntityManager m1 = Beans.getReference(EntityManager.class, new NameQualifier("pu")); + + assertNotNull(m1); + assertEquals(EntityManagerProxy.class, m1.getClass()); + + EntityManager m2 = Beans.getReference(EntityManager.class, new NameQualifier("pu")); + + assertNotNull(m2); + assertEquals(EntityManagerProxy.class, m2.getClass()); + + MyEntity entity = new MyEntity(); + entity.setId(createId("testID")); + + m1.persist(entity); + + assertTrue(m2.contains(entity)); + } + + private String createId(String id) { + return this.getClass().getName() + "_" + id; + } + +} diff --git a/impl/extension/jpa/src/test/java/transaction/interceptor/JPATransactionTest.java b/impl/extension/jpa/src/test/java/transaction/interceptor/JPATransactionTest.java index 4da427a..e1b70be 100644 --- a/impl/extension/jpa/src/test/java/transaction/interceptor/JPATransactionTest.java +++ b/impl/extension/jpa/src/test/java/transaction/interceptor/JPATransactionTest.java @@ -1,10 +1,13 @@ package transaction.interceptor; +import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.assertFalse; +import static junit.framework.Assert.assertNull; +import static junit.framework.Assert.assertTrue; + import javax.inject.Inject; import javax.persistence.EntityManager; -import junit.framework.Assert; - import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.spec.WebArchive; @@ -20,10 +23,10 @@ import br.gov.frameworkdemoiselle.transaction.TransactionContext; public class JPATransactionTest { private static final String PATH = "src/test/resources/transaction/interceptor"; - + @Inject private TransactionalBusiness tb; - + @Inject @Name("pu1") private EntityManager em1; @@ -31,7 +34,7 @@ public class JPATransactionTest { @Inject @Name("pu2") private EntityManager em2; - + @Inject private TransactionContext transactionContext; @@ -42,52 +45,51 @@ public class JPATransactionTest { return deployment; } - + @Before - public void eraseDatabases(){ + public void eraseDatabases() { transactionContext.getCurrentTransaction().begin(); em1.createQuery("DELETE FROM MyEntity1").executeUpdate(); em2.createQuery("DELETE FROM MyEntity2").executeUpdate(); transactionContext.getCurrentTransaction().commit(); } - + @Test - public void isTransactionActiveWithInterceptor(){ - Assert.assertTrue(tb.isTransactionActiveWithInterceptor()); + public void isTransactionActiveWithInterceptor() { + assertTrue(tb.isTransactionActiveWithInterceptor()); } - + @Test - public void isTransactionActiveWithoutInterceptor(){ - Assert.assertFalse(tb.isTransactionActiveWithoutInterceptor()); + public void isTransactionActiveWithoutInterceptor() { + assertFalse(tb.isTransactionActiveWithoutInterceptor()); } @Test public void commitWithSuccess() { - + tb.commitWithSuccess(); MyEntity1 entity1 = em1.find(MyEntity1.class, tb.createId("id-1")); MyEntity2 entity2 = em2.find(MyEntity2.class, tb.createId("id-2")); - - Assert.assertEquals("desc-1", entity1.getDescription()); - Assert.assertEquals("desc-2", entity2.getDescription()); + + assertEquals("desc-1", entity1.getDescription()); + assertEquals("desc-2", entity2.getDescription()); } @Test public void rollbackWithSuccess() { - - try{ + + try { tb.rollbackWithSuccess(); } catch (Exception e) { - Assert.assertEquals("Exceção criada para marcar transação para rollback", e.getMessage()); - } - finally{ + assertEquals("Exceção criada para marcar transação para rollback", e.getMessage()); + } finally { MyEntity1 entity1 = em1.find(MyEntity1.class, tb.createId("id-3")); MyEntity2 entity2 = em2.find(MyEntity2.class, tb.createId("id-4")); - - Assert.assertNull(entity1); - Assert.assertNull(entity2); + + assertNull(entity1); + assertNull(entity2); } } - -} \ No newline at end of file + +} diff --git a/impl/extension/jpa/src/test/resources/.glassfish.profile b/impl/extension/jpa/src/test/resources/.glassfish.profile new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/impl/extension/jpa/src/test/resources/.glassfish.profile diff --git a/impl/extension/jpa/src/test/resources/producer/persistence.xml b/impl/extension/jpa/src/test/resources/producer/persistence.xml new file mode 100644 index 0000000..4cb8d68 --- /dev/null +++ b/impl/extension/jpa/src/test/resources/producer/persistence.xml @@ -0,0 +1,76 @@ + + + + + jdbc/__default + + producer.MyEntity + + + + + + + + + + + + jdbc/__default + + producer.MyEntity + + + + + + + + + + + \ No newline at end of file diff --git a/impl/extension/jpa/src/test/resources/template/persistence.xml b/impl/extension/jpa/src/test/resources/template/persistence.xml index 9a99fff..d8e24f3 100644 --- a/impl/extension/jpa/src/test/resources/template/persistence.xml +++ b/impl/extension/jpa/src/test/resources/template/persistence.xml @@ -37,9 +37,8 @@ - - - - - jdbc/__default - - template.MyEntity - - + + diff --git a/impl/extension/jpa/src/test/resources/test/beans.xml b/impl/extension/jpa/src/test/resources/test/beans.xml index d85497f..9349c2f 100644 --- a/impl/extension/jpa/src/test/resources/test/beans.xml +++ b/impl/extension/jpa/src/test/resources/test/beans.xml @@ -1,5 +1,40 @@ - + + br.gov.frameworkdemoiselle.transaction.TransactionalInterceptor diff --git a/impl/extension/jpa/src/test/resources/transaction/interceptor/persistence.xml b/impl/extension/jpa/src/test/resources/transaction/interceptor/persistence.xml index 0781423..fe3b041 100644 --- a/impl/extension/jpa/src/test/resources/transaction/interceptor/persistence.xml +++ b/impl/extension/jpa/src/test/resources/transaction/interceptor/persistence.xml @@ -37,36 +37,6 @@ - - - jdbc/__default @@ -74,9 +44,15 @@ transaction.interceptor.MyEntity2 + + + + + @@ -87,10 +63,16 @@ transaction.interceptor.MyEntity2 + + + + + - + \ No newline at end of file diff --git a/impl/extension/jpa/src/test/resources/transaction/manual/persistence.xml b/impl/extension/jpa/src/test/resources/transaction/manual/persistence.xml index b1bb951..e7b5f1a 100644 --- a/impl/extension/jpa/src/test/resources/transaction/manual/persistence.xml +++ b/impl/extension/jpa/src/test/resources/transaction/manual/persistence.xml @@ -37,22 +37,8 @@ - - - - - jdbc/__default - - transaction.manual.MyEntity1 - transaction.manual.MyEntity2 - - + + @@ -87,12 +63,18 @@ transaction.manual.MyEntity2 + + + + + - + jdbc/__default @@ -100,9 +82,15 @@ transaction.manual.MyEntity2 + + + + + diff --git a/impl/extension/jsf/src/test/resources/.drone.profile b/impl/extension/jsf/src/test/resources/.drone.profile new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/impl/extension/jsf/src/test/resources/.drone.profile diff --git a/impl/extension/jsf/src/test/resources/.glassfish.profile b/impl/extension/jsf/src/test/resources/.glassfish.profile new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/impl/extension/jsf/src/test/resources/.glassfish.profile diff --git a/impl/extension/jta/src/test/java/test/Tests.java b/impl/extension/jta/src/test/java/test/Tests.java index e7a8cf6..70f1a69 100644 --- a/impl/extension/jta/src/test/java/test/Tests.java +++ b/impl/extension/jta/src/test/java/test/Tests.java @@ -71,7 +71,7 @@ public final class Tests { .addClass(JTATransaction.class) .addAsResource(createFileAsset("src/main/resources/demoiselle-jta-bundle.properties") , "demoiselle-jta-bundle.properties" ) .addAsResource(createFileAsset("src/test/resources/log/log4j.properties") , "log4j.properties" ) - .addAsWebInfResource(createFileAsset("src/test/resources/beans.xml"), "beans.xml") + .addAsWebInfResource(createFileAsset("src/test/resources/test/beans.xml"), "beans.xml") .addAsLibraries(libs); } diff --git a/impl/extension/jta/src/test/resources/.glassfish.profile b/impl/extension/jta/src/test/resources/.glassfish.profile new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/impl/extension/jta/src/test/resources/.glassfish.profile diff --git a/impl/extension/se/.arquillian-weld-se-embedded b/impl/extension/se/.arquillian-weld-se-embedded deleted file mode 100644 index e69de29..0000000 --- a/impl/extension/se/.arquillian-weld-se-embedded +++ /dev/null diff --git a/impl/extension/se/src/test/resources/.weldse.profile b/impl/extension/se/src/test/resources/.weldse.profile new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/impl/extension/se/src/test/resources/.weldse.profile diff --git a/impl/extension/servlet/pom.xml b/impl/extension/servlet/pom.xml index 39be348..18e4ccb 100755 --- a/impl/extension/servlet/pom.xml +++ b/impl/extension/servlet/pom.xml @@ -77,11 +77,13 @@ 1.4 + @@ -108,4 +110,17 @@ + + + + arquillian-test + + + javax.servlet + javax.servlet-api + provided + + + + 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 357a47a..5625dee 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 @@ -49,11 +49,10 @@ import br.gov.frameworkdemoiselle.util.NameQualifier; import br.gov.frameworkdemoiselle.util.ResourceBundle; /** - * Implements the {@link Authenticator} interface, offering a way to implement - * offering a manner to use the authenticator's functionalities. + * Implements the {@link Authenticator} interface, offering a way to implement offering a manner to use the + * authenticator's functionalities. * * @author SERPRO - * */ @Priority(L2_PRIORITY) @@ -90,30 +89,30 @@ public class ServletAuthenticator implements Authenticator { @Override public User getUser() { final Principal principal = getRequest().getUserPrincipal(); - + User user = null; - - if (principal!=null) { - user = new User() { - + + if (principal != null) { + user = new User() { + private static final long serialVersionUID = 1L; - + @Override public String getId() { return principal.getName(); } - + @Override public void setAttribute(Object key, Object value) { } - + @Override public Object getAttribute(Object key) { return null; } }; } - + return user; } 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 76f6a48..fa554fa 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 @@ -42,16 +42,15 @@ import javax.servlet.http.HttpServletRequest; import br.gov.frameworkdemoiselle.DemoiselleException; 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; /** - * Implements the {@link Authorizer} interface, offering a way to implement - * offering a manner to use the authorizer's functionalities. + * Implements the {@link Authorizer} interface, offering a way to implement offering a manner to use the authorizer's + * functionalities. * * @author SERPRO - * */ @Priority(L2_PRIORITY) @@ -59,7 +58,7 @@ public class ServletAuthorizer implements Authorizer { private static final long serialVersionUID = 1L; - private static ResourceBundle bundle; + private transient ResourceBundle bundle; @Override public boolean hasRole(String role) { @@ -76,9 +75,9 @@ public class ServletAuthorizer implements Authorizer { return Beans.getReference(HttpServletRequest.class); } - private static ResourceBundle getBundle() { + private ResourceBundle getBundle() { if (bundle == null) { - bundle = new ResourceBundleProducer().create("demoiselle-servlet-bundle"); + bundle = Beans.getReference(ResourceBundle.class, new NameQualifier("demoiselle-servlet-bundle")); } return bundle; diff --git a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletRequestProducerTest.java b/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletRequestProducerTest.java deleted file mode 100644 index 0990219..0000000 --- a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletRequestProducerTest.java +++ /dev/null @@ -1,82 +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.replay; -//import static org.powermock.api.easymock.PowerMock.createMock; -//import static org.powermock.api.easymock.PowerMock.verifyAll; -// -//import javax.servlet.http.HttpServletRequest; -// -//import junit.framework.Assert; -// -//import org.junit.Test; -//import org.powermock.reflect.Whitebox; -// -//public class HttpServletRequestProducerTest { -// -// private HttpServletRequestProducer httpServletRequestProducer; -// -// private HttpServletRequest request; -// -// @Test -// public void testCreate() { -// request = createMock(HttpServletRequest.class); -// replay(request); -// -// httpServletRequestProducer = new HttpServletRequestProducer(); -// Whitebox.setInternalState(httpServletRequestProducer, "request", request); -// -// Assert.assertEquals(httpServletRequestProducer.create(), request); -// -// verifyAll(); -// } -// -// @Test -// public void testSetDelegate() { -// request = createMock(HttpServletRequest.class); -// replay(request); -// -// httpServletRequestProducer = new HttpServletRequestProducer(); -// -// httpServletRequestProducer.setDelegate(request); -// Assert.assertEquals(Whitebox.getInternalState(httpServletRequestProducer, "request"), request); -// -// verifyAll(); -// } -// -//} diff --git a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletResponseProducerTest.java b/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletResponseProducerTest.java deleted file mode 100644 index 3b2a5c1..0000000 --- a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpServletResponseProducerTest.java +++ /dev/null @@ -1,82 +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.replay; -//import static org.powermock.api.easymock.PowerMock.createMock; -//import static org.powermock.api.easymock.PowerMock.verifyAll; -// -//import javax.servlet.http.HttpServletResponse; -// -//import junit.framework.Assert; -// -//import org.junit.Test; -//import org.powermock.reflect.Whitebox; -// -//public class HttpServletResponseProducerTest { -// -// private HttpServletResponseProducer httpServletResponseProducer; -// -// private HttpServletResponse response; -// -// @Test -// public void testCreate() { -// response = createMock(HttpServletResponse.class); -// replay(response); -// -// httpServletResponseProducer = new HttpServletResponseProducer(); -// Whitebox.setInternalState(httpServletResponseProducer, "response", response); -// -// Assert.assertEquals(httpServletResponseProducer.create(), response); -// -// verifyAll(); -// } -// -// @Test -// public void testSetDelegate() { -// response = createMock(HttpServletResponse.class); -// replay(response); -// -// httpServletResponseProducer = new HttpServletResponseProducer(); -// -// httpServletResponseProducer.setDelegate(response); -// Assert.assertEquals(Whitebox.getInternalState(httpServletResponseProducer, "response"), response); -// -// verifyAll(); -// } -// -//} diff --git a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpSessionProducerTest.java b/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpSessionProducerTest.java deleted file mode 100644 index a4bc641..0000000 --- a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/HttpSessionProducerTest.java +++ /dev/null @@ -1,79 +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.replay; -//import static org.powermock.api.easymock.PowerMock.verifyAll; -// -//import javax.servlet.http.HttpServletRequest; -//import javax.servlet.http.HttpSession; -// -//import junit.framework.Assert; -// -//import org.easymock.EasyMock; -//import org.junit.Test; -// -//public class HttpSessionProducerTest { -// -// private HttpSessionProducer httpSessionProducer; -// -// private HttpServletRequest request; -// -// @Test -// public void testCreateWithRequestNull() { -// httpSessionProducer = new HttpSessionProducer(); -// Assert.assertNull(httpSessionProducer.create(null)); -// -// verifyAll(); -// } -// -// @Test -// public void testCreateWithRequest() { -// request = createMock(HttpServletRequest.class); -// HttpSession session = createMock(HttpSession.class); -// EasyMock.expect(request.getSession()).andReturn(session); -// replay(request, session); -// -// httpSessionProducer = new HttpSessionProducer(); -// Assert.assertNotNull(httpSessionProducer.create(request)); -// -// verifyAll(); -// -// } -// -//} diff --git a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/ServletLocaleProducerTest.java b/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/ServletLocaleProducerTest.java deleted file mode 100644 index ba7bf80..0000000 --- a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/producer/ServletLocaleProducerTest.java +++ /dev/null @@ -1,84 +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.powermock.api.easymock.PowerMock.mockStatic; -//import static org.powermock.api.easymock.PowerMock.replay; -//import static org.powermock.api.easymock.PowerMock.verifyAll; -// -//import javax.servlet.http.HttpServletRequest; -// -//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.util.Beans; -// -//@RunWith(PowerMockRunner.class) -//@PrepareForTest(Beans.class) -//public class ServletLocaleProducerTest { -// -// private ServletLocaleProducer servletLocaleProducer; -// -// private HttpServletRequest request; -// -// @Test -// public void testCreate() { -// request = createMock(HttpServletRequest.class); -// -// mockStatic(Beans.class); -// expect(Beans.getReference(HttpServletRequest.class)).andReturn(request); -// replay(Beans.class); -// -// servletLocaleProducer = new ServletLocaleProducer(); -// servletLocaleProducer.create(); -// -// verifyAll(); -// } -// -// @Test -// public void testCreate2() { -// servletLocaleProducer = new ServletLocaleProducer(); -// servletLocaleProducer.create(); -// -// verifyAll(); -// } -// -//} diff --git a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/HttpServletRequestProxyTest.java b/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/HttpServletRequestProxyTest.java deleted file mode 100644 index fc21ec6..0000000 --- a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/internal/proxy/HttpServletRequestProxyTest.java +++ /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. -// */ -//package br.gov.frameworkdemoiselle.internal.proxy; -// -//import org.junit.runner.RunWith; -//import org.powermock.modules.junit4.PowerMockRunner; -// -//@RunWith(PowerMockRunner.class) -//public class HttpServletRequestProxyTest { -// -//} diff --git a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/util/ServletFilterTest.java b/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/util/ServletFilterTest.java deleted file mode 100644 index 400a766..0000000 --- a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/util/ServletFilterTest.java +++ /dev/null @@ -1,113 +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.util; -// -//import static org.easymock.EasyMock.expect; -//import static org.powermock.api.easymock.PowerMock.createMock; -//import static org.powermock.api.easymock.PowerMock.mockStatic; -//import static org.powermock.api.easymock.PowerMock.replay; -//import static org.powermock.api.easymock.PowerMock.verifyAll; -// -//import java.io.IOException; -// -//import javax.servlet.FilterChain; -//import javax.servlet.FilterConfig; -//import javax.servlet.ServletException; -//import javax.servlet.http.HttpServletRequest; -//import javax.servlet.http.HttpServletResponse; -// -//import org.junit.Ignore; -//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 br.gov.frameworkdemoiselle.internal.producer.HttpServletRequestProducer; -//import br.gov.frameworkdemoiselle.internal.producer.HttpServletResponseProducer; -// -//@RunWith(PowerMockRunner.class) -//@PrepareForTest(Beans.class) -//public class ServletFilterTest { -// -// private ServletFilter filter; -// -// @Test -// public void testInit() throws ServletException { -// FilterConfig config = createMock(FilterConfig.class); -// replay(config); -// -// filter = new ServletFilter(); -// filter.init(config); -// -// verifyAll(); -// } -// -// @Test -// public void testDoFilter() throws IOException, ServletException { -// HttpServletRequest request = createMock(HttpServletRequest.class); -// HttpServletResponse response = createMock(HttpServletResponse.class); -// -// FilterChain chain = createMock(FilterChain.class); -// HttpServletRequestProducer requestProducer = createMock(HttpServletRequestProducer.class); -// HttpServletResponseProducer responseProducer = createMock(HttpServletResponseProducer.class); -// -// mockStatic(Beans.class); -// expect(Beans.getReference(HttpServletRequestProducer.class)).andReturn(requestProducer); -// expect(Beans.getReference(HttpServletResponseProducer.class)).andReturn(responseProducer); -// requestProducer.setDelegate(request); -// PowerMock.expectLastCall().times(1); -// responseProducer.setDelegate(response); -// PowerMock.expectLastCall().times(1); -// chain.doFilter(request, response); -// PowerMock.expectLastCall().times(1); -// -// replay(Beans.class, request, response, chain, requestProducer, responseProducer); -// -// filter = new ServletFilter(); -// filter.doFilter(request, response, chain); -// -// verifyAll(); -// } -// -// @Test -// public void testDestroy() { -// filter = new ServletFilter(); -// filter.destroy(); -// verifyAll(); -// } -//} diff --git a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/util/ServletListenerTest.java b/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/util/ServletListenerTest.java deleted file mode 100644 index e87f6e7..0000000 --- a/impl/extension/servlet/src/test/java/br/gov/frameworkdemoiselle/util/ServletListenerTest.java +++ /dev/null @@ -1,100 +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.util; -// -//import static org.easymock.EasyMock.createMock; -//import static org.easymock.EasyMock.expect; -//import static org.powermock.api.easymock.PowerMock.mockStatic; -//import static org.powermock.api.easymock.PowerMock.replayAll; -//import static org.powermock.api.easymock.PowerMock.verifyAll; -// -//import javax.enterprise.inject.spi.BeanManager; -//import javax.servlet.ServletContextEvent; -// -//import org.easymock.EasyMock; -//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 br.gov.frameworkdemoiselle.internal.bootstrap.ShutdownBootstrap; -//import br.gov.frameworkdemoiselle.lifecycle.AfterStartupProccess; -// -//@RunWith(PowerMockRunner.class) -//@PrepareForTest(Beans.class) -//public class ServletListenerTest { -// -// private ServletListener listener; -// -// @Test -// public void testContextInitialized() { -// ServletContextEvent event = createMock(ServletContextEvent.class); -// BeanManager beanManager = PowerMock.createMock(BeanManager.class); -// -// mockStatic(Beans.class); -// expect(Beans.getBeanManager()).andReturn(beanManager); -// beanManager.fireEvent(EasyMock.anyObject(AfterStartupProccess.class)); -// PowerMock.expectLastCall().times(1); -// -// replayAll(); -// -// listener = new ServletListener(); -// listener.contextInitialized(event); -// -// verifyAll(); -// } -// -// @Test -// public void testContextDestroyed() { -// ServletContextEvent event = createMock(ServletContextEvent.class); -// BeanManager beanManager = PowerMock.createMock(BeanManager.class); -// -// mockStatic(Beans.class); -// expect(Beans.getBeanManager()).andReturn(beanManager); -// beanManager.fireEvent(EasyMock.anyObject(ShutdownBootstrap.class)); -// PowerMock.expectLastCall().times(1); -// -// replayAll(); -// -// listener = new ServletListener(); -// listener.contextDestroyed(event); -// -// verifyAll(); -// } -// -//} diff --git a/impl/extension/servlet/src/test/java/test/Tests.java b/impl/extension/servlet/src/test/java/test/Tests.java new file mode 100644 index 0000000..a7b6059 --- /dev/null +++ b/impl/extension/servlet/src/test/java/test/Tests.java @@ -0,0 +1,99 @@ +/* + * 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 test; + +import java.io.File; + +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.FileAsset; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.jboss.shrinkwrap.resolver.api.maven.Maven; +import org.junit.Ignore; + +import br.gov.frameworkdemoiselle.internal.implementation.BasicAuthenticationFilter; +import br.gov.frameworkdemoiselle.internal.implementation.HttpServletRequestProducerFilter; +import br.gov.frameworkdemoiselle.internal.implementation.HttpServletResponseProducerFilter; +import br.gov.frameworkdemoiselle.internal.implementation.InternalProcessorFilterImpl; +import br.gov.frameworkdemoiselle.internal.producer.HttpServletRequestProducer; +import br.gov.frameworkdemoiselle.internal.producer.HttpServletResponseProducer; +import br.gov.frameworkdemoiselle.internal.producer.HttpSessionProducer; +import br.gov.frameworkdemoiselle.internal.producer.ServletLocaleProducer; +import br.gov.frameworkdemoiselle.security.Credentials; +import br.gov.frameworkdemoiselle.security.ServletAuthenticator; +import br.gov.frameworkdemoiselle.security.ServletAuthorizer; +import br.gov.frameworkdemoiselle.util.ServletFilter; +import br.gov.frameworkdemoiselle.util.ServletListener; + +@Ignore +public final class Tests { + + private Tests() { + } + + public static WebArchive createDeployment(final Class baseClass) { + return createDeployment().addPackages(true, baseClass.getPackage()).addClass(Tests.class); + } + + public static WebArchive createDeployment() { + File[] libs = Maven.resolver().offline().loadPomFromFile("pom.xml", "arquillian-test") + .importCompileAndRuntimeDependencies().resolve().withTransitivity().asFile(); + + return ShrinkWrap + .create(WebArchive.class) + .addClass(Credentials.class) + .addClass(ServletAuthenticator.class) + .addClass(ServletAuthorizer.class) + .addClass(ServletFilter.class) + .addClass(ServletListener.class) + .addClass(HttpServletRequestProducer.class) + .addClass(HttpServletResponseProducer.class) + .addClass(HttpSessionProducer.class) + .addClass(ServletLocaleProducer.class) + .addClass(BasicAuthenticationFilter.class) + .addClass(HttpServletRequestProducerFilter.class) + .addClass(HttpServletResponseProducerFilter.class) + .addClass(InternalProcessorFilterImpl.class) + .addAsResource(createFileAsset("src/main/resources/demoiselle-servlet-bundle.properties"), + "demoiselle-servlet-bundle.properties") + .addAsWebInfResource(createFileAsset("src/test/resources/test/beans.xml"), "beans.xml") + .addAsLibraries(libs); + } + + public static FileAsset createFileAsset(final String pathname) { + return new FileAsset(new File(pathname)); + } +} diff --git a/impl/extension/servlet/src/test/java/xxxx/XServlet.java b/impl/extension/servlet/src/test/java/xxxx/XServlet.java new file mode 100644 index 0000000..10b09ec --- /dev/null +++ b/impl/extension/servlet/src/test/java/xxxx/XServlet.java @@ -0,0 +1,35 @@ +package xxxx; + +import java.io.IOException; + +import javax.inject.Inject; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import br.gov.frameworkdemoiselle.security.Credentials; +import br.gov.frameworkdemoiselle.security.SecurityContext; + +@WebServlet("/login") +public class XServlet extends HttpServlet { + + private static final long serialVersionUID = 1L; + + @Inject + private SecurityContext securityContext; + + @Inject + private Credentials credentials; + + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + super.doGet(request, response); + + credentials.setUsername("admin"); + credentials.setPassword("changeit"); + + securityContext.login(); + } +} diff --git a/impl/extension/servlet/src/test/java/xxxx/XTest.java b/impl/extension/servlet/src/test/java/xxxx/XTest.java new file mode 100644 index 0000000..bf6eb1b --- /dev/null +++ b/impl/extension/servlet/src/test/java/xxxx/XTest.java @@ -0,0 +1,45 @@ +package xxxx; + +import java.net.URL; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.drone.api.annotation.Drone; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.arquillian.test.api.ArquillianResource; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.Test; +import org.junit.runner.RunWith; + +import test.Tests; + +import com.thoughtworks.selenium.DefaultSelenium; + +@RunWith(Arquillian.class) +public class XTest { + + private static final String PATH = "src/test/resources/xxx"; + + @Drone + private DefaultSelenium browser; + + @ArquillianResource + private URL deploymentUrl; + + @Deployment(testable = false) + public static WebArchive createDeployment() { + return Tests.createDeployment().addAsWebInfResource(Tests.createFileAsset(PATH + "/web.xml"), "web.xml"); + } + + @Test + public void xxxx() { + browser.open(deploymentUrl + "login"); + + // browser.type("id=xxx-input", "demo"); + // browser.waitForPageToLoad("15000"); + + // assertTrue("User should be logged in!", + // browser.isElementPresent("xpath=//li[contains(text(), 'Welcome')]")); + // assertTrue("Username should be shown!", + // browser.isElementPresent("xpath=//p[contains(text(), 'You are signed in as demo.')]")); + } +} diff --git a/impl/extension/servlet/src/test/resources/.drone.profile b/impl/extension/servlet/src/test/resources/.drone.profile new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/impl/extension/servlet/src/test/resources/.drone.profile diff --git a/impl/extension/servlet/src/test/resources/.glassfish.profile b/impl/extension/servlet/src/test/resources/.glassfish.profile new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/impl/extension/servlet/src/test/resources/.glassfish.profile diff --git a/impl/extension/servlet/src/test/resources/arquillian.xml b/impl/extension/servlet/src/test/resources/arquillian.xml new file mode 100644 index 0000000..80a0dac --- /dev/null +++ b/impl/extension/servlet/src/test/resources/arquillian.xml @@ -0,0 +1,68 @@ + + + + + + target/deployments + + + + + + + + diff --git a/impl/extension/servlet/src/test/resources/test/beans.xml b/impl/extension/servlet/src/test/resources/test/beans.xml new file mode 100644 index 0000000..2bb9523 --- /dev/null +++ b/impl/extension/servlet/src/test/resources/test/beans.xml @@ -0,0 +1,47 @@ + + + + + br.gov.frameworkdemoiselle.transaction.TransactionalInterceptor + br.gov.frameworkdemoiselle.security.RequiredPermissionInterceptor + br.gov.frameworkdemoiselle.security.RequiredRoleInterceptor + br.gov.frameworkdemoiselle.exception.ExceptionHandlerInterceptor + + + diff --git a/impl/extension/servlet/src/test/resources/xxx/web.xml b/impl/extension/servlet/src/test/resources/xxx/web.xml new file mode 100644 index 0000000..70d32be --- /dev/null +++ b/impl/extension/servlet/src/test/resources/xxx/web.xml @@ -0,0 +1,52 @@ + + + + + br.gov.frameworkdemoiselle.util.ServletListener + + + Demoiselle Servlet Filter + br.gov.frameworkdemoiselle.util.ServletFilter + + + Demoiselle Servlet Filter + /* + + + \ No newline at end of file diff --git a/parent/extension/pom.xml b/parent/extension/pom.xml index b77b121..69b2c37 100755 --- a/parent/extension/pom.xml +++ b/parent/extension/pom.xml @@ -191,7 +191,7 @@ arquillian-weld-se-embedded - .arquillian-weld-se-embedded + src/test/resources/.weldse.profile @@ -209,7 +209,12 @@ arquillian-glassfish-embedded + + src/test/resources/.glassfish.profile + + @@ -230,7 +235,7 @@ arquillian-jbossas7-managed - .arquillian-jbossas7-managed + src/test/resources/.jbossas7.profile @@ -312,6 +317,58 @@ + + arquillian-drone + + + src/test/resources/.drone.profile + + + + + + org.jboss.arquillian.extension + arquillian-drone-bom + ${arquillian.bom.version} + pom + import + + + + + + org.jboss.arquillian.extension + arquillian-drone-impl + test + + + org.jboss.arquillian.extension + arquillian-drone-selenium + test + + + org.jboss.arquillian.extension + arquillian-drone-selenium-server + test + + + org.seleniumhq.selenium + selenium-java + test + + + org.seleniumhq.selenium + selenium-server + test + + + org.mortbay.jetty + servlet-api-2.5 + + + + + diff --git a/parent/framework/pom.xml b/parent/framework/pom.xml index 27137db..78930ca 100755 --- a/parent/framework/pom.xml +++ b/parent/framework/pom.xml @@ -56,6 +56,16 @@ http://www.frameworkdemoiselle.gov.br + + + + org.apache.maven.plugins + maven-eclipse-plugin + 2.9 + + + + GNU Lesser General Public License, Version 3 diff --git a/pom.xml b/pom.xml index f5af2f3..810d4e4 100755 --- a/pom.xml +++ b/pom.xml @@ -94,6 +94,11 @@ true + + org.apache.maven.plugins + maven-eclipse-plugin + 2.9 + -- libgit2 0.21.2