aboutsummaryrefslogtreecommitdiff
path: root/id/server/moa-id-commons/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/moa-id-commons/src/test')
-rw-r--r--id/server/moa-id-commons/src/test/java/at/gv/egovernment/moa/id/commons/db/ConfigurationDBReadTest.java128
-rw-r--r--id/server/moa-id-commons/src/test/resources/at/gv/egovernment/moa/id/commons/db/configuration.beans-test.xml54
-rw-r--r--id/server/moa-id-commons/src/test/resources/at/gv/egovernment/moa/id/commons/db/hibernate.properties20
-rw-r--r--id/server/moa-id-commons/src/test/resources/at/gv/egovernment/moa/id/commons/db/testDatabase.properties7
-rw-r--r--id/server/moa-id-commons/src/test/resources/log4j.xml16
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..896a26064
--- /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
+// ConfigurationDBUtils.closeSession();
+// }
+//
+// @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>