diff --git a/vorgang-manager-server/pom.xml b/vorgang-manager-server/pom.xml index e31d13e0620038b7ecf48cdf88813e8e003bb0f1..afb9fb15517ad544ac6e544307ec7b0ce8549197 100644 --- a/vorgang-manager-server/pom.xml +++ b/vorgang-manager-server/pom.xml @@ -55,10 +55,10 @@ <user-manager-interface.version>2.9.0-SNAPSHOT</user-manager-interface.version> <bescheid-manager.version>1.18.0-SNAPSHOT</bescheid-manager.version> <processor-manager.version>0.4.1</processor-manager.version> - <nachrichten-manager.version>2.12.0-SNAPSHOT</nachrichten-manager.version> + <nachrichten-manager.version>2.13.0-SNAPSHOT</nachrichten-manager.version> <ozgcloud-starter.version>0.12.0</ozgcloud-starter.version> <notification-manager.version>2.11.0-SNAPSHOT</notification-manager.version> - <collaboration-manager.version>0.3.0-SNAPSHOT</collaboration-manager.version> + <collaboration-manager.version>0.3.0</collaboration-manager.version> <zip.version>2.11.1</zip.version> <jsoup.version>1.15.3</jsoup.version> diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumITCase.java b/vorgang-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumITCase.java index 1488e8f8dd4f1baef4b2831081ccd6a078a6ef36..ec609a25a144ce825debb13c7e95573d2695159c 100644 --- a/vorgang-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumITCase.java +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumITCase.java @@ -39,6 +39,7 @@ import de.ozgcloud.vorgang.servicekonto.ServiceKontoTestFactory; import de.ozgcloud.vorgang.vorgang.Vorgang; import de.ozgcloud.vorgang.vorgang.VorgangHeadTestFactory; import de.ozgcloud.vorgang.vorgang.VorgangTestFactory; +import io.grpc.StatusRuntimeException; import io.grpc.stub.StreamObserver; @SpringBootTest(classes = { VorgangManagerServerApplication.class }, properties = { @@ -186,6 +187,57 @@ class AntragraumITCase { } } + @DisplayName("Ger rueckfrage") + @Nested + class TestGetRueckfrage { + + @Mock + private StreamObserver<GrpcGetRueckfrageResponse> responseObserver; + + @Captor + private ArgumentCaptor<GrpcGetRueckfrageResponse> captor; + + private Vorgang savedVorgang; + private VorgangAttachedItem vorgangAttachedItem; + + @BeforeEach + void prepareDatabase() { + savedVorgang = mongoOperations.save(VorgangTestFactory.createBuilder().id(null).build(), Vorgang.COLLECTION_NAME); + vorgangAttachedItem = mongoOperations.save(createPostfachNachrichtVorgangAttachedItem(savedVorgang.getId()), + VorgangAttachedItem.COLLECTION_NAME); + + when(verifier.verify(any())).thenReturn(Collections.emptyList()); + when(decrypter.decryptTrustLevel(any())).thenReturn("STORK-QAA-Level-1"); + } + + @Test + void shouldReturnOnMatchingPostfachId() { + when(decrypter.decryptPostfachId(any())).thenReturn(PostfachAddressTestFactory.STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE); + + var request = GrpcGetRueckfrageRequestTestFactory.createBuilder() + .setId(vorgangAttachedItem.getId()) + .setSamlToken(TestUtils.loadTextFile("SamlResponse.xml")) + .build(); + grpcService.getRueckfrage(request, responseObserver); + + verify(responseObserver, timeout(30000)).onNext(captor.capture()); + assertThat(captor.getValue().getRueckfrage()).isNotNull(); + } + + @Test + void shouldThrowExceptionOnMismatchingPostfachId() { + when(decrypter.decryptPostfachId(any())).thenReturn("not-match-postfach-id"); + + var request = GrpcGetRueckfrageRequestTestFactory.createBuilder() + .setId(vorgangAttachedItem.getId()) + .setSamlToken(TestUtils.loadTextFile("SamlResponse.xml")) + .build(); + assertThatThrownBy(() -> grpcService.getRueckfrage(request, responseObserver)) + .isInstanceOf(StatusRuntimeException.class) + .hasMessageContaining("NOT_FOUND"); + } + } + private Vorgang createVorgang(TrustLevel trustLevel) { return VorgangTestFactory.createBuilder() .id(null)