diff options
Diffstat (limited to 'id/server/moa-id-commons/src/test')
5 files changed, 225 insertions, 0 deletions
| diff --git a/id/server/moa-id-commons/src/test/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBReadTest.java b/id/server/moa-id-commons/src/test/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBReadTest.java new file mode 100644 index 000000000..563959582 --- /dev/null +++ b/id/server/moa-id-commons/src/test/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBReadTest.java @@ -0,0 +1,128 @@ +//package at.gv.egovernment.moa.id.commons.db; +// +//import static org.junit.Assert.assertFalse; +//import static org.junit.Assert.assertTrue; +// +//import java.io.FileNotFoundException; +//import java.io.IOException; +//import java.io.InputStream; +//import java.lang.reflect.InvocationTargetException; +//import java.lang.reflect.Method; +//import java.util.Arrays; +//import java.util.List; +//import java.util.Properties; +// +//import org.junit.Before; +//import org.junit.Test; +//import org.junit.runner.RunWith; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.test.annotation.IfProfileValue; +//import org.springframework.test.context.ContextConfiguration; +//import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +// +//import at.gv.egovernment.moa.id.commons.config.persistence.MOAIDConfiguration; +//import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentGeneral; +//import at.gv.egovernment.moa.id.commons.db.ex.MOADatabaseException; +// +//import com.fasterxml.jackson.annotation.JsonProperty; +// +//@RunWith(SpringJUnit4ClassRunner.class) +//@ContextConfiguration("configuration.beans-test.xml") +//@IfProfileValue(name = "test-groups", values = { "manual" }) +//public class ConfigurationDBReadTest { +// +//	@Autowired +//	MOAIDConfiguration configDataBase; +// +//	private Properties getHibernateProperties() throws FileNotFoundException, IOException { +// +//		Properties configProp = null; +//		try (InputStream in = ConfigurationDBReadTest.class.getResourceAsStream("hibernate.properties");) { +//			Properties props = new Properties(); +//			props.load(in); +//			// read Config Hibernate properties +//			configProp = new Properties(); +//			for (Object key : props.keySet()) { +//				String propPrefix = "configuration."; +//				if (key.toString().startsWith(propPrefix + "hibernate")) { +//					String propertyName = key.toString().substring(propPrefix.length()); +//					configProp.put(propertyName, props.get(key.toString())); +//				} +//			} +//		} +// +//		return configProp; +//	} +// +//	private void migrateDatabase(List<String> methodNames) throws IllegalAccessException, IllegalArgumentException, +//			InvocationTargetException, NoSuchMethodException, SecurityException { +//		for (String name : methodNames) { +//			Method method = ConfigurationFromDBExtractor.class.getMethod(name); +//			Object tmp = method.invoke(null, new Object[] {}); +//			JsonProperty annotation = method.getAnnotation(JsonProperty.class); +//			if (annotation != null) { +//				configDataBase.set(annotation.value(), tmp); +//			} else { +//				System.out.println("Methods must be annotated, annotation is used as key in key-value db."); +//				assertTrue(false); +//			} +//		} +//	} +// +//	@Before +//	public void initialize() throws FileNotFoundException, MOADatabaseException, IOException, IllegalAccessException, +//			IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException { +// +//		// initialize the connection to the old database +//		ConfigurationDBUtils.initHibernate(getHibernateProperties()); +// +//		// migrate the data in the old database to a new key value database +//		List<String> methodNames = Arrays.asList("getAuthComponentGeneral", "getChainingModes", +//				"getTrustedCACertificates", "getDefaultBKUs", "getSLRequestTemplates", "getTimeStampItem", +//				"getPvp2RefreshItem", "getOnlineApplications", "getGenericConfigurations"); +//		migrateDatabase(methodNames); +// +//		// close the session with the old database +//		 +//	} +// +//	@Test +//	public void testGetMOAIDConfiguration() throws FileNotFoundException, MOADatabaseException, IOException, +//			IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, +//			SecurityException { +// +//		// get the old moaid configuration +//		at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration oldConfig = ConfigurationDBRead.getMOAIDConfiguration(); +// +//		// get the a new moaid configuration from the data in the key value +//		// database +//		at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration newConfig = NewConfigurationDBRead.getMOAIDConfiguration(); +// +//		// check if both configurations yield a similar MOAIDConfiguration +//		// object +//		assertTrue(oldConfig.equals(newConfig)); +// +//	} +// +//	@Test +//	public void testGetMOAIDConfigurationNotEqual() throws FileNotFoundException, MOADatabaseException, IOException, +//			IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, +//			SecurityException { +// +//		// get the old moaid configuration +//		at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration oldConfig = ConfigurationDBRead.getMOAIDConfiguration(); +// +//		// delete part of the configuration +//		oldConfig.setAuthComponentGeneral(new AuthComponentGeneral()); +// +//		// get the a new moaid configuration from the data in the key value +//		// database +//		at.gv.egovernment.moa.id.commons.db.dao.config.MOAIDConfiguration newConfig = NewConfigurationDBRead.getMOAIDConfiguration(); +// +//		// check if both configurations yield a similar MOAIDConfiguration +//		// object +//		assertFalse(oldConfig.equals(newConfig)); +// +//	} +// +//} diff --git a/id/server/moa-id-commons/src/test/resources/at/gv/egovernment/moa/id/commons/db/configuration.beans-test.xml b/id/server/moa-id-commons/src/test/resources/at/gv/egovernment/moa/id/commons/db/configuration.beans-test.xml new file mode 100644 index 000000000..cfe4db385 --- /dev/null +++ b/id/server/moa-id-commons/src/test/resources/at/gv/egovernment/moa/id/commons/db/configuration.beans-test.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" +	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +	xmlns:context="http://www.springframework.org/schema/context" +	xmlns:tx="http://www.springframework.org/schema/tx" +	xmlns:aop="http://www.springframework.org/schema/aop" +	xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd +		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd +		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd +		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> + +	<tx:annotation-driven /> +	<context:annotation-config /> + +	<context:property-placeholder +		location="classpath:at/gv/egovernment/moa/id/commons/db/testDatabase.properties" /> + +	<bean id="configPropertyDao" +		class="at.gv.egovernment.moa.id.commons.db.dao.config.ConfigPropertyDaoImpl" /> +	<bean id="config" class="at.gv.egovernment.moa.id.commons.config.persistence.ConfigurationImpl"> +		<property name="configPropertyDao" ref="configPropertyDao" /> +	</bean> + +	<bean id="configRead" class="at.gv.egovernment.moa.id.commons.db.NewConfigurationDBRead"/> + +	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" lazy-init="true" destroy-method="close"> +		<aop:scoped-proxy/> +		<property name="driverClassName" value="${dataSource.driverClassName}" /> +		<property name="url" value="${dataSource.url}"/> +		<property name="username" value="${dataSource.username}" /> +		<property name="password" value="${dataSource.password}" /> +		<property name="testOnBorrow" value="true" /> +		<property name="validationQuery" value="SELECT 1" /> +	</bean> +	 + +	<bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> +		<property name="showSql" value="true" /> +		<property name="generateDdl" value="${jpaVendorAdapter.generateDdl}" /> +		<property name="databasePlatform" value="${jpaVendorAdapter.databasePlatform}" /> +	</bean> + + +	<bean name="moaidconf" id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> +		<property name="dataSource" ref="dataSource" /> +		<property name="jpaVendorAdapter" ref="jpaVendorAdapter" /> +		<property name="persistenceUnitName" value="moaidconf" /> +	</bean> +	 +	 <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> +		<property name="entityManagerFactory" ref="entityManagerFactory" /> +	</bean>   +	 +</beans>
\ No newline at end of file diff --git a/id/server/moa-id-commons/src/test/resources/at/gv/egovernment/moa/id/commons/db/hibernate.properties b/id/server/moa-id-commons/src/test/resources/at/gv/egovernment/moa/id/commons/db/hibernate.properties new file mode 100644 index 000000000..095a5e5ac --- /dev/null +++ b/id/server/moa-id-commons/src/test/resources/at/gv/egovernment/moa/id/commons/db/hibernate.properties @@ -0,0 +1,20 @@ +#Hibnerate configuration for MOA-ID 2.0 configuration +configuration.hibernate.dialect=org.hibernate.dialect.MySQLDialect +configuration.hibernate.connection.url=jdbc:mysql://localhost/moa-id-config?charSet=utf-8&autoReconnect=true +configuration.hibernate.connection.charSet=utf-8 +configuration.hibernate.connection.driver_class=com.mysql.jdbc.Driver +configuration.hibernate.connection.username=moaid +configuration.hibernate.connection.password=moaid + +configuration.hibernate.hbm2ddl.auto=update +configuration.hibernate.current_session_context_class=thread +configuration.hibernate.transaction.auto_close_session=true +configuration.hibernate.show_sql=false +configuration.hibernate.format_sql=true +configuration.hibernate.connection.provider_class=org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider +configuration.hibernate.c3p0.acquire_increment=3 +configuration.hibernate.c3p0.idle_test_period=60 +configuration.hibernate.c3p0.timeout=300 +configuration.hibernate.c3p0.max_size=20 +configuration.hibernate.c3p0.max_statements=0 +configuration.hibernate.c3p0.min_size=3
\ No newline at end of file diff --git a/id/server/moa-id-commons/src/test/resources/at/gv/egovernment/moa/id/commons/db/testDatabase.properties b/id/server/moa-id-commons/src/test/resources/at/gv/egovernment/moa/id/commons/db/testDatabase.properties new file mode 100644 index 000000000..6036d2846 --- /dev/null +++ b/id/server/moa-id-commons/src/test/resources/at/gv/egovernment/moa/id/commons/db/testDatabase.properties @@ -0,0 +1,7 @@ +dataSource.driverClassName=org.h2.Driver +dataSource.url=jdbc:h2:mem:moaidconftest +dataSource.username= +dataSource.password= + +jpaVendorAdapter.databasePlatform=org.hibernate.dialect.H2Dialect +jpaVendorAdapter.generateDdl=true
\ No newline at end of file diff --git a/id/server/moa-id-commons/src/test/resources/log4j.xml b/id/server/moa-id-commons/src/test/resources/log4j.xml new file mode 100644 index 000000000..6685c1e82 --- /dev/null +++ b/id/server/moa-id-commons/src/test/resources/log4j.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> + +<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> +	<appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender"> +		<layout class="org.apache.log4j.PatternLayout"> +			<param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss} %5p %c{1} - %m%n" /> +		</layout> +	</appender> + +	<root> +		<priority value="info" /> +		<appender-ref ref="consoleAppender" /> +	</root> + +</log4j:configuration> | 
