aboutsummaryrefslogtreecommitdiff
path: root/modules/authmodule_id-austria/src/test/java/at/asitplus/eidas/specific/modules/auth/idaustria/test/task/RequestIdAustriaSystemTaskTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'modules/authmodule_id-austria/src/test/java/at/asitplus/eidas/specific/modules/auth/idaustria/test/task/RequestIdAustriaSystemTaskTest.java')
-rw-r--r--modules/authmodule_id-austria/src/test/java/at/asitplus/eidas/specific/modules/auth/idaustria/test/task/RequestIdAustriaSystemTaskTest.java72
1 files changed, 48 insertions, 24 deletions
diff --git a/modules/authmodule_id-austria/src/test/java/at/asitplus/eidas/specific/modules/auth/idaustria/test/task/RequestIdAustriaSystemTaskTest.java b/modules/authmodule_id-austria/src/test/java/at/asitplus/eidas/specific/modules/auth/idaustria/test/task/RequestIdAustriaSystemTaskTest.java
index f6ffc729..1feb684d 100644
--- a/modules/authmodule_id-austria/src/test/java/at/asitplus/eidas/specific/modules/auth/idaustria/test/task/RequestIdAustriaSystemTaskTest.java
+++ b/modules/authmodule_id-austria/src/test/java/at/asitplus/eidas/specific/modules/auth/idaustria/test/task/RequestIdAustriaSystemTaskTest.java
@@ -18,6 +18,7 @@ import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.internal.util.collections.Sets;
import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
import org.opensaml.core.xml.schema.XSString;
import org.opensaml.core.xml.util.XMLObjectSupport;
@@ -41,6 +42,7 @@ import at.asitplus.eidas.specific.modules.msproxyservice.protocol.ProxyServicePe
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.SpMandateModes;
+import at.gv.egiz.eaaf.core.api.data.PvpAttributeDefinitions;
import at.gv.egiz.eaaf.core.api.gui.IVelocityGuiBuilderConfiguration;
import at.gv.egiz.eaaf.core.api.idp.process.ExecutionContext;
import at.gv.egiz.eaaf.core.api.storage.ITransactionStorage;
@@ -213,7 +215,7 @@ public class RequestIdAustriaSystemTaskTest {
//validate state
final EaafRequestedAttributes reqAttr = validate();
- Assert.assertEquals("#Req Attribute", 4, reqAttr.getAttributes().size());
+ Assert.assertEquals("#Req Attribute", 5, reqAttr.getAttributes().size());
Assert.assertEquals("Wrong req attr.", "urn:eidgvat:attributes.eidas.uniqueId",
reqAttr.getAttributes().get(0).getName());
@@ -246,15 +248,15 @@ public class RequestIdAustriaSystemTaskTest {
((XSString)reqAttr.getAttributes().get(2).getAttributeValues().get(0)).getValue());
Assert.assertEquals("Wrong req attr.", "urn:eidgvat:attributes.ServiceProviderMandateType",
- reqAttr.getAttributes().get(3).getName());
- Assert.assertNotNull("Req. Attr value element", reqAttr.getAttributes().get(3).getAttributeValues());
+ reqAttr.getAttributes().get(4).getName());
+ Assert.assertNotNull("Req. Attr value element", reqAttr.getAttributes().get(4).getAttributeValues());
Assert.assertEquals("#Req. Attr value", 1,
- reqAttr.getAttributes().get(3).getAttributeValues().size());
+ reqAttr.getAttributes().get(4).getAttributeValues().size());
org.springframework.util.Assert.isInstanceOf(XSString.class,
- reqAttr.getAttributes().get(3).getAttributeValues().get(0), "Wrong requested Attributes Value type");
+ reqAttr.getAttributes().get(4).getAttributeValues().get(0), "Wrong requested Attributes Value type");
Assert.assertEquals("Req. Attr. Value",
pendingReq.getServiceProviderConfiguration(ServiceProviderConfiguration.class).getMandateMode().getMode(),
- ((XSString)reqAttr.getAttributes().get(3).getAttributeValues().get(0)).getValue());
+ ((XSString)reqAttr.getAttributes().get(4).getAttributeValues().get(0)).getValue());
}
@@ -275,33 +277,55 @@ public class RequestIdAustriaSystemTaskTest {
LightRequest eidasReq = eidasRequestBuilder.build();
pendingReq.setEidasRequest(eidasReq);
+ oaParam.setRequestedAttributes(Sets.newSet(
+ "aabbccdd",
+ RandomStringUtils.randomAlphanumeric(10),
+ PvpAttributeDefinitions.BIRTHDATE_NAME));
+
//execute test
task.execute(pendingReq, executionContext);
//validate state
final EaafRequestedAttributes reqAttr = validate();
- Assert.assertEquals("#Req Attribute", 6, reqAttr.getAttributes().size());
+ Assert.assertEquals("#Req Attribute", 7, reqAttr.getAttributes().size());
- Assert.assertEquals("Wrong req attr.", "urn:eidgvat:attributes.ServiceProviderFriendlyName",
+
+ Assert.assertEquals("Wrong req attr.", "urn:eidgvat:attributes.RequiredAttributes",
reqAttr.getAttributes().get(3).getName());
- Assert.assertNotNull("Req. Attr value element", reqAttr.getAttributes().get(1).getAttributeValues());
+ Assert.assertNotNull("Req. Attr value element", reqAttr.getAttributes().get(3).getAttributeValues());
Assert.assertEquals("#Req. Attr value", 1,
reqAttr.getAttributes().get(3).getAttributeValues().size());
org.springframework.util.Assert.isInstanceOf(XSString.class,
reqAttr.getAttributes().get(3).getAttributeValues().get(0), "Wrong requested Attributes Value type");
- Assert.assertEquals("Req. Attr. Value", eidasReq.getProviderName(),
+
+ List<String> reqProfiles = KeyValueUtils.getListOfCsvValues(
((XSString)reqAttr.getAttributes().get(3).getAttributeValues().get(0)).getValue());
+ reqProfiles.stream().forEach(
+ el -> assertTrue("missing IDA attribute: " + el, oaParam.getRequestedAttributes().contains(el)));
- Assert.assertEquals("Wrong req attr.", "urn:eidgvat:attributes.ServiceProviderUniqueId",
+
+ Assert.assertEquals("Wrong req attr.", "urn:eidgvat:attributes.ServiceProviderFriendlyName",
reqAttr.getAttributes().get(4).getName());
- Assert.assertNotNull("Req. Attr value element", reqAttr.getAttributes().get(1).getAttributeValues());
+ Assert.assertNotNull("Req. Attr value element", reqAttr.getAttributes().get(4).getAttributeValues());
Assert.assertEquals("#Req. Attr value", 1,
reqAttr.getAttributes().get(4).getAttributeValues().size());
org.springframework.util.Assert.isInstanceOf(XSString.class,
reqAttr.getAttributes().get(4).getAttributeValues().get(0), "Wrong requested Attributes Value type");
- Assert.assertEquals("Req. Attr. Value", eidasReq.getRequesterId(),
+ Assert.assertEquals("Req. Attr. Value", eidasReq.getProviderName(),
((XSString)reqAttr.getAttributes().get(4).getAttributeValues().get(0)).getValue());
+ Assert.assertEquals("Wrong req attr.", "urn:eidgvat:attributes.ServiceProviderUniqueId",
+ reqAttr.getAttributes().get(5).getName());
+ Assert.assertNotNull("Req. Attr value element", reqAttr.getAttributes().get(5).getAttributeValues());
+ Assert.assertEquals("#Req. Attr value", 1,
+ reqAttr.getAttributes().get(5).getAttributeValues().size());
+ org.springframework.util.Assert.isInstanceOf(XSString.class,
+ reqAttr.getAttributes().get(5).getAttributeValues().get(0), "Wrong requested Attributes Value type");
+ Assert.assertEquals("Req. Attr. Value", eidasReq.getRequesterId(),
+ ((XSString)reqAttr.getAttributes().get(5).getAttributeValues().get(0)).getValue());
+
+
+
}
@Test
@@ -330,31 +354,31 @@ public class RequestIdAustriaSystemTaskTest {
//validate state
final EaafRequestedAttributes reqAttr = validate();
- Assert.assertEquals("#Req Attribute", 7, reqAttr.getAttributes().size());
+ Assert.assertEquals("#Req Attribute", 8, reqAttr.getAttributes().size());
Assert.assertEquals("Wrong req attr.", "urn:eidgvat:attributes.ServiceProviderMandateProfiles",
- reqAttr.getAttributes().get(5).getName());
- Assert.assertNotNull("Req. Attr value element", reqAttr.getAttributes().get(1).getAttributeValues());
+ reqAttr.getAttributes().get(6).getName());
+ Assert.assertNotNull("Req. Attr value element", reqAttr.getAttributes().get(6).getAttributeValues());
Assert.assertEquals("#Req. Attr value", 1,
- reqAttr.getAttributes().get(5).getAttributeValues().size());
+ reqAttr.getAttributes().get(6).getAttributeValues().size());
org.springframework.util.Assert.isInstanceOf(XSString.class,
- reqAttr.getAttributes().get(5).getAttributeValues().get(0), "Wrong requested Attributes Value type");
+ reqAttr.getAttributes().get(6).getAttributeValues().get(0), "Wrong requested Attributes Value type");
List<String> reqProfiles = KeyValueUtils.getListOfCsvValues(
- ((XSString)reqAttr.getAttributes().get(5).getAttributeValues().get(0)).getValue());
+ ((XSString)reqAttr.getAttributes().get(6).getAttributeValues().get(0)).getValue());
reqProfiles.stream().forEach(el -> assertTrue("missing profile: " + el, mandateProfiles.contains(el)));
Assert.assertEquals("Wrong req attr.", "urn:eidgvat:attributes.ServiceProviderMandateType",
- reqAttr.getAttributes().get(6).getName());
- Assert.assertNotNull("Req. Attr value element", reqAttr.getAttributes().get(6).getAttributeValues());
+ reqAttr.getAttributes().get(7).getName());
+ Assert.assertNotNull("Req. Attr value element", reqAttr.getAttributes().get(7).getAttributeValues());
Assert.assertEquals("#Req. Attr value", 1,
- reqAttr.getAttributes().get(6).getAttributeValues().size());
+ reqAttr.getAttributes().get(7).getAttributeValues().size());
org.springframework.util.Assert.isInstanceOf(XSString.class,
- reqAttr.getAttributes().get(6).getAttributeValues().get(0), "Wrong requested Attributes Value type");
+ reqAttr.getAttributes().get(7).getAttributeValues().get(0), "Wrong requested Attributes Value type");
Assert.assertEquals("Req. Attr. Value",
SpMandateModes.LEGAL_FORCE.getMode(),
- ((XSString)reqAttr.getAttributes().get(6).getAttributeValues().get(0)).getValue());
+ ((XSString)reqAttr.getAttributes().get(7).getAttributeValues().get(0)).getValue());
}