From ebc5f11b7ff0ca374818445da0a62276a91707dd Mon Sep 17 00:00:00 2001
From: Thomas <>
Date: Thu, 17 Mar 2022 08:17:14 +0100
Subject: test(core): fix integration test with included work-around for IDA
 mode

---
 .../connector/test/FullStartUpAndProcessTest.java   | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/FullStartUpAndProcessTest.java b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/FullStartUpAndProcessTest.java
index 63b11322..c2b87aa4 100644
--- a/connector/src/test/java/at/asitplus/eidas/specific/connector/test/FullStartUpAndProcessTest.java
+++ b/connector/src/test/java/at/asitplus/eidas/specific/connector/test/FullStartUpAndProcessTest.java
@@ -12,6 +12,9 @@ import java.time.Instant;
 import java.util.Map;
 import java.util.Timer;
 
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
 import javax.xml.transform.TransformerException;
 
 import org.apache.commons.lang3.RandomStringUtils;
@@ -85,7 +88,10 @@ import eu.eidas.specificcommunication.protocol.SpecificCommunicationService;
 import lombok.val;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.xml.XMLParserException;
+import szrservices.GetIdentityLinkEidasResponse;
+import szrservices.PersonInfoType;
 import szrservices.SZR;
+import szrservices.SZRException_Exception;
 import szrservices.SignContentEntry;
 import szrservices.SignContentResponseType;
 
@@ -400,6 +406,8 @@ public class FullStartUpAndProcessTest {
 
   private void injectSzrResponse() throws Exception {
     
+    setSzrResponseIdentityLink("/data/szr/szr_resp_valid_1.xml");
+    
     when(szrMock, "getStammzahlEncrypted", any(), any()).thenReturn(vsz);
     val signContentResp = new SignContentResponseType();
     final SignContentEntry signContentEntry = new SignContentEntry();
@@ -493,4 +501,17 @@ public class FullStartUpAndProcessTest {
     metadataProvider.addMetadataResolverIntoChain(fileSystemResolver);
     
   }
+  
+  private void setSzrResponseIdentityLink(String responseXmlPath) throws JAXBException, SZRException_Exception {
+    final JAXBContext jaxbContext = JAXBContext
+        .newInstance(szrservices.ObjectFactory.class, org.w3._2001._04.xmldsig_more.ObjectFactory.class,
+                     org.w3._2000._09.xmldsig.ObjectFactory.class,
+                     at.gv.e_government.reference.namespace.persondata._20020228.ObjectFactory.class);
+    final Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
+    final GetIdentityLinkEidasResponse szrResponse = (GetIdentityLinkEidasResponse) jaxbUnmarshaller
+        .unmarshal(this.getClass().getResourceAsStream(responseXmlPath));        
+    org.mockito.Mockito.when(szrMock.getIdentityLinkEidas(any(PersonInfoType.class))).thenReturn(szrResponse.getGetIdentityLinkReturn());
+
+  }
+  
 }
-- 
cgit v1.2.3