package org.ovirt.engine.core.config; import static org.junit.Assert.assertTrue; import java.sql.Connection; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.log4j.Logger; import org.junit.BeforeClass; import org.junit.Test; import org.ovirt.engine.core.tools.common.db.JbossConnectionFactory; public class RhevConnectionFactoryTest { public static final Logger log = Logger.getLogger(RhevConnectionFactoryTest.class); private static Configuration appConfig = null; @BeforeClass public static void initConfigurationFile() throws ConfigurationException { appConfig = new PropertiesConfiguration("target/test-classes/engine-tools.conf"); } /** * Test tries to obtain a database connection by connectivity credentials which were extracted from JBoss * configuration files in non-encrypted form * @throws Exception */ @Test public void getConnectionByOpenPassword() throws Exception { log.info("getConnectionByOpenPassword: Testing obtaining a connection by non-encrypted password"); String jbossDataSourceFile = appConfig.getString("jbossDataSourceFile"); JbossConnectionFactory connectionFactory = new JbossConnectionFactory(jbossDataSourceFile, null); Connection connection = connectionFactory.getConnection(); connection.close(); assertTrue(connection.isClosed()); } /** * Test tries to obtain a database connection by connectivity credentials which were extracted from JBoss * configuration files in an encrypted form * @throws Exception */ @Test public void getConnectionBySecuredPassword() throws Exception { log.info("getConnectionBySecuredPassword: Testing obtaining a connection by an encrypted password"); String jbossDataSourceFile = appConfig.getString("jbossEncodedDataSourceFile"); String jbossLoginConfigFile = appConfig.getString("jbossEncodedLoginConfigFile"); JbossConnectionFactory connectionFactory = new JbossConnectionFactory(jbossDataSourceFile, jbossLoginConfigFile); Connection connection = connectionFactory.getConnection(); connection.close(); assertTrue(connection.isClosed()); } }