package br.com.citframework.integracao; import java.sql.Connection; import javax.sql.DataSource; import org.junit.Assert; import org.junit.Test; /** * Classe de testes para valida��o do comportamento de {@link ConnectionProvider} * * {@link #testGetConnection()} - deve {@link Assert#assertNotNull(Object)} em um {@link Connection} <br> * {@link #testGetConnectionReadOnly()} - deve {@link Assert#assertNotNull(Object)} em um {@link Connection} <br> * {@link #testGetConnectionJNDI()} - deve {@link Assert#assertNotNull(Object)} em um {@link Connection} de {@link DataSource} publicado <br> * {@link #testGetConnectionJNDIWithoutPrefix()} - deve {@link Assert#assertNotNull(Object)} em um {@link Connection} de {@link DataSource} publicado <br> * {@link #testGetConnectionJNDIReadOnly()} - deve {@link Assert#assertNotNull(Object)} em um {@link Connection} de {@link DataSource} publicado <br> * {@link #testGetConnectionJNDINotFound()} - deve lan�ar uma {@link Exception}, pois o recurso n�o est� publicado <br> * {@link #testGetConnectionJNDIReadOnlyNotFound()} - deve lan�ar uma {@link Exception}, pois o recurso n�o est� publicado <br> * {@link #testGetConnectionWithClassURLUserPassword()} - deve {@link Assert#assertNotNull(Object)} em um {@link Connection} <br> * {@link #testGetConnectionWithoutClass()} - deve lan�ar uma {@link Exception}, pois o class do driver � obrigat�rio <br> * {@link #testGetConnectionWithoutURL()} - deve lan�ar uma {@link Exception}, pois a URL de conex�o � obrigat�ria <br> * {@link #testGetConnectionWithoutUser()} - deve lan�ar uma {@link Exception}, pois o usu�rio para conex�o � obrigat�rio <br> * {@link #testGetConnectionWithoutPassword()} - deve lan�ar uma {@link Exception}, pois a senha para ocnex�o � obrigat�ria <br> * {@link #testGetConnectionWithClassURLUserPasswordReadOnly()} - deve {@link Assert#assertNotNull(Object)} em um {@link Connection} <br> * {@link #testGetConnectionFromJNDI()} - deve {@link Assert#assertNotNull(Object)} em um {@link Connection} de {@link DataSource} publicado <br> * {@link #testGetConnectionFromJNDIReadOnly()} - deve {@link Assert#assertNotNull(Object)} em um {@link Connection} de {@link DataSource} publicado <br> * {@link #testGetConnectionFromJNDINotFound()} - deve lan�ar uma {@link Exception}, pois o recurso n�o est� publicado <br> * {@link #testGetConnectionFromJNDIReadOnlyNotFound()} - deve lan�ar uma {@link Exception}, pois o recurso n�o est� publicado * * @author bruno.ribeiro - <a href="mailto:bruno.ribeiro@centrait.com.br">bruno.ribeiro@centrait.com.br</a> * @since 19/08/2014 * */ public final class ConnectionProviderTest extends ConnectionProviderAbstractTest { @Test(expected = Exception.class) public void testGetConnection() throws Exception { final Connection conn = ConnectionProvider.getConnection(EMPTY_STRING); Assert.assertNotNull(conn); } @Test(expected = Exception.class) public void testGetConnectionReadOnly() throws Exception { final Connection conn = ConnectionProvider.getConnection(EMPTY_STRING, Boolean.TRUE); Assert.assertNotNull(conn); } @Test public void testGetConnectionJNDI() throws Exception { final Connection conn = ConnectionProvider.getConnection(JNDI_DATASOURCE); Assert.assertNotNull(conn); } @Test public void testGetConnectionJNDIWithoutPrefix() throws Exception { final Connection conn = ConnectionProvider.getConnection("jdbc/testDS"); Assert.assertNotNull(conn); } @Test public void testGetConnectionJNDIReadOnly() throws Exception { final Connection conn = ConnectionProvider.getConnection(JNDI_DATASOURCE, Boolean.TRUE); Assert.assertNotNull(conn); } @Test(expected = Exception.class) public void testGetConnectionJNDINotFound() throws Exception { final Connection conn = ConnectionProvider.getConnection(JNDI_DATASOURCE_NOTFOUND); Assert.assertNotNull(conn); } @Test(expected = Exception.class) public void testGetConnectionJNDIReadOnlyNotFound() throws Exception { final Connection conn = ConnectionProvider.getConnection(JNDI_DATASOURCE_NOTFOUND, Boolean.TRUE); Assert.assertNotNull(conn); } @Test public void testGetConnectionWithClassURLUserPassword() throws Exception { final Connection conn = ConnectionProvider.getConnection(EMBEDDED_JAVADB_JDBC_CLASS, EMBEDDED_JAVADB_JDBC_URL, EMBEDDED_JAVADB_JDBC_USER, EMBEDDED_JAVADB_JDBC_PASSWORD); Assert.assertNotNull(conn); } @Test(expected = IllegalArgumentException.class) public void testGetConnectionWithoutClass() throws Exception { final Connection conn = ConnectionProvider.getConnection(EMPTY_STRING, EMBEDDED_JAVADB_JDBC_URL, EMBEDDED_JAVADB_JDBC_USER, EMBEDDED_JAVADB_JDBC_PASSWORD); Assert.assertNull(conn); } @Test(expected = IllegalArgumentException.class) public void testGetConnectionWithoutURL() throws Exception { final Connection conn = ConnectionProvider.getConnection(EMBEDDED_JAVADB_JDBC_CLASS, EMPTY_STRING, EMBEDDED_JAVADB_JDBC_USER, EMBEDDED_JAVADB_JDBC_PASSWORD); Assert.assertNull(conn); } @Test(expected = IllegalArgumentException.class) public void testGetConnectionWithoutUser() throws Exception { final Connection conn = ConnectionProvider.getConnection(EMBEDDED_JAVADB_JDBC_CLASS, EMBEDDED_JAVADB_JDBC_URL, EMPTY_STRING, EMBEDDED_JAVADB_JDBC_PASSWORD); Assert.assertNull(conn); } @Test(expected = IllegalArgumentException.class) public void testGetConnectionWithoutPassword() throws Exception { final Connection conn = ConnectionProvider.getConnection(EMBEDDED_JAVADB_JDBC_CLASS, EMBEDDED_JAVADB_JDBC_URL, EMBEDDED_JAVADB_JDBC_USER, EMPTY_STRING); Assert.assertNull(conn); } @Test public void testGetConnectionWithClassURLUserPasswordReadOnly() throws Exception { final Connection conn = ConnectionProvider.getConnection(EMBEDDED_JAVADB_JDBC_CLASS, EMBEDDED_JAVADB_JDBC_URL, EMBEDDED_JAVADB_JDBC_USER, EMBEDDED_JAVADB_JDBC_PASSWORD, Boolean.TRUE); Assert.assertNotNull(conn); } @Test public void testGetConnectionFromJNDI() throws Exception { final Connection conn = ConnectionProvider.getConnectionFromJNDI(JNDI_DATASOURCE); Assert.assertNotNull(conn); } @Test public void testGetConnectionFromJNDIReadOnly() throws Exception { final Connection conn = ConnectionProvider.getConnectionFromJNDI(JNDI_DATASOURCE, Boolean.TRUE); Assert.assertNotNull(conn); } @Test(expected = Exception.class) public void testGetConnectionFromJNDINotFound() throws Exception { final Connection conn = ConnectionProvider.getConnectionFromJNDI(JNDI_DATASOURCE_NOTFOUND); Assert.assertNotNull(conn); } @Test(expected = Exception.class) public void testGetConnectionFromJNDIReadOnlyNotFound() throws Exception { final Connection conn = ConnectionProvider.getConnectionFromJNDI(JNDI_DATASOURCE_NOTFOUND, Boolean.TRUE); Assert.assertNotNull(conn); } }