aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/at/gv/egiz/moazs/MzsServiceTest.java
diff options
context:
space:
mode:
authorChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-06-28 10:29:50 +0200
committerChristof Rabensteiner <christof.rabensteiner@iaik.tugraz.at>2019-06-28 10:29:50 +0200
commitc43f9764b2132ce54a491c1daeeafe6aa4851ef5 (patch)
tree3f900f37b612fffd11a6069dd814f16474957053 /src/test/java/at/gv/egiz/moazs/MzsServiceTest.java
parent7eb6db5c837db22055b51988031920599a7e7270 (diff)
downloadmoa-zs-c43f9764b2132ce54a491c1daeeafe6aa4851ef5.tar.gz
moa-zs-c43f9764b2132ce54a491c1daeeafe6aa4851ef5.tar.bz2
moa-zs-c43f9764b2132ce54a491c1daeeafe6aa4851ef5.zip
Separate Test Suite into Unit- And Integration Tests
Per default, integration tests are excluded from build. They can be included with the `-P integration-test` argument. - Pom: Add maven profile for integration tests. - Rename integration tests (add `IT` prefix). - Move Resources into IT* folders. - Add MsgClientTest to test suite and add assertions to each test case.
Diffstat (limited to 'src/test/java/at/gv/egiz/moazs/MzsServiceTest.java')
-rw-r--r--src/test/java/at/gv/egiz/moazs/MzsServiceTest.java131
1 files changed, 0 insertions, 131 deletions
diff --git a/src/test/java/at/gv/egiz/moazs/MzsServiceTest.java b/src/test/java/at/gv/egiz/moazs/MzsServiceTest.java
deleted file mode 100644
index 579051d..0000000
--- a/src/test/java/at/gv/egiz/moazs/MzsServiceTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package at.gv.egiz.moazs;
-
-import at.gv.egiz.moazs.pipeline.DeliveryPipeline;
-import at.gv.egiz.moazs.repository.DeliveryRepository;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
-import org.springframework.boot.test.context.TestConfiguration;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Primary;
-import org.springframework.test.context.junit4.SpringRunner;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.XMLGregorianCalendar;
-import java.io.IOException;
-import java.net.URI;
-import java.net.http.HttpClient;
-import java.net.http.HttpRequest;
-import java.net.http.HttpResponse;
-import java.nio.file.Paths;
-import java.util.GregorianCalendar;
-
-import static at.gv.zustellung.msg.xsd.DeliveryRequestStatusType.Success.successBuilder;
-import static at.gv.zustellung.msg.xsd.DeliveryRequestStatusType.deliveryRequestStatusTypeBuilder;
-import static java.net.http.HttpClient.Version;
-import static org.junit.Assert.assertEquals;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT)
-
-public class MzsServiceTest {
-
- private final String serviceUri = "http://localhost:8080/services/DeliveryRequest";
-
- private final String basePath = "src/test/resources/at/gv/egiz/moazs/MzsServiceTest/";
-
- private final static Logger logger = LoggerFactory.getLogger(MzsServiceTest.class);
-
- @TestConfiguration
- public static class TestConfig {
-
- @Autowired
- private DeliveryRepository repository;
-
- @Bean
- @Primary
- public DeliveryPipeline deliveryPipelineThatAlwaysSucceeds() {
- return appDeliveryId -> {
-
- var success = successBuilder()
- .withDeliverySystem("Test Delivery System")
- .withZSDeliveryID("ZD-Delivery-ID")
- .withAppDeliveryID(appDeliveryId)
- .withDeliveryTimestamp(genTimeStamp())
- .build();
-
- var status = deliveryRequestStatusTypeBuilder()
- .withSuccess(success)
- .build();
-
- repository.add(status);
- };
- }
-
- private XMLGregorianCalendar genTimeStamp() {
- try {
- return DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar());
- } catch (DatatypeConfigurationException e) {
- throw new RuntimeException("ups");
- }
-
- }
- }
-
- @Test
- public void acceptValidDeliveryRequest() throws IOException, InterruptedException {
- var response = sendDeliveryRequestFile("validDeliveryRequest.soap");
- assertEquals(200, response.statusCode());
- }
-
- @Test
- public void rejectRequestWithoutSender() throws IOException, InterruptedException {
- var response = sendDeliveryRequestFile("missingSender.soap");
- assertEquals(500, response.statusCode());
- }
-
- @Test
- public void rejectBothProfileAndCorporateBody() throws IOException, InterruptedException {
- var response = sendDeliveryRequestFile("profileAndCorporateBody.soap");
- assertEquals(500, response.statusCode());
- }
-
- @Test
- public void rejectFormallyIncorrectDeliveryRequest() throws IOException, InterruptedException {
- var response = sendDeliveryRequestFile("formallyIncorrectDeliveryRequest.soap");
- assertEquals(500, response.statusCode());
- }
-
- @Test
- public void rejectRequestWithoutAppDeliveryID() throws IOException, InterruptedException {
- var response = sendDeliveryRequestFile("missingAppDeliveryId.soap");
- assertEquals(500, response.statusCode());
- }
-
- @Test
- public void rejectRequestWithoutMetaData() throws IOException, InterruptedException {
- var response = sendDeliveryRequestFile("missingMetaData.soap");
- assertEquals(500, response.statusCode());
- }
-
- private HttpResponse<String> sendDeliveryRequestFile(String fileName) throws IOException, InterruptedException {
-
- var path = basePath + fileName;
- var client = HttpClient.newBuilder().version(Version.HTTP_1_1).build();
- var request = HttpRequest.newBuilder()
- .uri(URI.create(serviceUri))
- .header("Content-Type", "text/xml;charset=UTF-8")
- .header("SOAPAction", "\"\"")
- .POST(HttpRequest.BodyPublishers.ofFile(Paths.get(path)))
- .build();
-
- return client.send(request, HttpResponse.BodyHandlers.ofString());
-
- }
-
-}