aboutsummaryrefslogtreecommitdiff
path: root/modules/eidas_proxy-sevice/src/test
diff options
context:
space:
mode:
authorThomas <>2022-08-16 10:56:54 +0200
committerThomas <>2022-08-16 10:56:54 +0200
commitca50cb8dda0a24b5a4589db126bfab8d0d885b00 (patch)
tree0947baf07a77f6f0b2fa2368fc92f87510340770 /modules/eidas_proxy-sevice/src/test
parent0ae0c83da2f970bb8987f116286857e07b0c02b1 (diff)
downloadNational_eIDAS_Gateway-ca50cb8dda0a24b5a4589db126bfab8d0d885b00.tar.gz
National_eIDAS_Gateway-ca50cb8dda0a24b5a4589db126bfab8d0d885b00.tar.bz2
National_eIDAS_Gateway-ca50cb8dda0a24b5a4589db126bfab8d0d885b00.zip
feat(proxy): add support for custom eIDAS attribute-handler into ProxyEidasAttributeRegistry
This allow more sopisticated attribute-processing than simple mapping to IDA attributes
Diffstat (limited to 'modules/eidas_proxy-sevice/src/test')
-rw-r--r--modules/eidas_proxy-sevice/src/test/java/at/asitplus/eidas/specific/modules/msproxyservice/test/services/ProxyEidasAttributeRegistryTest.java20
-rw-r--r--modules/eidas_proxy-sevice/src/test/resources/config/additional-attributes.xml19
-rw-r--r--modules/eidas_proxy-sevice/src/test/resources/config/idaAttributeMapping.json24
3 files changed, 63 insertions, 0 deletions
diff --git a/modules/eidas_proxy-sevice/src/test/java/at/asitplus/eidas/specific/modules/msproxyservice/test/services/ProxyEidasAttributeRegistryTest.java b/modules/eidas_proxy-sevice/src/test/java/at/asitplus/eidas/specific/modules/msproxyservice/test/services/ProxyEidasAttributeRegistryTest.java
index 8d417c1a..fb7d257e 100644
--- a/modules/eidas_proxy-sevice/src/test/java/at/asitplus/eidas/specific/modules/msproxyservice/test/services/ProxyEidasAttributeRegistryTest.java
+++ b/modules/eidas_proxy-sevice/src/test/java/at/asitplus/eidas/specific/modules/msproxyservice/test/services/ProxyEidasAttributeRegistryTest.java
@@ -127,6 +127,26 @@ public class ProxyEidasAttributeRegistryTest {
}
+ @Test
+ public void specificAttributeHandler() {
+ assertFalse("find wrong attribute",
+ attrRegistry.mapEidasAttributeToAttributeHandler(
+ "http://eidas.europa.eu/attributes/jUnit/no/custom/handler").isPresent());
+
+ assertFalse("find wrong attribute",
+ attrRegistry.mapEidasAttributeToAttributeHandler(
+ "http://eidas.europa.eu/attributes/naturalperson/representative/DateOfBirth").isPresent());
+
+
+ Optional<String> attr2 = attrRegistry.mapEidasAttributeToAttributeHandler(
+ "http://e-justice.europa.eu/attributes/naturalperson/eJusticeNaturalPersonRole");
+ assertTrue("find wrong IDA mapping", attr2.isPresent());
+ assertEquals("find wrong specific attribute-handler",
+ "at.asitplus.eidas.specific.modules.msproxyservice.handler.EJusticePersonRoleHandler", attr2.get());
+
+ }
+
+
private void checkAttributeMapping(String eidasAttr, boolean withMandates, List<String> idaAttributes) {
@NonNull
Set<String> idaAttrResult = attrRegistry.getIdaAttributesForEidasAttribute(eidasAttr, withMandates);
diff --git a/modules/eidas_proxy-sevice/src/test/resources/config/additional-attributes.xml b/modules/eidas_proxy-sevice/src/test/resources/config/additional-attributes.xml
index 6510546e..e40ebdc4 100644
--- a/modules/eidas_proxy-sevice/src/test/resources/config/additional-attributes.xml
+++ b/modules/eidas_proxy-sevice/src/test/resources/config/additional-attributes.xml
@@ -36,4 +36,23 @@
<entry key="2.XmlType.NamespacePrefix">xs</entry>
<entry key="2.AttributeValueMarshaller">eu.eidas.auth.commons.attribute.impl.LiteralStringAttributeValueMarshaller</entry>
+ <entry key="3.NameUri">http://e-justice.europa.eu/attributes/naturalperson/eJusticeNaturalPersonRole</entry>
+ <entry key="3.FriendlyName">eJusticeNaturalPersonRole</entry>
+ <entry key="3.PersonType">NaturalPerson</entry>
+ <entry key="3.Required">false</entry>
+ <entry key="3.XmlType.NamespaceUri">http://www.w3.org/2001/XMLSchema</entry>
+ <entry key="3.XmlType.LocalPart">string</entry>
+ <entry key="3.XmlType.NamespacePrefix">xs</entry>
+ <entry key="3.AttributeValueMarshaller">eu.eidas.auth.commons.attribute.impl.LiteralStringAttributeValueMarshaller</entry>
+
+ <entry key="4.NameUri">http://e-justice.europa.eu/attributes/legalperson/eJusticeLegalPersonRole</entry>
+ <entry key="4.FriendlyName">eJusticeLegalPersonRole</entry>
+ <entry key="4.PersonType">LegalPerson</entry>
+ <entry key="4.Required">false</entry>
+ <entry key="4.XmlType.NamespaceUri">http://www.w3.org/2001/XMLSchema</entry>
+ <entry key="4.XmlType.LocalPart">string</entry>
+ <entry key="4.XmlType.NamespacePrefix">xs</entry>
+ <entry key="4.AttributeValueMarshaller">eu.eidas.auth.commons.attribute.impl.LiteralStringAttributeValueMarshaller</entry>
+
+
</properties>
diff --git a/modules/eidas_proxy-sevice/src/test/resources/config/idaAttributeMapping.json b/modules/eidas_proxy-sevice/src/test/resources/config/idaAttributeMapping.json
index 7e41d8f6..daaaa37d 100644
--- a/modules/eidas_proxy-sevice/src/test/resources/config/idaAttributeMapping.json
+++ b/modules/eidas_proxy-sevice/src/test/resources/config/idaAttributeMapping.json
@@ -129,6 +129,22 @@
}
},
{
+ "eidasAttribute": "http://e-justice.europa.eu/attributes/naturalperson/eJusticeNaturalPersonRole",
+ "specificAttributeHandlerClass": "at.asitplus.eidas.specific.modules.msproxyservice.handler.EJusticePersonRoleHandler",
+ "type": {
+ "mds": false,
+ "autoIncludeWithMandates": false
+ }
+ },
+ {
+ "eidasAttribute": "http://e-justice.europa.eu/attributes/legalperson/eJusticeLegalPersonRole",
+ "specificAttributeHandlerClass": "at.asitplus.eidas.specific.modules.msproxyservice.handler.EJusticePersonRoleHandler",
+ "type": {
+ "mds": false,
+ "autoIncludeWithMandates": false
+ }
+ },
+ {
"eidasAttribute": "*",
"idaAttribute": {
"basic": "urn:oid:1.2.40.0.10.2.1.1.261.32",
@@ -179,5 +195,13 @@
"mds": false,
"autoIncludeWithMandates": false
}
+ },
+ {
+ "eidasAttribute": "http://eidas.europa.eu/attributes/jUnit/no/custom/handler",
+ "specificAttributeHandlerClass": "",
+ "type": {
+ "mds": false,
+ "autoIncludeWithMandates": false
+ }
}
] \ No newline at end of file