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