diff --git a/src/main/java/de/ozgcloud/eingang/xta/XtaRunner.java b/src/main/java/de/ozgcloud/eingang/xta/XtaRunner.java index 971cdadd083f9484836b704067cc2a835aea7565..4e04051caf3f1634054bd0a00533851893d7ab66 100644 --- a/src/main/java/de/ozgcloud/eingang/xta/XtaRunner.java +++ b/src/main/java/de/ozgcloud/eingang/xta/XtaRunner.java @@ -35,7 +35,6 @@ import de.ozgcloud.eingang.semantik.SemantikAdapter; import lombok.NonNull; import lombok.extern.log4j.Log4j2; -@Profile({ "!itcase" }) @Log4j2 @Component class XtaRunner implements ApplicationListener<ContextRefreshedEvent> { @@ -45,13 +44,12 @@ class XtaRunner implements ApplicationListener<ContextRefreshedEvent> { @Autowired private SemantikAdapter semantikAdapter; @Autowired - private ConfigurableApplicationContext context; - + private ShutdownService shutdownService; @Override public void onApplicationEvent(ContextRefreshedEvent event) { LOG.info("Fetching XTA Messages"); runGetXtaMessages(); - context.close(); + shutdownService.shutdown(); } void runGetXtaMessages() { diff --git a/src/test/java/de/ozgcloud/eingang/xta/SemantikAdapterITCase.java b/src/test/java/de/ozgcloud/eingang/xta/SemantikAdapterITCase.java index 7d2b295b770f55aedc7d9727babd440b9be2f939..b6138a47a98ad5d1b4dfa0bd17d3a3e42095c908 100644 --- a/src/test/java/de/ozgcloud/eingang/xta/SemantikAdapterITCase.java +++ b/src/test/java/de/ozgcloud/eingang/xta/SemantikAdapterITCase.java @@ -49,6 +49,9 @@ class SemantikAdapterITCase { @MockitoBean private VorgangService vorgangService; + @MockitoBean + private ShutdownService shutdownService; + @Nested class TestForFim { private final Map<String, Object> excpectedFormDataMap = FimFormDataTestFactory.FORM_DATA_MAP; diff --git a/src/test/java/de/ozgcloud/eingang/xta/XtaApplicationTest.java b/src/test/java/de/ozgcloud/eingang/xta/XtaApplicationTest.java index 7a7760142b49480c3bdc53d1ee049ec04fce244f..b5ad0c2b9a98b22c9a77e24ee23d227c95a66493 100644 --- a/src/test/java/de/ozgcloud/eingang/xta/XtaApplicationTest.java +++ b/src/test/java/de/ozgcloud/eingang/xta/XtaApplicationTest.java @@ -23,11 +23,12 @@ */ package de.ozgcloud.eingang.xta; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertTrue; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.bean.override.mockito.MockitoBean; import de.ozgcloud.eingang.Application; @@ -35,9 +36,12 @@ import de.ozgcloud.eingang.Application; @SpringBootTest(classes = Application.class) class XtaApplicationTest { + @MockitoBean + private ShutdownService shutdownService; + @Test void startup() { - // should start without exception; + // should start without exception assertTrue(true); } diff --git a/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java b/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java index ad69220224b0e2dbf0d414344bcc8133c376cf7d..a8b18a8afa14e4f43792bfd7bb724b994c7836b0 100644 --- a/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java +++ b/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java @@ -44,8 +44,6 @@ import org.mockito.Captor; import org.mockito.Mock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.boot.test.mock.mockito.SpyBean; import org.springframework.context.annotation.Bean; import org.springframework.test.context.ActiveProfiles; @@ -58,6 +56,8 @@ import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc.BinaryFileServi import de.ozgcloud.vorgang.vorgang.GrpcEingang; import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub; import io.grpc.Channel; +import org.springframework.test.context.bean.override.mockito.MockitoBean; +import org.springframework.test.context.bean.override.mockito.MockitoSpyBean; @SpringBootTest(classes = { Application.class, @@ -66,9 +66,9 @@ import io.grpc.Channel; @ActiveProfiles({ "itcase" }) class XtaITCase { - @SpyBean + @MockitoSpyBean private VorgangRemoteService vorgangRemoteService; - @MockBean + @MockitoBean private VorgangManagerServerResolver resolver; @Mock @@ -83,8 +83,10 @@ class XtaITCase { @Mock private Channel channel; - @MockBean + @MockitoBean private XtaRemoteService xtaRemoteService; + @MockitoBean + private ShutdownService shutdownService; @Captor private ArgumentCaptor<FormData> formDataArgumentCaptor; @@ -114,6 +116,11 @@ class XtaITCase { doReturn("vorgangId(unused)").when(vorgangRemoteService).createVorgang(any(), any(), any(), any()); } + @DisplayName("should shut down context after processing") + void shouldShutdownContextAfterProcessing() { + verify(shutdownService, times(1)).shutdown(); + } + @DisplayName("should have three representations with pdf") @TestZipFileNamesWithPdf void shouldHaveThreeRepresentationsWithPdf(String zipFileName) {