SI-3095 Schnittstelle SARIS
diff --git a/SARIS-Interface/sonar-project.properties b/SARIS-Interface/sonar-project.properties
index 7e18aae..525d25e 100644
--- a/SARIS-Interface/sonar-project.properties
+++ b/SARIS-Interface/sonar-project.properties
@@ -10,10 +10,10 @@
  
 sonar.sourceEncoding=UTF-8
 sonar.sources=src/main
-sonar.exclusions=**/model/*.java,**/viewmodel/*.java,**/dtos/*.java, **/RabbitMqConfig.java
+sonar.exclusions=**/model/*.java,**/viewmodel/*.java,**/dtos/*.java, **/RabbitMqConfig.java, **/WebServiceMessageSenderWithAuth.java
 sonar.tests=src/test
 #sonar.test.inclusions=**/*.spec.ts
-sonar.test.exclusions=**/model/**,**/viewmodel/**,**/dtos/*.java, **/RabbitMqConfig.java
+sonar.test.exclusions=**/model/**,**/viewmodel/**,**/dtos/*.java, **/RabbitMqConfig.java, **/WebServiceMessageSenderWithAuth.java
 #sonar.ts.tslintconfigpath=tslint.json
 
 sonar.typescript.lcov.reportPaths=coverage/lcov.info
\ No newline at end of file
diff --git a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/ImportSchedulerConfig.java b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/ImportSchedulerConfig.java
index e744cf3..6b278b6 100644
--- a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/ImportSchedulerConfig.java
+++ b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/ImportSchedulerConfig.java
@@ -26,7 +26,7 @@
     private String cronExpression;
 
     @Bean
-    public void logConfigLdap() {
+    public void logConfigScheduler() {
         log.info(SCHEDULER_NAME + " is enabled with cron expression: " + cronExpression);
     }
 
diff --git a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitMq/RabbitMqConfig.java b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitMq/RabbitMqConfig.java
index 5884433..2dd2644 100644
--- a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitMq/RabbitMqConfig.java
+++ b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitMq/RabbitMqConfig.java
@@ -1,4 +1,4 @@
-package org.eclipse.openk.gridfailureinformation.sarisinterface.config.rabbitMq;
+package org.eclipse.openk.gridfailureinformation.sarisinterface.config.rabbitmq;
 
 import lombok.Data;
 import lombok.extern.log4j.Log4j2;
@@ -32,7 +32,7 @@
     private RabbitTemplate rabbitTemplate;
 
     @Autowired
-    private RabbitMqProperties rabbitMqProperties;
+    private org.eclipse.openk.gridfailureinformation.sarisinterface.config.rabbitmq.RabbitMqProperties rabbitMqProperties;
 
     @Bean
     public MessageChannel failureImportChannel() {
diff --git a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitMq/RabbitMqProperties.java b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitMq/RabbitMqProperties.java
index cac6c93..a129a1a 100644
--- a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitMq/RabbitMqProperties.java
+++ b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitMq/RabbitMqProperties.java
@@ -1,4 +1,4 @@
-package org.eclipse.openk.gridfailureinformation.sarisinterface.config.rabbitMq;
+package org.eclipse.openk.gridfailureinformation.sarisinterface.config.rabbitmq;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitmq/RabbitMqConfig.java b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitmq/RabbitMqConfig.java
new file mode 100644
index 0000000..2dd2644
--- /dev/null
+++ b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitmq/RabbitMqConfig.java
@@ -0,0 +1,73 @@
+package org.eclipse.openk.gridfailureinformation.sarisinterface.config.rabbitmq;
+
+import lombok.Data;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.amqp.core.BindingBuilder;
+import org.springframework.amqp.core.DirectExchange;
+import org.springframework.amqp.core.Queue;
+import org.springframework.amqp.rabbit.annotation.EnableRabbit;
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;
+import org.springframework.integration.annotation.ServiceActivator;
+import org.springframework.integration.channel.DirectChannel;
+import org.springframework.integration.config.EnableIntegration;
+import org.springframework.messaging.MessageChannel;
+import org.springframework.messaging.MessageHandler;
+
+import javax.annotation.PostConstruct;
+
+@Profile("!test")
+@Configuration
+@Log4j2
+@EnableRabbit
+@EnableIntegration
+@Data
+public class RabbitMqConfig {
+
+    @Autowired
+    private RabbitTemplate rabbitTemplate;
+
+    @Autowired
+    private org.eclipse.openk.gridfailureinformation.sarisinterface.config.rabbitmq.RabbitMqProperties rabbitMqProperties;
+
+    @Bean
+    public MessageChannel failureImportChannel() {
+        return new DirectChannel();
+    }
+
+    @PostConstruct
+    public void buildAllQueues() {
+        log.info("RabbitMqConfig: Configuring all Exchanges and Queues");
+
+        RabbitAdmin admin = new RabbitAdmin(rabbitTemplate);
+
+        // Neuerstellung Exchange und Queues (Import) falls diese nicht vorhanden sind (passiert nur dann!)
+        DirectExchange importExchange = new DirectExchange(rabbitMqProperties.getImportExchange());
+        log.info("************** Configure Import RabbitMQ **************");
+        log.info("ImportExchange: " + rabbitMqProperties.getImportExchange());
+        admin.declareExchange(importExchange);
+        Queue importQueue = new Queue(rabbitMqProperties.getImportQueue());
+        log.info("ImportQueue: " + rabbitMqProperties.getImportQueue());
+        log.info("ImportKey:   " + rabbitMqProperties.getImportKey());
+        admin.declareQueue(importQueue);
+        admin.declareBinding(BindingBuilder.bind(importQueue).to(importExchange).with(rabbitMqProperties.getImportKey()));
+
+    }
+
+    @Bean
+    @ServiceActivator(inputChannel = "failureImportChannel")
+    public MessageHandler messageHandler() {
+
+        return message -> rabbitTemplate.convertAndSend(rabbitMqProperties.getImportExchange(),
+                rabbitMqProperties.getImportKey(), message.getPayload(), message1 -> {
+            message1.getMessageProperties().getHeaders().put("metaId", message.getHeaders().get("metaId"));
+            message1.getMessageProperties().getHeaders().put("description", message.getHeaders().get("description"));
+            message1.getMessageProperties().getHeaders().put("source", message.getHeaders().get("source"));
+            return message1;
+        });
+    }
+}
diff --git a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitmq/RabbitMqProperties.java b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitmq/RabbitMqProperties.java
new file mode 100644
index 0000000..a129a1a
--- /dev/null
+++ b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/rabbitmq/RabbitMqProperties.java
@@ -0,0 +1,30 @@
+package org.eclipse.openk.gridfailureinformation.sarisinterface.config.rabbitmq;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+@Getter
+@Setter
+@Configuration
+@ConfigurationProperties(prefix = "spring.rabbitmq", ignoreUnknownFields = true)
+public class RabbitMqProperties {
+
+    private String host;
+    private String port;
+    private String username;
+    private String password;
+
+    private String importExchange;
+    private String importQueue;
+    private String importKey;
+
+}
+
+
+
+
+
+
+
diff --git a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/constants/Constants.java b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/constants/Constants.java
index 3ca592e..bc05ff9 100644
--- a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/constants/Constants.java
+++ b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/constants/Constants.java
@@ -13,9 +13,6 @@
  *******************************************************************************
 */
 package org.eclipse.openk.gridfailureinformation.sarisinterface.constants;
-
-import org.apache.tomcat.jni.OS;
-
 public final class Constants {
 
     public static final String SRC_SARIS = "SARIS";
diff --git a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/controller/ImportController.java b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/controller/ImportController.java
index 02ab067..8ad134d 100644
--- a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/controller/ImportController.java
+++ b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/controller/ImportController.java
@@ -26,7 +26,10 @@
 import org.eclipse.openk.gridfailureinformation.sarisinterface.wsdl.ViewGeplanteVU;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseStatus;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
diff --git a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/service/ImportService.java b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/service/ImportService.java
index 7b28384..67a3f7e 100644
--- a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/service/ImportService.java
+++ b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/service/ImportService.java
@@ -16,9 +16,9 @@
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.log4j.Log4j2;
+import org.eclipse.openk.gridfailureinformation.sarisinterface.constants.Constants;
 import org.eclipse.openk.gridfailureinformation.sarisinterface.dtos.ForeignFailureDataDto;
 import org.eclipse.openk.gridfailureinformation.sarisinterface.dtos.ForeignFailureMessageDto;
-import org.eclipse.openk.gridfailureinformation.sarisinterface.constants.Constants;
 import org.eclipse.openk.gridfailureinformation.sarisinterface.exceptions.InternalServerErrorException;
 import org.eclipse.openk.gridfailureinformation.sarisinterface.mapper.SARISMapper;
 import org.eclipse.openk.gridfailureinformation.sarisinterface.wsdl.ArrayOfViewGeplanteVU;
@@ -62,13 +62,15 @@
 
     public void importForeignFailures(int sarisSparteId) {
 
-//       GetAktuelleGVUsInfoAllgemeinResponse sarisResponse = sarisWebservice.getAktuelleGVU(sarisSparteId, false);
+        GetAktuelleGVUsInfoAllgemeinResponse sarisResponse = sarisWebservice.getAktuelleGVU(sarisSparteId, false);
 
-       GetAktuelleGVUsInfoAllgemeinResponse sarisResponse = getMockedSarisResponse("sarisRealMockResponse.xml");
+//        GetAktuelleGVUsInfoAllgemeinResponse sarisResponse = getMockedSarisResponse("sarisRealMockResponse.xml");
 
-        ArrayOfViewGeplanteVU getAktuelleGVUsInfoAllgemeinResult = sarisResponse.getGetAktuelleGVUsInfoAllgemeinResult();
+        ArrayOfViewGeplanteVU getAktuelleGVUsInfoAllgemeinResult =
+                sarisResponse.getGetAktuelleGVUsInfoAllgemeinResult();
         if (getAktuelleGVUsInfoAllgemeinResult != null) {
-            List<ViewGeplanteVU> viewGeplanteVU = sarisResponse.getGetAktuelleGVUsInfoAllgemeinResult().getViewGeplanteVU();
+            List<ViewGeplanteVU> viewGeplanteVU =
+                    sarisResponse.getGetAktuelleGVUsInfoAllgemeinResult().getViewGeplanteVU();
             List<ForeignFailureMessageDto> messageDtoList = new ArrayList<>();
 
             for (ViewGeplanteVU geplanteVU : viewGeplanteVU) {
diff --git a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/service/WebServiceMessageSenderWithAuth.java b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/service/WebServiceMessageSenderWithAuth.java
index c0e5ac4..a243544 100644
--- a/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/service/WebServiceMessageSenderWithAuth.java
+++ b/SARIS-Interface/src/main/java/org/eclipse/openk/gridfailureinformation/sarisinterface/service/WebServiceMessageSenderWithAuth.java
@@ -1,15 +1,11 @@
 package org.eclipse.openk.gridfailureinformation.sarisinterface.service;
 
 import lombok.extern.log4j.Log4j2;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.stereotype.Service;
 import org.springframework.ws.transport.http.HttpUrlConnectionMessageSender;
 
 import java.io.IOException;
 import java.net.HttpURLConnection;
+import java.nio.charset.StandardCharsets;
 import java.util.Base64;
 
 @Log4j2
@@ -29,9 +25,8 @@
             throws IOException {
         Base64.Encoder enc = Base64.getEncoder();
         String userpassword = user +":"+ password;
-        String encodedAuthorization = enc.encodeToString(userpassword.getBytes());
-        connection.setRequestProperty("Authorization", "Basic " + encodedAuthorization);
-
+        String encodedAuthorization = enc.encodeToString(userpassword.getBytes(StandardCharsets.UTF_8));
+        connection.setRequestProperty("Authorization", "Basic " + encodedAuthorization); // NOSONAR Basic Authorization is used on the server side of this interface
         super.prepareConnection(connection);
     }
 }
diff --git a/SARIS-Interface/src/main/resources/Stoerungenservice.wsdl b/SARIS-Interface/src/main/resources/Stoerungenservice.wsdl
index f08b388..a4960ca 100644
--- a/SARIS-Interface/src/main/resources/Stoerungenservice.wsdl
+++ b/SARIS-Interface/src/main/resources/Stoerungenservice.wsdl
@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
-<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s1="http://tempuri.org/AbstractTypes" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+<wsdl:definitions xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://tempuri.org/"
+				  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+				  xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
+				  targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
 	<wsdl:types>
 		<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
 			<s:element name="GetAktuelleGVUsInfoAllgemein">
diff --git a/SARIS-Interface/src/main/resources/countries.wsdl b/SARIS-Interface/src/main/resources/countries.wsdl
deleted file mode 100644
index 8b56dcc..0000000
--- a/SARIS-Interface/src/main/resources/countries.wsdl
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:sch="http://spring.io/guides/gs-producing-web-service" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://spring.io/guides/gs-producing-web-service" targetNamespace="http://spring.io/guides/gs-producing-web-service">
-  <wsdl:types>
-    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://spring.io/guides/gs-producing-web-service">
-
-    <xs:element name="getCountryRequest">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element name="name" type="xs:string"/>
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-
-    <xs:element name="getCountryResponse">
-        <xs:complexType>
-            <xs:sequence>
-                <xs:element name="country" type="tns:country"/>
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-
-    <xs:complexType name="country">
-        <xs:sequence>
-            <xs:element name="name" type="xs:string"/>
-            <xs:element name="population" type="xs:int"/>
-            <xs:element name="capital" type="xs:string"/>
-            <xs:element name="currency" type="tns:currency"/>
-        </xs:sequence>
-    </xs:complexType>
-
-    <xs:simpleType name="currency">
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="GBP"/>
-            <xs:enumeration value="EUR"/>
-            <xs:enumeration value="PLN"/>
-        </xs:restriction>
-    </xs:simpleType>
-</xs:schema>
-  </wsdl:types>
-  <wsdl:message name="getCountryResponse">
-    <wsdl:part element="tns:getCountryResponse" name="getCountryResponse">
-    </wsdl:part>
-  </wsdl:message>
-  <wsdl:message name="getCountryRequest">
-    <wsdl:part element="tns:getCountryRequest" name="getCountryRequest">
-    </wsdl:part>
-  </wsdl:message>
-  <wsdl:portType name="CountriesPort">
-    <wsdl:operation name="getCountry">
-      <wsdl:input message="tns:getCountryRequest" name="getCountryRequest">
-    </wsdl:input>
-      <wsdl:output message="tns:getCountryResponse" name="getCountryResponse">
-    </wsdl:output>
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:binding name="CountriesPortSoap11" type="tns:CountriesPort">
-    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-    <wsdl:operation name="getCountry">
-      <soap:operation soapAction=""/>
-      <wsdl:input name="getCountryRequest">
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output name="getCountryResponse">
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:service name="CountriesPortService">
-    <wsdl:port binding="tns:CountriesPortSoap11" name="CountriesPortSoap11">
-      <soap:address location="http://localhost:8080/ws"/>
-    </wsdl:port>
-  </wsdl:service>
-</wsdl:definitions>
\ No newline at end of file
diff --git a/SARIS-Interface/src/test/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/TestConfiguration.java b/SARIS-Interface/src/test/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/TestConfiguration.java
index 68162c0..f30151a 100644
--- a/SARIS-Interface/src/test/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/TestConfiguration.java
+++ b/SARIS-Interface/src/test/java/org/eclipse/openk/gridfailureinformation/sarisinterface/config/TestConfiguration.java
@@ -18,7 +18,7 @@
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.rabbitmq.client.Channel;
 import org.eclipse.openk.gridfailureinformation.sarisinterface.SarisInterfaceApplication;
-import org.eclipse.openk.gridfailureinformation.sarisinterface.config.rabbitMq.RabbitMqConfig;
+import org.eclipse.openk.gridfailureinformation.sarisinterface.config.rabbitmq.RabbitMqConfig;
 import org.eclipse.openk.gridfailureinformation.sarisinterface.mapper.SARISMapperImpl;
 import org.springframework.amqp.rabbit.annotation.EnableRabbit;
 import org.springframework.amqp.rabbit.connection.Connection;
@@ -29,7 +29,6 @@
 import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer;
 import org.springframework.context.annotation.Bean;
 import org.springframework.messaging.MessageChannel;
-import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.TestPropertySource;
 
diff --git a/SARIS-Interface/src/test/java/org/eclipse/openk/gridfailureinformation/sarisinterface/controller/ImportControllerTest.java b/SARIS-Interface/src/test/java/org/eclipse/openk/gridfailureinformation/sarisinterface/controller/ImportControllerTest.java
index 375b766..da52550 100644
--- a/SARIS-Interface/src/test/java/org/eclipse/openk/gridfailureinformation/sarisinterface/controller/ImportControllerTest.java
+++ b/SARIS-Interface/src/test/java/org/eclipse/openk/gridfailureinformation/sarisinterface/controller/ImportControllerTest.java
@@ -19,6 +19,7 @@
 import org.eclipse.openk.gridfailureinformation.sarisinterface.service.ImportService;
 import org.eclipse.openk.gridfailureinformation.sarisinterface.service.SarisWebservice;
 import org.eclipse.openk.gridfailureinformation.sarisinterface.support.MockDataHelper;
+import org.eclipse.openk.gridfailureinformation.sarisinterface.wsdl.GetAktuelleGVUsInfoAllgemeinResponse;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
@@ -29,9 +30,11 @@
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.web.servlet.MockMvc;
 
+import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@@ -69,4 +72,31 @@
 
         verify(importService, times(0)).importForeignFailures(anyInt());
     }
+
+    @Test
+    @WithMockUser(value = "mockedUser")
+    public void shouldCallResponseTest() throws Exception {
+
+        GetAktuelleGVUsInfoAllgemeinResponse mockedSarisResponse = MockDataHelper.getMockedSarisResponse(
+                "sarisRealMockResponse.xml");
+
+        when(sarisWebservice.getAktuelleGVU(anyInt(), anyBoolean())).thenReturn(mockedSarisResponse);
+
+        mockMvc.perform(get("/saris/response-test"))
+                .andExpect(status().is2xxSuccessful());
+
+        verify(sarisWebservice, times(1)).getAktuelleGVU( anyInt(), anyBoolean());
+    }
+
+    @Test
+    @WithMockUser(value = "mockedUser")
+    public void shouldCallResponseTest2() throws Exception {
+
+        when(sarisWebservice.getAktuelleGVU(anyInt(), anyBoolean())).thenReturn(new GetAktuelleGVUsInfoAllgemeinResponse());
+
+        mockMvc.perform(get("/saris/response-test"))
+                .andExpect(status().is2xxSuccessful());
+
+        verify(sarisWebservice, times(1)).getAktuelleGVU( anyInt(), anyBoolean());
+    }
 }
\ No newline at end of file