aboutsummaryrefslogtreecommitdiff
path: root/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/SzrClientTestProduction.java
diff options
context:
space:
mode:
Diffstat (limited to 'modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/SzrClientTestProduction.java')
-rw-r--r--modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/SzrClientTestProduction.java81
1 files changed, 65 insertions, 16 deletions
diff --git a/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/SzrClientTestProduction.java b/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/SzrClientTestProduction.java
index 1e7ff369..83d7866e 100644
--- a/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/SzrClientTestProduction.java
+++ b/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/SzrClientTestProduction.java
@@ -53,12 +53,16 @@ import at.asitplus.eidas.specific.modules.auth.eidas.v2.exception.EidasSAuthenti
import at.asitplus.eidas.specific.modules.auth.eidas.v2.exception.SzrCommunicationException;
import at.asitplus.eidas.specific.modules.auth.eidas.v2.szr.SzrClient;
import at.asitplus.eidas.specific.modules.auth.eidas.v2.utils.EidasResponseUtils;
+import at.gv.e_government.reference.namespace.persondata._20020228.IdentificationType;
import at.gv.e_government.reference.namespace.persondata._20020228.PersonNameType;
import at.gv.e_government.reference.namespace.persondata._20020228.PhysicalPersonType;
import at.gv.egiz.eaaf.core.api.data.EaafConstants;
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.EaafBuilderException;
import at.gv.egiz.eaaf.core.exceptions.EaafParserException;
+import at.gv.egiz.eaaf.core.impl.builder.BpkBuilder;
+import at.gv.egiz.eaaf.core.impl.data.Pair;
import at.gv.egiz.eaaf.core.impl.data.Triple;
import at.gv.egiz.eaaf.core.impl.idp.auth.data.SimpleIdentityLinkAssertionParser;
import szrservices.IdentityLinkType;
@@ -103,7 +107,39 @@ public class SzrClientTestProduction {
Assert.assertNotNull("vsz", vsz);
}
-
+
+ @Test
+ public void getVszRandom() throws SzrCommunicationException, EidasSAuthenticationException, EaafBuilderException {
+
+ final String givenName = "Franz";
+ final String familyName = RandomStringUtils.randomAlphabetic(10);
+ final String dateOfBirth = "1989-05-04";
+ final String eIDASeID = "IS/AT/" + RandomStringUtils.randomAlphanumeric(20);
+
+ IdentityLinkType idl = szrClient.getIdentityLinkInRawMode(getPersonInfo(familyName, givenName, dateOfBirth, eIDASeID));
+
+ PersonInfoType vszPerson = getPersonInfo(
+ idl.getPersonInfo().getPerson().getName().getFamilyName(),
+ idl.getPersonInfo().getPerson().getName().getGivenName(),
+ idl.getPersonInfo().getPerson().getDateOfBirth(),
+ null);
+
+ final Pair<String, String> bpkCalc =
+ BpkBuilder.generateAreaSpecificPersonIdentifier(
+ idl.getPersonInfo().getPerson().getIdentification().getValue(),
+ idl.getPersonInfo().getPerson().getIdentification().getType(),
+ EaafConstants.URN_PREFIX_CDID + "ZP");
+
+ IdentificationType vszId = new IdentificationType();
+ vszPerson.getPerson().setIdentification(vszId);
+ vszId.setValue(bpkCalc.getFirst());
+ vszId.setType(bpkCalc.getSecond());
+
+ String vsz = szrClient.getEncryptedStammzahl(vszPerson);
+ Assert.assertNotNull("vsz", vsz);
+
+ }
+
@Test
public void getEidasBind() throws SzrCommunicationException, EidasSAuthenticationException {
String vsz = RandomStringUtils.randomAlphanumeric(10);
@@ -204,6 +240,13 @@ public class SzrClientTestProduction {
}
private PersonInfoType getPersonInfo() throws EidasSAuthenticationException {
+ return getPersonInfo(familyName, givenName, dateOfBirth, eIDASeID);
+
+ }
+
+ private PersonInfoType getPersonInfo(String familyName, String givenName, String dateOfBirth, String eIDASeID)
+ throws EidasSAuthenticationException {
+
final PersonInfoType personInfo = new PersonInfoType();
final PersonNameType personName = new PersonNameType();
final PhysicalPersonType naturalPerson = new PhysicalPersonType();
@@ -211,26 +254,32 @@ public class SzrClientTestProduction {
naturalPerson.setName(personName);
personInfo.setPerson(naturalPerson);
- personInfo.setTravelDocument(eDocument);
-
- // parse some eID attributes
- final Triple<String, String, String> eIdentifier =
- EidasResponseUtils.parseEidasPersonalIdentifier(eIDASeID);
- final String uniqueId = createHashFromUniqueId(eIdentifier.getThird());
- final String citizenCountry = eIdentifier.getFirst();
// person information
personName.setFamilyName(familyName);
personName.setGivenName(givenName);
naturalPerson.setDateOfBirth(dateOfBirth);
- eDocument.setIssuingCountry(citizenCountry);
- eDocument.setDocumentNumber(uniqueId);
-
- // eID document information
- eDocument.setDocumentType(basicConfig.getBasicConfiguration(
- Constants.CONIG_PROPS_EIDAS_SZRCLIENT_PARAMS_EDOCUMENTTYPE,
- Constants.SZR_CONSTANTS_DEFAULT_DOCUMENT_TYPE));
+
+ // parse some eID attributes
+ if (eIDASeID != null) {
+ final Triple<String, String, String> eIdentifier =
+ EidasResponseUtils.parseEidasPersonalIdentifier(eIDASeID);
+ final String uniqueId = createHashFromUniqueId(eIdentifier.getThird());
+ final String citizenCountry = eIdentifier.getFirst();
+
+ eDocument.setIssuingCountry(citizenCountry);
+ eDocument.setDocumentNumber(uniqueId);
+
+ // eID document information
+ eDocument.setDocumentType(basicConfig.getBasicConfiguration(
+ Constants.CONIG_PROPS_EIDAS_SZRCLIENT_PARAMS_EDOCUMENTTYPE,
+ Constants.SZR_CONSTANTS_DEFAULT_DOCUMENT_TYPE));
+
+ personInfo.setTravelDocument(eDocument);
+
+ }
return personInfo;
- }
+
+ }
}