aboutsummaryrefslogtreecommitdiff
path: root/connector/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'connector/src/test')
-rw-r--r--connector/src/test/java/at/asitplus/eidas/specific/connector/test/attributes/AuthBlockAttributeBuilderTest.java8
-rw-r--r--connector/src/test/java/at/asitplus/eidas/specific/connector/test/attributes/EidasBindAttributeBuilderTest.java9
-rw-r--r--connector/src/test/java/at/asitplus/eidas/specific/connector/test/config/BasicConfigurationTest.java4
-rw-r--r--connector/src/test/java/at/asitplus/eidas/specific/connector/test/controller/ProcessEngineSignalControllerTest.java2
-rw-r--r--connector/src/test/java/at/asitplus/eidas/specific/connector/test/health/EidasNodeMetadataHealthIndicatorNoEndpointTest.java70
-rw-r--r--connector/src/test/java/at/asitplus/eidas/specific/connector/test/health/EidasNodeMetadataHealthIndicatorTest.java102
-rw-r--r--connector/src/test/java/at/asitplus/eidas/specific/connector/test/saml2/Pvp2SProfileEndPointTest.java4
-rw-r--r--connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/EvaluateCountrySelectionTaskTest.java4
-rw-r--r--connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/GenerateCountrySelectionFrameTaskTest.java2
-rw-r--r--connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/AuthenticationDataBuilderTest.java636
-rw-r--r--connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/AuthnRequestValidatorTest.java8
-rw-r--r--connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/CountrySelectionProcessImplTest.java2
-rw-r--r--connector/src/test/resources/config/logback_config.xml4
-rw-r--r--connector/src/test/resources/spring/SpringTest-context_basic_test.xml22
-rw-r--r--connector/src/test/resources/spring/SpringTest-context_healthcheck.xml22
-rw-r--r--connector/src/test/resources/spring/SpringTest-context_simple_storage.xml15
-rw-r--r--connector/src/test/resources/spring/SpringTest_connector.beans.xml61
17 files changed, 25 insertions, 950 deletions
diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/attributes/AuthBlockAttributeBuilderTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/attributes/AuthBlockAttributeBuilderTest.java
index 5c0a1420..6c6276c3 100644
--- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/attributes/AuthBlockAttributeBuilderTest.java
+++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/attributes/AuthBlockAttributeBuilderTest.java
@@ -14,7 +14,7 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import at.asitplus.eidas.specific.connector.attributes.AuthBlockAttributeBuilder;
-import at.asitplus.eidas.specific.modules.auth.eidas.v2.Constants;
+import at.asitplus.eidas.specific.core.MsEidasNodeConstants;
import at.gv.egiz.eaaf.core.api.data.ExtendedPvpAttributeDefinitions;
import at.gv.egiz.eaaf.core.api.idp.IAttributeBuilder;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
@@ -62,7 +62,7 @@ public class AuthBlockAttributeBuilderTest extends AbstractAttributeBuilderTest
log.info("starting: " + mTestName);
try {
final IAuthData authData = buildAuthData();
- ((AuthenticationData) authData).setGenericData(Constants.SZR_AUTHBLOCK, JSW);
+ ((AuthenticationData) authData).setGenericData(MsEidasNodeConstants.AUTH_DATA_SZR_AUTHBLOCK, JSW);
final String value = attrBuilde.build(spConfig, authData, gen);
@@ -80,7 +80,7 @@ public class AuthBlockAttributeBuilderTest extends AbstractAttributeBuilderTest
log.info("starting: " + mTestName);
try {
final IAuthData authData = buildAuthData();
- ((AuthenticationData) authData).setGenericData(Constants.SZR_AUTHBLOCK, null);
+ ((AuthenticationData) authData).setGenericData(MsEidasNodeConstants.AUTH_DATA_SZR_AUTHBLOCK, null);
final String value = attrBuilde.build(spConfig, authData, gen);
Assert.fail("Attr. Builder provide no 'UnavailableAttributeException'");
@@ -99,7 +99,7 @@ public class AuthBlockAttributeBuilderTest extends AbstractAttributeBuilderTest
log.info("starting: " + mTestName);
try {
final IAuthData authData = buildAuthData();
- ((AuthenticationData) authData).setGenericData(Constants.SZR_AUTHBLOCK, "");
+ ((AuthenticationData) authData).setGenericData(MsEidasNodeConstants.AUTH_DATA_SZR_AUTHBLOCK, "");
final String value = attrBuilde.build(spConfig, authData, gen);
Assert.fail("Attr. Builder provide no 'UnavailableAttributeException'");
diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/attributes/EidasBindAttributeBuilderTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/attributes/EidasBindAttributeBuilderTest.java
index 9a2c6cdc..969a22fb 100644
--- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/attributes/EidasBindAttributeBuilderTest.java
+++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/attributes/EidasBindAttributeBuilderTest.java
@@ -1,7 +1,5 @@
package at.asitplus.eidas.specific.connector.test.attributes;
-import static at.asitplus.eidas.specific.modules.auth.eidas.v2.Constants.EIDAS_BIND;
-
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
@@ -12,6 +10,7 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import at.asitplus.eidas.specific.connector.attributes.EidasBindAttributeBuilder;
+import at.asitplus.eidas.specific.core.MsEidasNodeConstants;
import at.gv.egiz.eaaf.core.api.data.ExtendedPvpAttributeDefinitions;
import at.gv.egiz.eaaf.core.api.idp.IAttributeBuilder;
import at.gv.egiz.eaaf.core.api.idp.IAuthData;
@@ -54,7 +53,7 @@ public class EidasBindAttributeBuilderTest extends AbstractAttributeBuilderTest
log.info("starting: " + mTestName);
try {
final IAuthData authData = buildAuthData();
- ((AuthenticationData) authData).setGenericData(EIDAS_BIND, "vuG8w29GT0");
+ ((AuthenticationData) authData).setGenericData(MsEidasNodeConstants.AUTH_DATA_EIDAS_BIND, "vuG8w29GT0");
final String value = attrBuilde.build(spConfig, authData, gen);
@@ -70,7 +69,7 @@ public class EidasBindAttributeBuilderTest extends AbstractAttributeBuilderTest
log.info("starting: " + mTestName);
try {
final IAuthData authData = buildAuthData();
- ((AuthenticationData) authData).setGenericData(EIDAS_BIND, null);
+ ((AuthenticationData) authData).setGenericData(MsEidasNodeConstants.AUTH_DATA_EIDAS_BIND, null);
final String value = attrBuilde.build(spConfig, authData, gen);
Assert.fail("Attr. Builder provide no 'UnavailableAttributeException'");
@@ -89,7 +88,7 @@ public class EidasBindAttributeBuilderTest extends AbstractAttributeBuilderTest
log.info("starting: " + mTestName);
try {
final IAuthData authData = buildAuthData();
- ((AuthenticationData) authData).setGenericData(EIDAS_BIND, "");
+ ((AuthenticationData) authData).setGenericData(MsEidasNodeConstants.AUTH_DATA_EIDAS_BIND, "");
final String value = attrBuilde.build(spConfig, authData, gen);
Assert.fail("Attr. Builder provide no 'UnavailableAttributeException'");
diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/config/BasicConfigurationTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/config/BasicConfigurationTest.java
index 80307ea2..f9a43b52 100644
--- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/config/BasicConfigurationTest.java
+++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/config/BasicConfigurationTest.java
@@ -17,7 +17,7 @@ import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
-import at.asitplus.eidas.specific.connector.config.ServiceProviderConfiguration;
+import at.asitplus.eidas.specific.core.config.ServiceProviderConfiguration;
import at.gv.egiz.eaaf.core.api.data.EaafConstants;
import at.gv.egiz.eaaf.core.api.idp.IConfigurationWithSP;
import at.gv.egiz.eaaf.core.api.idp.ISpConfiguration;
@@ -28,7 +28,7 @@ import net.shibboleth.utilities.java.support.component.ComponentInitializationEx
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({
"/applicationContext.xml",
- "/specific_eIDAS_connector.beans.xml",
+ "/spring/SpringTest_connector.beans.xml",
"/eaaf_core.beans.xml",
"/eaaf_pvp.beans.xml",
"/eaaf_pvp_idp.beans.xml",
diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/controller/ProcessEngineSignalControllerTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/controller/ProcessEngineSignalControllerTest.java
index 5b612036..499c5937 100644
--- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/controller/ProcessEngineSignalControllerTest.java
+++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/controller/ProcessEngineSignalControllerTest.java
@@ -25,7 +25,7 @@ import at.gv.egiz.eaaf.core.exceptions.EaafStorageException;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({
"/applicationContext.xml",
- "/specific_eIDAS_connector.beans.xml",
+ "/spring/SpringTest_connector.beans.xml",
"/eaaf_core.beans.xml",
"/eaaf_pvp.beans.xml",
"/eaaf_pvp_idp.beans.xml",
diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/health/EidasNodeMetadataHealthIndicatorNoEndpointTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/health/EidasNodeMetadataHealthIndicatorNoEndpointTest.java
deleted file mode 100644
index b04a5bdb..00000000
--- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/health/EidasNodeMetadataHealthIndicatorNoEndpointTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package at.asitplus.eidas.specific.connector.test.health;
-
-import java.io.IOException;
-
-import org.apache.commons.io.IOUtils;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.actuate.health.Health;
-import org.springframework.http.MediaType;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.TestPropertySource;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import org.springframework.test.context.web.WebAppConfiguration;
-
-import at.asitplus.eidas.specific.connector.health.EidasNodeMetadataHealthIndicator;
-import okhttp3.mockwebserver.MockResponse;
-import okhttp3.mockwebserver.MockWebServer;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration({
- "/spring/SpringTest-context_healthcheck.xml" })
-@TestPropertySource(locations = {"classpath:/config/junit_config_2_springboot.properties"})
-@WebAppConfiguration
-public class EidasNodeMetadataHealthIndicatorNoEndpointTest {
-
- @Autowired EidasNodeMetadataHealthIndicator health;
-
- private static MockWebServer mockWebServer = null;
-
- /**
- * Testclass initializer.
- *
- * @throws IOException In case of an error
- */
- @BeforeClass
- public static void classInitializer() throws IOException {
- mockWebServer = new MockWebServer();
- mockWebServer.start(40900);
- mockWebServer.url("/mockup");
-
- }
-
- @AfterClass
- public static void resetTestEnviroment() throws NoSuchFieldException, SecurityException,
- IllegalArgumentException, IllegalAccessException, IOException {
- mockWebServer.shutdown();
-
- }
-
- @Test
- public void noEndpointInConfiguration() throws IOException {
- //set-up status
- mockWebServer.enqueue(new MockResponse().setResponseCode(200)
- .setBody(IOUtils.toString(EidasNodeMetadataHealthIndicatorNoEndpointTest.class
- .getResourceAsStream("/config/log4j.properties"), "UTF-8"))
- .setHeader("Content-Type", MediaType.APPLICATION_XML));
-
- //perform test
- Health status = health.health();
-
- //validate state
- Assert.assertEquals("wrong healthState", Health.unknown().build().getStatus(), status.getStatus());
-
- }
-
-}
diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/health/EidasNodeMetadataHealthIndicatorTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/health/EidasNodeMetadataHealthIndicatorTest.java
deleted file mode 100644
index b044d4d2..00000000
--- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/health/EidasNodeMetadataHealthIndicatorTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package at.asitplus.eidas.specific.connector.test.health;
-
-import java.io.IOException;
-
-import org.apache.commons.io.IOUtils;
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.actuate.health.Health;
-import org.springframework.http.MediaType;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.TestPropertySource;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import org.springframework.test.context.web.WebAppConfiguration;
-
-import at.asitplus.eidas.specific.connector.health.EidasNodeMetadataHealthIndicator;
-import okhttp3.mockwebserver.MockResponse;
-import okhttp3.mockwebserver.MockWebServer;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration({
- "/spring/SpringTest-context_healthcheck.xml" })
-@TestPropertySource(locations = {"classpath:/config/junit_config_1_springboot.properties"})
-@WebAppConfiguration
-public class EidasNodeMetadataHealthIndicatorTest {
-
- @Autowired EidasNodeMetadataHealthIndicator health;
-
- private static MockWebServer mockWebServer = null;
-
- /**
- * Testclass initializer.
- *
- * @throws IOException In case of an error
- */
- @BeforeClass
- public static void classInitializer() throws IOException {
- mockWebServer = new MockWebServer();
- mockWebServer.start(40900);
- mockWebServer.url("/mockup");
-
- }
-
- @AfterClass
- public static void resetTestEnviroment() throws NoSuchFieldException, SecurityException,
- IllegalArgumentException, IllegalAccessException, IOException {
- mockWebServer.shutdown();
-
- }
-
- @Test
- public void httpStatusCode500() throws IOException {
- //set-up status
- mockWebServer.enqueue(new MockResponse().setResponseCode(500)
- .setBody(IOUtils.toString(EidasNodeMetadataHealthIndicatorTest.class
- .getResourceAsStream("/data/metadata_valid.xml"), "UTF-8"))
- .setHeader("Content-Type", MediaType.APPLICATION_XML));
-
- //perform test
- Health status = health.health();
-
- //validate state
- Assert.assertEquals("wrong healthState", Health.down().build().getStatus(), status.getStatus());
-
- }
-
- @Test
- public void httpStatusCode200() throws IOException {
- //set-up status
- mockWebServer.enqueue(new MockResponse().setResponseCode(200)
- .setBody(IOUtils.toString(EidasNodeMetadataHealthIndicatorTest.class
- .getResourceAsStream("/data/metadata_valid.xml"), "UTF-8"))
- .setHeader("Content-Type", MediaType.APPLICATION_XML));
-
- //perform test
- Health status = health.health();
-
- //validate state
- Assert.assertEquals("wrong healthState", Health.up().build().getStatus(), status.getStatus());
-
- }
-
- @Test
- public void noXmlResponse() throws IOException {
- //set-up status
- mockWebServer.enqueue(new MockResponse().setResponseCode(200)
- .setBody(IOUtils.toString(EidasNodeMetadataHealthIndicatorTest.class
- .getResourceAsStream("/config/log4j.properties"), "UTF-8"))
- .setHeader("Content-Type", MediaType.APPLICATION_XML));
-
- //perform test
- Health status = health.health();
-
- //validate state
- Assert.assertEquals("wrong healthState", Health.down().build().getStatus(), status.getStatus());
-
- }
-
-}
diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/saml2/Pvp2SProfileEndPointTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/saml2/Pvp2SProfileEndPointTest.java
index 6b39bd76..ebc07680 100644
--- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/saml2/Pvp2SProfileEndPointTest.java
+++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/saml2/Pvp2SProfileEndPointTest.java
@@ -47,10 +47,10 @@ import org.springframework.util.Base64Utils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
-import at.asitplus.eidas.specific.connector.MsEidasNodeConstants;
import at.asitplus.eidas.specific.connector.controller.Pvp2SProfileEndpoint;
import at.asitplus.eidas.specific.connector.provider.PvpEndPointCredentialProvider;
import at.asitplus.eidas.specific.connector.provider.PvpMetadataProvider;
+import at.asitplus.eidas.specific.core.MsEidasNodeConstants;
import at.gv.egiz.eaaf.core.api.IRequest;
import at.gv.egiz.eaaf.core.api.IRequestStorage;
import at.gv.egiz.eaaf.core.exceptions.EaafException;
@@ -64,7 +64,7 @@ import net.shibboleth.utilities.java.support.xml.XMLParserException;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({
"/applicationContext.xml",
- "/specific_eIDAS_connector.beans.xml",
+ "/spring/SpringTest_connector.beans.xml",
"/eaaf_core.beans.xml",
"/eaaf_pvp.beans.xml",
"/eaaf_pvp_idp.beans.xml",
diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/EvaluateCountrySelectionTaskTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/EvaluateCountrySelectionTaskTest.java
index 4bff9416..abfc60ff 100644
--- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/EvaluateCountrySelectionTaskTest.java
+++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/EvaluateCountrySelectionTaskTest.java
@@ -19,8 +19,8 @@ import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
-import at.asitplus.eidas.specific.connector.MsEidasNodeConstants;
import at.asitplus.eidas.specific.connector.processes.tasks.EvaluateCountrySelectionTask;
+import at.asitplus.eidas.specific.core.MsEidasNodeConstants;
import at.gv.egiz.eaaf.core.api.data.EaafConstants;
import at.gv.egiz.eaaf.core.exceptions.TaskExecutionException;
import at.gv.egiz.eaaf.core.impl.idp.controller.tasks.AbstractLocaleAuthServletTask;
@@ -30,7 +30,7 @@ import at.gv.egiz.eaaf.core.impl.idp.process.ExecutionContextImpl;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({
"/applicationContext.xml",
- "/specific_eIDAS_connector.beans.xml",
+ "/spring/SpringTest_connector.beans.xml",
"/eaaf_core.beans.xml",
"/eaaf_pvp.beans.xml",
"/eaaf_pvp_idp.beans.xml",
diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/GenerateCountrySelectionFrameTaskTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/GenerateCountrySelectionFrameTaskTest.java
index 2aab286f..746c8375 100644
--- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/GenerateCountrySelectionFrameTaskTest.java
+++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/task/GenerateCountrySelectionFrameTaskTest.java
@@ -29,7 +29,7 @@ import at.gv.egiz.eaaf.core.impl.idp.process.ExecutionContextImpl;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({
"/applicationContext.xml",
- "/specific_eIDAS_connector.beans.xml",
+ "/spring/SpringTest_connector.beans.xml",
"/eaaf_core.beans.xml",
"/eaaf_pvp.beans.xml",
"/eaaf_pvp_idp.beans.xml",
diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/AuthenticationDataBuilderTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/AuthenticationDataBuilderTest.java
deleted file mode 100644
index cd183088..00000000
--- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/AuthenticationDataBuilderTest.java
+++ /dev/null
@@ -1,636 +0,0 @@
-package at.asitplus.eidas.specific.connector.test.utils;
-
-import static at.asitplus.eidas.specific.connector.MsEidasNodeConstants.PROP_CONFIG_SP_NEW_EID_MODE;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThrows;
-import static org.junit.Assert.assertTrue;
-
-import java.io.IOException;
-import java.security.PublicKey;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.transform.TransformerException;
-
-import org.apache.commons.lang3.RandomStringUtils;
-import org.apache.commons.lang3.RandomUtils;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.opensaml.core.config.InitializationException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.i18n.LocaleContextHolder;
-import org.springframework.mock.web.MockHttpServletRequest;
-import org.springframework.mock.web.MockHttpServletResponse;
-import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import org.springframework.test.context.web.WebAppConfiguration;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-import org.w3c.dom.Element;
-
-import at.asitplus.eidas.specific.connector.builder.AuthenticationDataBuilder;
-import at.asitplus.eidas.specific.modules.auth.eidas.v2.Constants;
-import at.asitplus.eidas.specific.modules.msproxyservice.MsProxyServiceConstants;
-import at.gv.egiz.eaaf.core.api.data.EaafConfigConstants;
-import at.gv.egiz.eaaf.core.api.data.EaafConstants;
-import at.gv.egiz.eaaf.core.api.data.ExtendedPvpAttributeDefinitions;
-import at.gv.egiz.eaaf.core.api.data.PvpAttributeDefinitions;
-import at.gv.egiz.eaaf.core.api.data.PvpAttributeDefinitions.EidIdentityStatusLevelValues;
-import at.gv.egiz.eaaf.core.api.idp.IAuthData;
-import at.gv.egiz.eaaf.core.api.idp.IConfiguration;
-import at.gv.egiz.eaaf.core.api.idp.auth.data.IIdentityLink;
-import at.gv.egiz.eaaf.core.exceptions.EaafAuthenticationException;
-import at.gv.egiz.eaaf.core.exceptions.EaafBuilderException;
-import at.gv.egiz.eaaf.core.exceptions.EaafParserException;
-import at.gv.egiz.eaaf.core.exceptions.EaafStorageException;
-import at.gv.egiz.eaaf.core.impl.builder.BpkBuilder;
-import at.gv.egiz.eaaf.core.impl.idp.EidAuthenticationData;
-import at.gv.egiz.eaaf.core.impl.idp.auth.data.AuthProcessDataWrapper;
-import at.gv.egiz.eaaf.core.impl.idp.auth.data.EidAuthProcessDataWrapper;
-import at.gv.egiz.eaaf.core.impl.idp.auth.data.SimpleIdentityLinkAssertionParser;
-import at.gv.egiz.eaaf.core.impl.idp.module.test.DummySpConfiguration;
-import at.gv.egiz.eaaf.core.impl.idp.module.test.TestRequestImpl;
-import at.gv.egiz.eaaf.modules.pvp2.impl.opensaml.initialize.EaafOpenSaml3xInitializer;
-import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration({ "/applicationContext.xml", "/spring/SpringTest_connector.beans.xml", "/eaaf_core.beans.xml",
- "/eaaf_pvp.beans.xml", "/eaaf_pvp_idp.beans.xml", "/spring/SpringTest-context_simple_storage.xml" })
-@ActiveProfiles(profiles = {"deprecatedConfig"})
-@WebAppConfiguration
-public class AuthenticationDataBuilderTest {
-
- @Autowired
- private AuthenticationDataBuilder authenticationDataBuilder;
-
- @Autowired(required = true)
- private IConfiguration basicConfig;
-
- private MockHttpServletRequest httpReq;
- private MockHttpServletResponse httpResp;
- private TestRequestImpl pendingReq;
-
- private DummySpConfiguration oaParam;
- private Map<String, String> spConfig;
-
- private String eidasBind;
- private String authBlock;
-
- @BeforeClass
- public static void classInitializer() throws InitializationException, ComponentInitializationException {
- final String current = new java.io.File(".").toURI().toString();
- System.setProperty("eidas.ms.configuration", current
- + "src/test/resources/config/junit_config_3.properties");
-
- EaafOpenSaml3xInitializer.eaafInitialize();
- }
-
- @Before
- public void initialize() throws EaafStorageException {
- httpReq = new MockHttpServletRequest("POST", "https://localhost/ms_connector");
- httpResp = new MockHttpServletResponse();
- RequestContextHolder.resetRequestAttributes();
- RequestContextHolder.setRequestAttributes(new ServletRequestAttributes(httpReq, httpResp));
-
- spConfig = new HashMap<>();
- spConfig.put(EaafConfigConstants.SERVICE_UNIQUEIDENTIFIER, "testSp");
- spConfig.put("target", "urn:publicid:gv.at:cdid+XX");
- spConfig.put(PROP_CONFIG_SP_NEW_EID_MODE, "true");
- oaParam = new DummySpConfiguration(spConfig, basicConfig);
-
- pendingReq = new TestRequestImpl();
- pendingReq.setAuthUrl("https://localhost/ms_connector");
- pendingReq.setPendingReqId(RandomStringUtils.randomAlphanumeric(10));
- pendingReq.setPiiTransactionId(RandomStringUtils.randomAlphanumeric(10));
- pendingReq.setSpConfig(oaParam);
- authBlock = RandomStringUtils.randomAlphanumeric(20);
- eidasBind = RandomStringUtils.randomAlphanumeric(20);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setQaaLevel(EaafConstants.EIDAS_LOA_PREFIX + RandomStringUtils.randomAlphabetic(5));
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setGenericDataToSession(
- PvpAttributeDefinitions.EID_ISSUING_NATION_NAME,
- RandomStringUtils.randomAlphabetic(2).toUpperCase());
-
- LocaleContextHolder.resetLocaleContext();
-
- }
-
- @Test
- public void eidasProxyMode() throws EaafAuthenticationException, EaafStorageException {
- // initialize state
- boolean isTestIdentity = RandomUtils.nextBoolean();
- pendingReq.getSessionData(EidAuthProcessDataWrapper.class).setTestIdentity(isTestIdentity);
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setEidProcess(true);
-
- String givenName = RandomStringUtils.randomAlphabetic(10);
- String familyName = RandomStringUtils.randomAlphabetic(10);
- String dateOfBirth = "1956-12-08";
- String bpk = RandomStringUtils.randomAlphanumeric(10);
- String cc = pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .getGenericDataFromSession(PvpAttributeDefinitions.EID_ISSUING_NATION_NAME, String.class);
- String spC = RandomStringUtils.randomAlphabetic(2).toUpperCase();
-
- spConfig.put("target", EaafConstants.URN_PREFIX_EIDAS + cc + "+" + spC);
-
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setEidProcess(true);
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setForeigner(false);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.GIVEN_NAME_NAME, givenName);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.PRINCIPAL_NAME_NAME, familyName);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.BIRTHDATE_NAME, dateOfBirth);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(MsProxyServiceConstants.ATTR_EIDAS_PERSONAL_IDENTIFIER, bpk);
-
- //set LoA level attribute instead of explicit session-data
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.EID_CITIZEN_EIDAS_QAA_LEVEL_NAME,
- pendingReq.getSessionData(AuthProcessDataWrapper.class).getQaaLevel());
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setQaaLevel(null);
-
-
-
- // execute test
- IAuthData authData = authenticationDataBuilder.buildAuthenticationData(pendingReq);
-
-
- // validate state
- Assert.assertNotNull("AuthData null", authData);
- Assert.assertNull("authBlock null", authData.getGenericData(Constants.SZR_AUTHBLOCK, String.class));
- Assert.assertNull("eidasBind null", authData.getGenericData(Constants.EIDAS_BIND, String.class));
-
- Assert.assertEquals("LoA", pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .getGenericDataFromSession(PvpAttributeDefinitions.EID_CITIZEN_EIDAS_QAA_LEVEL_NAME, String.class),
- authData.getEidasQaaLevel());
- Assert.assertEquals("CitizenCountry", cc, authData.getCiticenCountryCode());
- Assert.assertEquals("familyName", familyName, authData.getFamilyName());
- Assert.assertEquals("givenName", givenName, authData.getGivenName());
- Assert.assertEquals("DateOfBirth", dateOfBirth, authData.getDateOfBirth());
-
- Assert.assertEquals("bPK", pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .getGenericDataFromSession(MsProxyServiceConstants.ATTR_EIDAS_PERSONAL_IDENTIFIER, String.class),
- authData.getGenericData(MsProxyServiceConstants.ATTR_EIDAS_PERSONAL_IDENTIFIER, String.class));
-
- Assert.assertEquals("testIdentity flag",
- isTestIdentity ? EidIdentityStatusLevelValues.TESTIDENTITY : EidIdentityStatusLevelValues.IDENTITY,
- ((EidAuthenticationData)authData).getEidStatus());
- assertFalse("mandate flag", ((EidAuthenticationData)authData).isUseMandate());
-
- }
-
- @Test
- public void eidasProxyModeWithJurMandate() throws EaafAuthenticationException, EaafStorageException {
- // initialize state
- injectRepresentativeInfosIntoSession();
-
- String commonMandate = RandomStringUtils.randomAlphabetic(10);
-
- // set constant country-code and sourcePin to check hashed eIDAS identifier
- String sourcePinMandate = "asfdsadfsadfsafsdafsadfasr";
- spConfig.put("target", EaafConstants.URN_PREFIX_EIDAS + "AT+EE");
-
- // set nat. person mandate information
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setUseMandates(true);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_LEG_PER_FULL_NAME_NAME, commonMandate);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_LEG_PER_SOURCE_PIN_NAME, sourcePinMandate);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_LEG_PER_SOURCE_PIN_TYPE_NAME,
- EaafConstants.URN_PREFIX_BASEID + "+XFN");
-
- // execute test
- IAuthData authData = authenticationDataBuilder.buildAuthenticationData(pendingReq);
-
-
- // validate state
- Assert.assertNotNull("AuthData null", authData);
- assertTrue("mandate flag", ((EidAuthenticationData)authData).isUseMandate());
-
- //check mandate informations
- checkGenericAttribute(authData, PvpAttributeDefinitions.MANDATE_LEG_PER_FULL_NAME_NAME, commonMandate);
- checkGenericAttribute(authData, MsProxyServiceConstants.ATTR_EIDAS_JUR_MANDATOR_PERSONAL_IDENTIFIER,
- "AT/EE/urn:publicid:gv.at:baseid+XFN+asfdsadfsadfsafsdafsadfasr");
-
- }
-
- @Test
- public void eidasProxyModeWithJurMandateMissingAttribute() throws EaafAuthenticationException, EaafStorageException {
- // initialize state
- injectRepresentativeInfosIntoSession();
-
- // set constant country-code and sourcePin to check hashed eIDAS identifier
- String sourcePinMandate = "asfdsadfsadfsafsdafsadfasr";
- spConfig.put("target", EaafConstants.URN_PREFIX_EIDAS + "AT+EE");
-
- // set nat. person mandate information
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setUseMandates(true);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_LEG_PER_SOURCE_PIN_NAME, sourcePinMandate);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_LEG_PER_SOURCE_PIN_TYPE_NAME,
- EaafConstants.URN_PREFIX_BASEID + "+XFN");
-
- // execute test
- // execute test
- EaafAuthenticationException error = assertThrows(EaafAuthenticationException.class,
- () -> authenticationDataBuilder.buildAuthenticationData(pendingReq));
- Assert.assertEquals("wrong errorId", "builder.11", error.getErrorId());
-
- }
-
- @Test
- public void eidasProxyModeWithNatMandate() throws EaafAuthenticationException, EaafStorageException {
- // initialize state
- injectRepresentativeInfosIntoSession();
-
- String givenNameMandate = RandomStringUtils.randomAlphabetic(10);
- String familyNameMandate = RandomStringUtils.randomAlphabetic(10);
- String dateOfBirthMandate = "1957-09-15";
- String bpkMandate = RandomStringUtils.randomAlphanumeric(10);
-
- // set nat. person mandate information
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setUseMandates(true);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_NAT_PER_GIVEN_NAME_NAME, givenNameMandate);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_NAT_PER_FAMILY_NAME_NAME, familyNameMandate);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_NAT_PER_BIRTHDATE_NAME, dateOfBirthMandate);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_NAT_PER_BPK_NAME, "AT+XX:" + bpkMandate);
-
- // execute test
- IAuthData authData = authenticationDataBuilder.buildAuthenticationData(pendingReq);
-
-
- // validate state
- Assert.assertNotNull("AuthData null", authData);
- assertTrue("mandate flag", ((EidAuthenticationData)authData).isUseMandate());
-
- //check mandate informations
- checkGenericAttribute(authData, PvpAttributeDefinitions.MANDATE_NAT_PER_GIVEN_NAME_NAME, givenNameMandate);
- checkGenericAttribute(authData, PvpAttributeDefinitions.MANDATE_NAT_PER_FAMILY_NAME_NAME, familyNameMandate);
- checkGenericAttribute(authData, PvpAttributeDefinitions.MANDATE_NAT_PER_BIRTHDATE_NAME, "1957-09-15");
- checkGenericAttribute(authData, MsProxyServiceConstants.ATTR_EIDAS_NAT_MANDATOR_PERSONAL_IDENTIFIER, bpkMandate);
-
- }
-
- @Test
- public void eidasProxyModeWithNatMandateWrongBpkFormat() throws EaafAuthenticationException, EaafStorageException {
- // initialize state
- injectRepresentativeInfosIntoSession();
-
- String givenNameMandate = RandomStringUtils.randomAlphabetic(10);
- String familyNameMandate = RandomStringUtils.randomAlphabetic(10);
- String dateOfBirthMandate = "1957-09-15";
- String bpkMandate = RandomStringUtils.randomAlphanumeric(10);
-
- // set nat. person mandate information
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setUseMandates(true);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_NAT_PER_GIVEN_NAME_NAME, givenNameMandate);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_NAT_PER_FAMILY_NAME_NAME, familyNameMandate);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_NAT_PER_BIRTHDATE_NAME, dateOfBirthMandate);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_NAT_PER_BPK_NAME, bpkMandate);
-
- // execute test
- IAuthData authData = authenticationDataBuilder.buildAuthenticationData(pendingReq);
-
-
- // validate state
- Assert.assertNotNull("AuthData null", authData);
- assertTrue("mandate flag", ((EidAuthenticationData)authData).isUseMandate());
-
- //check mandate informations
- checkGenericAttribute(authData, PvpAttributeDefinitions.MANDATE_NAT_PER_GIVEN_NAME_NAME, givenNameMandate);
- checkGenericAttribute(authData, PvpAttributeDefinitions.MANDATE_NAT_PER_FAMILY_NAME_NAME, familyNameMandate);
- checkGenericAttribute(authData, PvpAttributeDefinitions.MANDATE_NAT_PER_BIRTHDATE_NAME, "1957-09-15");
- checkGenericAttribute(authData, MsProxyServiceConstants.ATTR_EIDAS_NAT_MANDATOR_PERSONAL_IDENTIFIER, bpkMandate);
-
- }
-
- @Test
- public void eidasProxyModeWithNatMandateMissingAttribute() throws EaafAuthenticationException, EaafStorageException {
- // initialize state
- injectRepresentativeInfosIntoSession();
-
- String familyNameMandate = RandomStringUtils.randomAlphabetic(10);
- String dateOfBirthMandate = "1957-09-15";
- String bpkMandate = RandomStringUtils.randomAlphanumeric(10);
-
- // set nat. person mandate information
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setUseMandates(true);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_NAT_PER_FAMILY_NAME_NAME, familyNameMandate);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_NAT_PER_BIRTHDATE_NAME, dateOfBirthMandate);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.MANDATE_NAT_PER_BPK_NAME, bpkMandate);
-
- // execute test
- EaafAuthenticationException error = assertThrows(EaafAuthenticationException.class,
- () -> authenticationDataBuilder.buildAuthenticationData(pendingReq));
- Assert.assertEquals("wrong errorId", "builder.11", error.getErrorId());
-
- }
-
- @Test
- public void eidMode() throws EaafAuthenticationException, EaafStorageException {
- // initialize state
- boolean isTestIdentity = RandomUtils.nextBoolean();
- pendingReq.getSessionData(EidAuthProcessDataWrapper.class).setTestIdentity(isTestIdentity);
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setEidProcess(true);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(Constants.SZR_AUTHBLOCK, authBlock);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(Constants.EIDAS_BIND, eidasBind);
-
- // execute
- IAuthData authData = authenticationDataBuilder.buildAuthenticationData(pendingReq);
-
- // validate state
- Assert.assertNotNull("AuthData null", authData);
- Assert.assertNotNull("authBlock null", authData.getGenericData(Constants.SZR_AUTHBLOCK, String.class));
- Assert.assertNotNull("eidasBind null", authData.getGenericData(Constants.EIDAS_BIND, String.class));
- Assert.assertNotNull("LoA null", authData.getEidasQaaLevel());
- Assert.assertEquals("testIdentity flag",
- isTestIdentity ? EidIdentityStatusLevelValues.TESTIDENTITY : EidIdentityStatusLevelValues.IDENTITY,
- ((EidAuthenticationData)authData).getEidStatus());
-
- String authBlock = authData.getGenericData(Constants.SZR_AUTHBLOCK, String.class);
- String eidasBind = authData.getGenericData(Constants.EIDAS_BIND, String.class);
-
- Assert.assertEquals("authBlock not equal", this.authBlock, authBlock);
- Assert.assertEquals("eidasBind not equal", this.eidasBind, eidasBind);
- Assert.assertEquals("piiTransactionId",
- authData.getGenericData(ExtendedPvpAttributeDefinitions.EID_PII_TRANSACTION_ID_NAME, String.class),
- this.pendingReq.getUniquePiiTransactionIdentifier());
- Assert.assertNotNull("assertion validTo", authData.getSsoSessionValidTo());
- Assert.assertEquals("LoA", pendingReq.getSessionData(AuthProcessDataWrapper.class).getQaaLevel(),
- authData.getEidasQaaLevel());
- Assert.assertEquals("EID-ISSUING-NATION",
- pendingReq.getSessionData(AuthProcessDataWrapper.class).getGenericDataFromSession(
- PvpAttributeDefinitions.EID_ISSUING_NATION_NAME),
- authData.getCiticenCountryCode());
-
- Assert.assertNull("bPK", authData.getBpk());
- Assert.assertNull("bPKType", authData.getBpkType());
- Assert.assertNull("FamilyName", authData.getFamilyName());
- Assert.assertNull("GivenName", authData.getGivenName());
- Assert.assertNull("DateOfBirth", authData.getDateOfBirth());
- Assert.assertNull("baseId", authData.getIdentificationValue());
- Assert.assertNull("baseIdType", authData.getIdentificationType());
- Assert.assertNull("IDL", authData.getIdentityLink());
-
- }
-
- @Test
- public void moaIdMode() throws EaafAuthenticationException, EaafBuilderException {
- //initialize state
- boolean isTestIdentity = RandomUtils.nextBoolean();
- pendingReq.getSessionData(EidAuthProcessDataWrapper.class).setTestIdentity(isTestIdentity);
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setEidProcess(false);
- IIdentityLink idl = buildDummyIdl();
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setIdentityLink(idl);
-
- //execute
- IAuthData authData = authenticationDataBuilder.buildAuthenticationData(pendingReq);
-
- //validate state
- Assert.assertNotNull("AuthData null", authData);
- Assert.assertNull("authBlock null", authData.getGenericData(Constants.SZR_AUTHBLOCK, String.class));
- Assert.assertNull("eidasBind null", authData.getGenericData(Constants.EIDAS_BIND, String.class));
- Assert.assertNull("piiTransactionId",
- authData.getGenericData(ExtendedPvpAttributeDefinitions.EID_PII_TRANSACTION_ID_NAME, String.class));
-
- Assert.assertEquals("testIdentity flag",
- isTestIdentity ? EidIdentityStatusLevelValues.TESTIDENTITY : EidIdentityStatusLevelValues.IDENTITY,
- ((EidAuthenticationData)authData).getEidStatus());
-
- Assert.assertNotNull("assertion validTo", authData.getSsoSessionValidTo());
- Assert.assertNotNull("LoA null", authData.getEidasQaaLevel());
- Assert.assertEquals("LoA", pendingReq.getSessionData(AuthProcessDataWrapper.class).getQaaLevel(),
- authData.getEidasQaaLevel());
- Assert.assertEquals("EID-ISSUING-NATION",
- pendingReq.getSessionData(AuthProcessDataWrapper.class).getGenericDataFromSession(
- PvpAttributeDefinitions.EID_ISSUING_NATION_NAME),
- authData.getCiticenCountryCode());
-
- Assert.assertEquals("FamilyName", idl.getFamilyName(), authData.getFamilyName());
- Assert.assertEquals("GivenName", idl.getGivenName(), authData.getGivenName());
- Assert.assertEquals("DateOfBirth", idl.getDateOfBirth(), authData.getDateOfBirth());
- Assert.assertEquals("bPK",
- BpkBuilder.generateAreaSpecificPersonIdentifier(
- idl.getIdentificationValue(), EaafConstants.URN_PREFIX_CDID + "XX").getFirst(),
- authData.getBpk());
- Assert.assertEquals("bPKType", EaafConstants.URN_PREFIX_CDID + "XX", authData.getBpkType());
- Assert.assertNotNull("IDL", authData.getIdentityLink());
-
-
- }
-
- private void injectRepresentativeInfosIntoSession() throws EaafStorageException {
- boolean isTestIdentity = RandomUtils.nextBoolean();
- pendingReq.getSessionData(EidAuthProcessDataWrapper.class).setTestIdentity(isTestIdentity);
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setEidProcess(true);
-
- String givenName = RandomStringUtils.randomAlphabetic(10);
- String familyName = RandomStringUtils.randomAlphabetic(10);
- String dateOfBirth = "1956-12-08";
- String bpk = RandomStringUtils.randomAlphanumeric(10);
- String cc = pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .getGenericDataFromSession(PvpAttributeDefinitions.EID_ISSUING_NATION_NAME, String.class);
- String spC = RandomStringUtils.randomAlphabetic(2).toUpperCase();
- spConfig.put("target", EaafConstants.URN_PREFIX_EIDAS + cc + "+" + spC);
-
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setEidProcess(true);
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setForeigner(false);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.GIVEN_NAME_NAME, givenName);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.PRINCIPAL_NAME_NAME, familyName);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.BIRTHDATE_NAME, dateOfBirth);
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(MsProxyServiceConstants.ATTR_EIDAS_PERSONAL_IDENTIFIER, bpk);
-
- //set LoA level attribute instead of explicit session-data
- pendingReq.getSessionData(AuthProcessDataWrapper.class)
- .setGenericDataToSession(PvpAttributeDefinitions.EID_CITIZEN_EIDAS_QAA_LEVEL_NAME,
- pendingReq.getSessionData(AuthProcessDataWrapper.class).getQaaLevel());
- pendingReq.getSessionData(AuthProcessDataWrapper.class).setQaaLevel(null);
-
- }
-
- private void checkGenericAttribute(IAuthData authData, String attrName, String expected) {
- assertEquals("Wrong: " + attrName, expected, authData.getGenericData(attrName, String.class));
-
- }
-
- private IIdentityLink buildDummyIdl() {
- return new IIdentityLink() {
-
- String familyName = RandomStringUtils.randomAlphabetic(10);
- String givenName = RandomStringUtils.randomAlphabetic(10);
- String dateOfBirth = "1955-02-03";
- String baseId = RandomStringUtils.randomAlphanumeric(20);
- String saml2Serialized = RandomStringUtils.randomAlphanumeric(150);
-
-
-
- @Override
- public void setSamlAssertion(Element arg0) throws TransformerException, IOException {
-
- }
-
- @Override
- public void setPublicKey(PublicKey[] arg0) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setPrPerson(Element arg0) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setIssueInstant(String arg0) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setIdentificationValue(String arg0) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setIdentificationType(String arg0) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setGivenName(String arg0) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setFamilyName(String arg0) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setDsigReferenceTransforms(Element[] arg0) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public void setDateOfBirth(String arg0) {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- public String getSerializedSamlAssertion() {
- return this.saml2Serialized;
- }
-
- @Override
- public Element getSamlAssertion() {
- IIdentityLink fullIdl;
- try {
- fullIdl = new SimpleIdentityLinkAssertionParser(
- AuthenticationDataBuilderTest.class.getResourceAsStream("/data/test_idl_1.xml")).parseIdentityLink();
- return fullIdl.getSamlAssertion();
-
- } catch (EaafParserException e) {
- e.printStackTrace();
- }
-
- return null;
-
- }
-
- @Override
- public PublicKey[] getPublicKey() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Element getPrPerson() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getName() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public Date getIssueInstantDate() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getIssueInstant() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getIdentificationValue() {
- return this.baseId;
- }
-
- @Override
- public String getIdentificationType() {
- return EaafConstants.URN_PREFIX_BASEID;
- }
-
- @Override
- public String getGivenName() {
- return this.givenName;
- }
-
- @Override
- public String getFamilyName() {
- return this.familyName;
- }
-
- @Override
- public Element[] getDsigReferenceTransforms() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public String getDateOfBirth() {
- return this.dateOfBirth;
-
- }
- };
- }
-
-}
diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/AuthnRequestValidatorTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/AuthnRequestValidatorTest.java
index c57515a0..ea163e61 100644
--- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/AuthnRequestValidatorTest.java
+++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/AuthnRequestValidatorTest.java
@@ -31,8 +31,8 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;
-import at.asitplus.eidas.specific.connector.MsEidasNodeConstants;
-import at.asitplus.eidas.specific.connector.config.ServiceProviderConfiguration;
+import at.asitplus.eidas.specific.core.MsEidasNodeConstants;
+import at.asitplus.eidas.specific.core.config.ServiceProviderConfiguration;
import at.gv.egiz.eaaf.core.api.data.EaafConfigConstants;
import at.gv.egiz.eaaf.core.api.idp.IConfigurationWithSP;
import at.gv.egiz.eaaf.core.exceptions.AuthnRequestValidatorException;
@@ -48,11 +48,11 @@ import net.shibboleth.utilities.java.support.component.ComponentInitializationEx
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({
"/applicationContext.xml",
- "/specific_eIDAS_connector.beans.xml",
+ "/spring/SpringTest_connector.beans.xml",
"/eaaf_core.beans.xml",
"/eaaf_pvp.beans.xml",
"/eaaf_pvp_idp.beans.xml",
- "/spring/SpringTest-context_simple_storage.xml" })
+ "/spring/SpringTest-context_simple_storage.xml"})
@ActiveProfiles(profiles = {"deprecatedConfig"})
@WebAppConfiguration
@DirtiesContext(classMode = ClassMode.BEFORE_CLASS)
diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/CountrySelectionProcessImplTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/CountrySelectionProcessImplTest.java
index d0343eba..368a8e4e 100644
--- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/CountrySelectionProcessImplTest.java
+++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/utils/CountrySelectionProcessImplTest.java
@@ -17,8 +17,8 @@ import org.springframework.test.annotation.DirtiesContext.ClassMode;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import at.asitplus.eidas.specific.connector.MsEidasNodeConstants;
import at.asitplus.eidas.specific.connector.processes.CountrySelectionProcessImpl;
+import at.asitplus.eidas.specific.core.MsEidasNodeConstants;
import at.gv.egiz.eaaf.core.api.data.EaafConfigConstants;
import at.gv.egiz.eaaf.core.api.idp.IConfiguration;
import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
diff --git a/connector/src/test/resources/config/logback_config.xml b/connector/src/test/resources/config/logback_config.xml
index fa27a46a..bb3de3e8 100644
--- a/connector/src/test/resources/config/logback_config.xml
+++ b/connector/src/test/resources/config/logback_config.xml
@@ -89,10 +89,10 @@
<logger name="at.gv.egiz.eidas.specific" additivity="false" level="info">
<appender-ref ref="msnode"/>
</logger>
- <logger name="at.gv.egiz.eidas.specific.connector.logger.RevisionLogger" additivity="false" level="info">
+ <logger name="at.gv.egiz.eidas.specific.core.logger.RevisionLogger" additivity="false" level="info">
<appender-ref ref="reversion"/>
</logger>
- <logger name="at.gv.egiz.eidas.specific.connector.logger.StatisticLogger" additivity="false" level="info">
+ <logger name="at.gv.egiz.eidas.specific.core.logger.StatisticLogger" additivity="false" level="info">
<appender-ref ref="statistic"/>
</logger>
<root level="warn">
diff --git a/connector/src/test/resources/spring/SpringTest-context_basic_test.xml b/connector/src/test/resources/spring/SpringTest-context_basic_test.xml
deleted file mode 100644
index 5d052be9..00000000
--- a/connector/src/test/resources/spring/SpringTest-context_basic_test.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?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">
-
- <context:annotation-config />
-
- <import resource="classpath:/SpringTest-context_authManager.xml" />
-
- <bean id="BasicMSSpecificNodeConfig"
- class="at.asitplus.eidas.specific.connector.config.BasicConfigurationProvider">
- <constructor-arg
- value="#{systemProperties['eidas.ms.configuration']}" />
- </bean>
-
-</beans> \ No newline at end of file
diff --git a/connector/src/test/resources/spring/SpringTest-context_healthcheck.xml b/connector/src/test/resources/spring/SpringTest-context_healthcheck.xml
deleted file mode 100644
index 3bac88e3..00000000
--- a/connector/src/test/resources/spring/SpringTest-context_healthcheck.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?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">
-
- <context:annotation-config />
-
- <import resource="classpath:/SpringTest-context_authManager.xml" />
-
- <bean id="basicConfig"
- class="at.asitplus.eidas.specific.connector.config.SpringBootBasicConfigurationProvider" />
-
- <bean id="eidasNodeMetadata"
- class="at.asitplus.eidas.specific.connector.health.EidasNodeMetadataHealthIndicator" />
-
-</beans> \ No newline at end of file
diff --git a/connector/src/test/resources/spring/SpringTest-context_simple_storage.xml b/connector/src/test/resources/spring/SpringTest-context_simple_storage.xml
deleted file mode 100644
index 5ee3e0b8..00000000
--- a/connector/src/test/resources/spring/SpringTest-context_simple_storage.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?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">
-
- <bean id="SimpleInMemoryTransactionStorage"
- class="at.asitplus.eidas.specific.connector.storage.SimpleInMemoryTransactionStorage" />
-
-</beans> \ No newline at end of file
diff --git a/connector/src/test/resources/spring/SpringTest_connector.beans.xml b/connector/src/test/resources/spring/SpringTest_connector.beans.xml
index 5a1e3f36..9c66ca0f 100644
--- a/connector/src/test/resources/spring/SpringTest_connector.beans.xml
+++ b/connector/src/test/resources/spring/SpringTest_connector.beans.xml
@@ -10,23 +10,12 @@
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
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
-
- <context:annotation-config />
- <mvc:annotation-driven />
- <mvc:default-servlet-handler />
-
- <bean id="WebResourceConfiguration"
- class="at.asitplus.eidas.specific.connector.config.StaticResourceConfiguration" />
+
+ <import resource="classpath:/spring/SpringTest_core.beans.xml"/>
<bean id="ProcessEngineSignalController"
class="at.asitplus.eidas.specific.connector.controller.ProcessEngineSignalController" />
- <bean id="AuthenticationManager"
- class="at.asitplus.eidas.specific.connector.auth.AuthenticationManager" />
-
- <bean id="AuthenticationDataBuilder"
- class="at.asitplus.eidas.specific.connector.builder.AuthenticationDataBuilder" />
-
<bean id="PVPEndPointConfiguration"
class="at.asitplus.eidas.specific.connector.config.PvpEndPointConfiguration" />
@@ -45,10 +34,6 @@
<bean id="AuthnRequestValidator"
class="at.asitplus.eidas.specific.connector.verification.AuthnRequestValidator" />
- <!-- bean id="SAMLVerificationEngine"
- class="at.gv.egiz.eaaf.modules.pvp2.impl.verification.SamlVerificationEngine" /-->
-
-
<bean id="pvpMetadataService"
class="at.gv.egiz.eaaf.modules.pvp2.idp.impl.MetadataAction">
<property name="pvpIdpCredentials">
@@ -62,54 +47,12 @@
<property name="metadataProvider" ref="PVPMetadataProvider" />
</bean>
- <bean id="eaafProtocolAuthenticationService"
- class="at.gv.egiz.eaaf.core.impl.idp.auth.services.ProtocolAuthenticationService">
- <property name="guiBuilder" ref="mvcGUIBuilderImpl" />
- </bean>
-
- <bean id="securePendingRequestIdGeneration"
- class="at.gv.egiz.eaaf.core.impl.utils.SecurePendingRequestIdGenerationStrategy" />
-
<bean id="PVPMetadataProvider"
class="at.asitplus.eidas.specific.connector.provider.PvpMetadataProvider" />
<bean id="PVPSubjectNameGenerator"
class="at.asitplus.eidas.specific.connector.builder.PvpSubjectNameGenerator" />
- <bean id="LoALevelMapper"
- class="at.asitplus.eidas.specific.connector.mapper.LoALevelMapper" />
-
- <bean id="GUIBuilderConfigurationFactory"
- class="at.asitplus.eidas.specific.connector.gui.GuiBuilderConfigurationFactory" />
-
- <bean id="velocityGUIBuilderImpl"
- class="at.asitplus.eidas.specific.connector.gui.DefaultVelocityGuiBuilderImpl" />
-
- <bean id="mvcGUIBuilderImpl"
- class="at.gv.egiz.eaaf.core.impl.gui.builder.SpringMvcGuiFormBuilderImpl" />
-
- <bean id="templateEngine"
- class="org.thymeleaf.spring5.SpringTemplateEngine">
- <property name="templateResolver" ref="templateResolver" />
- </bean>
-
- <bean class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
- <property name="order" value="2" />
- <property name="templateEngine" ref="templateEngine" />
- <property name="characterEncoding" value="UTF-8" />
- </bean>
-
- <bean id="StatusMessageProvider"
- class="at.asitplus.eidas.specific.connector.provider.StatusMessageProvider" />
-
- <bean id="eidasRevisionLogger"
- class="at.asitplus.eidas.specific.connector.logger.RevisionLogger" />
-
- <bean id="eidasStatisticLogger"
- class="at.asitplus.eidas.specific.connector.logger.StatisticLogger" />
-
- <bean id="defaultErrorHandler"
- class="at.gv.egiz.eaaf.core.impl.idp.auth.services.DefaultErrorService"/>
<!-- Tasks -->
<bean id="GenerateCountrySelectionFrameTask"