Commit 70f681185f2d568bdcac548ef955f974a8041c9b

Authored by Luciano Borges
1 parent 6304f7c6
Exists in master

Adição de testes da extensão JDBC

impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerMultipleConnectionsTest.java 0 → 100644
... ... @@ -0,0 +1,55 @@
  1 +package connection.producer;
  2 +
  3 +import static org.junit.Assert.assertEquals;
  4 +
  5 +import java.sql.Connection;
  6 +import java.sql.SQLException;
  7 +
  8 +import javax.inject.Inject;
  9 +
  10 +import org.jboss.arquillian.container.test.api.Deployment;
  11 +import org.jboss.arquillian.junit.Arquillian;
  12 +import org.jboss.shrinkwrap.api.spec.WebArchive;
  13 +import org.junit.Test;
  14 +import org.junit.runner.RunWith;
  15 +
  16 +import test.Tests;
  17 +import br.gov.frameworkdemoiselle.annotation.Name;
  18 +
  19 +@RunWith(Arquillian.class)
  20 +public class ConnectionProducerMultipleConnectionsTest {
  21 +
  22 + private static String PATH = "src/test/resources/producer/multiple-connections";
  23 +
  24 + @Inject
  25 + @Name("conn1")
  26 + private Connection conn1;
  27 +
  28 + @Inject
  29 + @Name("conn2")
  30 + private Connection conn2;
  31 +
  32 + // Conexão Default
  33 + @Inject
  34 + private Connection conn3;
  35 +
  36 + @Inject
  37 + @Name("conn4")
  38 + private Connection conn4;
  39 +
  40 + @Deployment
  41 + public static WebArchive createDeployment() {
  42 + WebArchive deployment = Tests.createDeployment(ConnectionProducerMultipleConnectionsTest.class);
  43 + deployment.addAsResource(Tests.createFileAsset(PATH + "/demoiselle.properties"), "demoiselle.properties");
  44 + return deployment;
  45 + }
  46 +
  47 + @Test
  48 + public void createConnection() throws SQLException {
  49 + assertEquals(conn1.getMetaData().getURL(), "jdbc:hsqldb:hsql1");
  50 + assertEquals(conn2.getMetaData().getURL(), "jdbc:hsqldb:hsql2");
  51 + assertEquals(conn3.getMetaData().getURL(), "jdbc:hsqldb:hsql3");
  52 + assertEquals(conn4.getMetaData().getURL(), "jdbc:derby:target/databases/derby");
  53 + }
  54 +
  55 +}
... ...
impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerNoConnectionTest.java 0 → 100644
... ... @@ -0,0 +1,40 @@
  1 +package connection.producer;
  2 +
  3 +import java.sql.Connection;
  4 +import java.sql.SQLException;
  5 +
  6 +import javax.enterprise.inject.Instance;
  7 +import javax.inject.Inject;
  8 +
  9 +import org.jboss.arquillian.container.test.api.Deployment;
  10 +import org.jboss.arquillian.junit.Arquillian;
  11 +import org.jboss.shrinkwrap.api.spec.WebArchive;
  12 +import org.junit.Test;
  13 +import org.junit.runner.RunWith;
  14 +
  15 +import test.Tests;
  16 +import br.gov.frameworkdemoiselle.DemoiselleException;
  17 +import br.gov.frameworkdemoiselle.annotation.Name;
  18 +
  19 +@RunWith(Arquillian.class)
  20 +public class ConnectionProducerNoConnectionTest {
  21 +
  22 + private static String PATH = "src/test/resources/producer/no-connection";
  23 +
  24 + @Inject
  25 + @Name("conn1")
  26 + private Instance<Connection> conn1;
  27 +
  28 + @Deployment
  29 + public static WebArchive createDeployment() {
  30 + WebArchive deployment = Tests.createDeployment(ConnectionProducerNoConnectionTest.class);
  31 + deployment.addAsResource(Tests.createFileAsset(PATH + "/demoiselle.properties"), "demoiselle.properties");
  32 + return deployment;
  33 + }
  34 +
  35 + @Test(expected = DemoiselleException.class)
  36 + public void failOnCreateConnection() throws SQLException {
  37 + String url = ((Connection)conn1).getMetaData().getURL();
  38 + }
  39 +
  40 +}
... ...
impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerTest.java
... ... @@ -1,46 +0,0 @@
1   -package connection.producer;
2   -
3   -import static org.junit.Assert.assertNotNull;
4   -
5   -import java.sql.Connection;
6   -
7   -import javax.inject.Inject;
8   -
9   -import org.jboss.arquillian.container.test.api.Deployment;
10   -import org.jboss.arquillian.junit.Arquillian;
11   -import org.jboss.shrinkwrap.api.spec.WebArchive;
12   -import org.junit.Test;
13   -import org.junit.runner.RunWith;
14   -
15   -import test.Tests;
16   -import br.gov.frameworkdemoiselle.annotation.Name;
17   -
18   -@RunWith(Arquillian.class)
19   -public class ConnectionProducerTest {
20   -
21   - private static String PATH = "src/test/resources/producer";
22   -
23   - @Inject
24   - @Name("conn1")
25   - private Connection connectionWithName;
26   -
27   - @Inject
28   - private Connection connectionWithoutName;
29   -
30   - @Deployment
31   - public static WebArchive createDeployment() {
32   - WebArchive deployment = Tests.createDeployment(ConnectionProducerTest.class);
33   - deployment.addAsResource(Tests.createFileAsset(PATH + "/demoiselle.properties"), "demoiselle.properties");
34   - return deployment;
35   - }
36   -
37   - @Test
38   - public void createDefaultConnectionWithName(){
39   - assertNotNull(connectionWithName);
40   - }
41   -
42   - @Test
43   - public void createDefaultConnectionWithoutName(){
44   - assertNotNull(connectionWithoutName);
45   - }
46   -}
impl/extension/jdbc/src/test/java/connection/producer/ConnectionProducerWithNameTest.java 0 → 100644
... ... @@ -0,0 +1,41 @@
  1 +package connection.producer;
  2 +
  3 +import static org.junit.Assert.assertNotNull;
  4 +
  5 +import java.sql.Connection;
  6 +import java.sql.ResultSet;
  7 +import java.sql.SQLException;
  8 +
  9 +import javax.inject.Inject;
  10 +
  11 +import org.jboss.arquillian.container.test.api.Deployment;
  12 +import org.jboss.arquillian.junit.Arquillian;
  13 +import org.jboss.shrinkwrap.api.spec.WebArchive;
  14 +import org.junit.Test;
  15 +import org.junit.runner.RunWith;
  16 +
  17 +import test.Tests;
  18 +import br.gov.frameworkdemoiselle.annotation.Name;
  19 +
  20 +@RunWith(Arquillian.class)
  21 +public class ConnectionProducerWithNameTest {
  22 +
  23 + private static String PATH = "src/test/resources/producer/with-name";
  24 +
  25 + @Inject
  26 + @Name("conn1")
  27 + private Connection connection;
  28 +
  29 + @Deployment
  30 + public static WebArchive createDeployment() {
  31 + WebArchive deployment = Tests.createDeployment(ConnectionProducerWithNameTest.class);
  32 + deployment.addAsResource(Tests.createFileAsset(PATH + "/demoiselle.properties"), "demoiselle.properties");
  33 + return deployment;
  34 + }
  35 +
  36 + @Test
  37 + public void createConnection() {
  38 + assertNotNull(connection);
  39 + }
  40 +
  41 +}
... ...
impl/extension/jdbc/src/test/java/xxx/XTest.java
... ... @@ -1,38 +0,0 @@
1   -package xxx;
2   -
3   -import static junit.framework.Assert.assertNotNull;
4   -
5   -import java.sql.Connection;
6   -
7   -import javax.inject.Inject;
8   -
9   -import org.jboss.arquillian.container.test.api.Deployment;
10   -import org.jboss.arquillian.junit.Arquillian;
11   -import org.jboss.shrinkwrap.api.spec.WebArchive;
12   -import org.junit.Test;
13   -import org.junit.runner.RunWith;
14   -
15   -import test.Tests;
16   -
17   -@RunWith(Arquillian.class)
18   -public class XTest {
19   -
20   - private static final String PATH = "src/test/resources/xxx";
21   -
22   - @Inject
23   - private Connection conn;
24   -
25   - @Deployment
26   - public static WebArchive createDeployment() {
27   - WebArchive deployment = Tests.createDeployment(XTest.class);
28   - deployment.addAsResource(Tests.createFileAsset(PATH + "/demoiselle.properties"),
29   - "demoiselle.properties");
30   -
31   - return deployment;
32   - }
33   -
34   - @Test
35   - public void x() {
36   - assertNotNull(conn);
37   - }
38   -}
impl/extension/jdbc/src/test/resources/producer/demoiselle.properties
... ... @@ -1,9 +0,0 @@
1   -frameworkdemoiselle.persistence.driver.class=org.hsqldb.jdbcDriver
2   -frameworkdemoiselle.persistence.url=jdbc:hsqldb:hsql
3   -frameworkdemoiselle.persistence.username=sa
4   -frameworkdemoiselle.persistence.password=
5   -
6   -frameworkdemoiselle.persistence.conn1.driver.class=org.hsqldb.jdbcDriver
7   -frameworkdemoiselle.persistence.conn1.url=jdbc:hsqldb:hsql
8   -frameworkdemoiselle.persistence.conn1.username=sa
9   -frameworkdemoiselle.persistence.conn1.password=
10 0 \ No newline at end of file
impl/extension/jdbc/src/test/resources/producer/without-name/demoiselle.properties 0 → 100644
... ... @@ -0,0 +1,4 @@
  1 +frameworkdemoiselle.persistence.driver.class=org.hsqldb.jdbcDriver
  2 +frameworkdemoiselle.persistence.url=jdbc:hsqldb:hsql
  3 +frameworkdemoiselle.persistence.username=sa
  4 +frameworkdemoiselle.persistence.password=
0 5 \ No newline at end of file
... ...
impl/extension/jdbc/src/test/resources/xxx/demoiselle.properties
... ... @@ -1,39 +0,0 @@
1   -# Demoiselle Framework
2   -# Copyright (C) 2010 SERPRO
3   -# ----------------------------------------------------------------------------
4   -# This file is part of Demoiselle Framework.
5   -#
6   -# Demoiselle Framework is free software; you can redistribute it and/or
7   -# modify it under the terms of the GNU Lesser General Public License version 3
8   -# as published by the Free Software Foundation.
9   -#
10   -# This program is distributed in the hope that it will be useful,
11   -# but WITHOUT ANY WARRANTY; without even the implied warranty of
12   -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13   -# GNU General Public License for more details.
14   -#
15   -# You should have received a copy of the GNU Lesser General Public License version 3
16   -# along with this program; if not, see <http://www.gnu.org/licenses/>
17   -# or write to the Free Software Foundation, Inc., 51 Franklin Street,
18   -# Fifth Floor, Boston, MA 02110-1301, USA.
19   -# ----------------------------------------------------------------------------
20   -# Este arquivo é parte do Framework Demoiselle.
21   -#
22   -# O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou
23   -# modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação
24   -# do Software Livre (FSF).
25   -#
26   -# Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
27   -# GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou
28   -# APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português
29   -# para maiores detalhes.
30   -#
31   -# Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título
32   -# "LICENCA.txt", junto com esse programa. Se não, acesse <http://www.gnu.org/licenses/>
33   -# ou escreva para a Fundação do Software Livre (FSF) Inc.,
34   -# 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
35   -
36   -frameworkdemoiselle.persistence.driver.class=org.hsqldb.jdbcDriver
37   -frameworkdemoiselle.persistence.url=jdbc:hsqldb:mem:xxx
38   -frameworkdemoiselle.persistence.username=sa
39   -frameworkdemoiselle.persistence.password=