From 70f681185f2d568bdcac548ef955f974a8041c9b Mon Sep 17 00:00:00 2001 From: lusabo Date: Thu, 22 Aug 2013 17:12:32 -0300 Subject: [PATCH] Adição de testes da extensão JDBC --- impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerMultipleConnectionsTest.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerNoConnectionTest.java | 40 ++++++++++++++++++++++++++++++++++++++++ impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerTest.java | 46 ---------------------------------------------- impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerWithNameTest.java | 41 +++++++++++++++++++++++++++++++++++++++++ impl/extension/jdbc/src/test/java/xxx/XTest.java | 38 -------------------------------------- impl/extension/jdbc/src/test/resources/producer/demoiselle.properties | 9 --------- impl/extension/jdbc/src/test/resources/producer/without-name/demoiselle.properties | 4 ++++ impl/extension/jdbc/src/test/resources/xxx/demoiselle.properties | 39 --------------------------------------- 8 files changed, 140 insertions(+), 132 deletions(-) create mode 100644 impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerMultipleConnectionsTest.java create mode 100644 impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerNoConnectionTest.java delete mode 100644 impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerTest.java create mode 100644 impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerWithNameTest.java delete mode 100644 impl/extension/jdbc/src/test/java/xxx/XTest.java delete mode 100644 impl/extension/jdbc/src/test/resources/producer/demoiselle.properties create mode 100644 impl/extension/jdbc/src/test/resources/producer/without-name/demoiselle.properties delete mode 100644 impl/extension/jdbc/src/test/resources/xxx/demoiselle.properties diff --git a/impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerMultipleConnectionsTest.java b/impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerMultipleConnectionsTest.java new file mode 100644 index 0000000..2a2ca4b --- /dev/null +++ b/impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerMultipleConnectionsTest.java @@ -0,0 +1,55 @@ +package connection.producer; + +import static org.junit.Assert.assertEquals; + +import java.sql.Connection; +import java.sql.SQLException; + +import javax.inject.Inject; + +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.annotation.Name; + +@RunWith(Arquillian.class) +public class ConnectionProducerMultipleConnectionsTest { + + private static String PATH = "src/test/resources/producer/multiple-connections"; + + @Inject + @Name("conn1") + private Connection conn1; + + @Inject + @Name("conn2") + private Connection conn2; + + // Conexão Default + @Inject + private Connection conn3; + + @Inject + @Name("conn4") + private Connection conn4; + + @Deployment + public static WebArchive createDeployment() { + WebArchive deployment = Tests.createDeployment(ConnectionProducerMultipleConnectionsTest.class); + deployment.addAsResource(Tests.createFileAsset(PATH + "/demoiselle.properties"), "demoiselle.properties"); + return deployment; + } + + @Test + public void createConnection() throws SQLException { + assertEquals(conn1.getMetaData().getURL(), "jdbc:hsqldb:hsql1"); + assertEquals(conn2.getMetaData().getURL(), "jdbc:hsqldb:hsql2"); + assertEquals(conn3.getMetaData().getURL(), "jdbc:hsqldb:hsql3"); + assertEquals(conn4.getMetaData().getURL(), "jdbc:derby:target/databases/derby"); + } + +} diff --git a/impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerNoConnectionTest.java b/impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerNoConnectionTest.java new file mode 100644 index 0000000..8a26969 --- /dev/null +++ b/impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerNoConnectionTest.java @@ -0,0 +1,40 @@ +package connection.producer; + +import java.sql.Connection; +import java.sql.SQLException; + +import javax.enterprise.inject.Instance; +import javax.inject.Inject; + +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.DemoiselleException; +import br.gov.frameworkdemoiselle.annotation.Name; + +@RunWith(Arquillian.class) +public class ConnectionProducerNoConnectionTest { + + private static String PATH = "src/test/resources/producer/no-connection"; + + @Inject + @Name("conn1") + private Instance conn1; + + @Deployment + public static WebArchive createDeployment() { + WebArchive deployment = Tests.createDeployment(ConnectionProducerNoConnectionTest.class); + deployment.addAsResource(Tests.createFileAsset(PATH + "/demoiselle.properties"), "demoiselle.properties"); + return deployment; + } + + @Test(expected = DemoiselleException.class) + public void failOnCreateConnection() throws SQLException { + String url = ((Connection)conn1).getMetaData().getURL(); + } + +} diff --git a/impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerTest.java b/impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerTest.java deleted file mode 100644 index dd6e062..0000000 --- a/impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerTest.java +++ /dev/null @@ -1,46 +0,0 @@ -package connection.producer; - -import static org.junit.Assert.assertNotNull; - -import java.sql.Connection; - -import javax.inject.Inject; - -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.annotation.Name; - -@RunWith(Arquillian.class) -public class ConnectionProducerTest { - - private static String PATH = "src/test/resources/producer"; - - @Inject - @Name("conn1") - private Connection connectionWithName; - - @Inject - private Connection connectionWithoutName; - - @Deployment - public static WebArchive createDeployment() { - WebArchive deployment = Tests.createDeployment(ConnectionProducerTest.class); - deployment.addAsResource(Tests.createFileAsset(PATH + "/demoiselle.properties"), "demoiselle.properties"); - return deployment; - } - - @Test - public void createDefaultConnectionWithName(){ - assertNotNull(connectionWithName); - } - - @Test - public void createDefaultConnectionWithoutName(){ - assertNotNull(connectionWithoutName); - } -} diff --git a/impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerWithNameTest.java b/impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerWithNameTest.java new file mode 100644 index 0000000..12f7c7a --- /dev/null +++ b/impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerWithNameTest.java @@ -0,0 +1,41 @@ +package connection.producer; + +import static org.junit.Assert.assertNotNull; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; + +import javax.inject.Inject; + +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.annotation.Name; + +@RunWith(Arquillian.class) +public class ConnectionProducerWithNameTest { + + private static String PATH = "src/test/resources/producer/with-name"; + + @Inject + @Name("conn1") + private Connection connection; + + @Deployment + public static WebArchive createDeployment() { + WebArchive deployment = Tests.createDeployment(ConnectionProducerWithNameTest.class); + deployment.addAsResource(Tests.createFileAsset(PATH + "/demoiselle.properties"), "demoiselle.properties"); + return deployment; + } + + @Test + public void createConnection() { + assertNotNull(connection); + } + +} diff --git a/impl/extension/jdbc/src/test/java/xxx/XTest.java b/impl/extension/jdbc/src/test/java/xxx/XTest.java deleted file mode 100644 index db563a0..0000000 --- a/impl/extension/jdbc/src/test/java/xxx/XTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package xxx; - -import static junit.framework.Assert.assertNotNull; - -import java.sql.Connection; - -import javax.inject.Inject; - -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; - -@RunWith(Arquillian.class) -public class XTest { - - private static final String PATH = "src/test/resources/xxx"; - - @Inject - private Connection conn; - - @Deployment - public static WebArchive createDeployment() { - WebArchive deployment = Tests.createDeployment(XTest.class); - deployment.addAsResource(Tests.createFileAsset(PATH + "/demoiselle.properties"), - "demoiselle.properties"); - - return deployment; - } - - @Test - public void x() { - assertNotNull(conn); - } -} diff --git a/impl/extension/jdbc/src/test/resources/producer/demoiselle.properties b/impl/extension/jdbc/src/test/resources/producer/demoiselle.properties deleted file mode 100644 index 2828cb6..0000000 --- a/impl/extension/jdbc/src/test/resources/producer/demoiselle.properties +++ /dev/null @@ -1,9 +0,0 @@ -frameworkdemoiselle.persistence.driver.class=org.hsqldb.jdbcDriver -frameworkdemoiselle.persistence.url=jdbc:hsqldb:hsql -frameworkdemoiselle.persistence.username=sa -frameworkdemoiselle.persistence.password= - -frameworkdemoiselle.persistence.conn1.driver.class=org.hsqldb.jdbcDriver -frameworkdemoiselle.persistence.conn1.url=jdbc:hsqldb:hsql -frameworkdemoiselle.persistence.conn1.username=sa -frameworkdemoiselle.persistence.conn1.password= \ No newline at end of file diff --git a/impl/extension/jdbc/src/test/resources/producer/without-name/demoiselle.properties b/impl/extension/jdbc/src/test/resources/producer/without-name/demoiselle.properties new file mode 100644 index 0000000..5c046c2 --- /dev/null +++ b/impl/extension/jdbc/src/test/resources/producer/without-name/demoiselle.properties @@ -0,0 +1,4 @@ +frameworkdemoiselle.persistence.driver.class=org.hsqldb.jdbcDriver +frameworkdemoiselle.persistence.url=jdbc:hsqldb:hsql +frameworkdemoiselle.persistence.username=sa +frameworkdemoiselle.persistence.password= \ No newline at end of file diff --git a/impl/extension/jdbc/src/test/resources/xxx/demoiselle.properties b/impl/extension/jdbc/src/test/resources/xxx/demoiselle.properties deleted file mode 100644 index 3420e53..0000000 --- a/impl/extension/jdbc/src/test/resources/xxx/demoiselle.properties +++ /dev/null @@ -1,39 +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.driver.class=org.hsqldb.jdbcDriver -frameworkdemoiselle.persistence.url=jdbc:hsqldb:mem:xxx -frameworkdemoiselle.persistence.username=sa -frameworkdemoiselle.persistence.password= -- libgit2 0.21.2