Skip to content
Snippets Groups Projects
Commit 4a30bb05 authored by OZGCloud's avatar OZGCloud
Browse files

Merge pull request 'OZG-5759 Antragsraum: Rückfragen werden mehrfach...

Merge pull request 'OZG-5759 Antragsraum: Rückfragen werden mehrfach geliefert' (#374) from OZG-5759-Antragsraum-Rueckfragen-werden-mehrfach-geliefert into master

Reviewed-on: https://git.ozg-sh.de/ozgcloud-app/vorgang-manager/pulls/374


Reviewed-by: default avatarOZGCloud <ozgcloud@mgm-tp.com>
Reviewed-by: default avatarOZGCloud <ozgcloud@mgm-tp.com>
Reviewed-by: default avatarOZGCloud <ozgcloud@mgm-tp.com>
parents d6b07ff8 1d2822c4
No related branches found
No related tags found
No related merge requests found
......@@ -16,7 +16,7 @@
<properties>
<vorgang-manager.version>2.8.0</vorgang-manager.version>
<nachrichten-manager.version>2.8.0</nachrichten-manager.version>
<nachrichten-manager.version>2.9.0-SNAPSHOT</nachrichten-manager.version>
<api-lib.version>0.9.0</api-lib.version>
</properties>
......
......@@ -55,7 +55,7 @@
<user-manager-interface.version>2.1.0</user-manager-interface.version>
<bescheid-manager.version>1.12.0</bescheid-manager.version>
<processor-manager.version>0.4.0</processor-manager.version>
<nachrichten-manager.version>2.8.0</nachrichten-manager.version>
<nachrichten-manager.version>2.9.0-SNAPSHOT</nachrichten-manager.version>
<ozgcloud-starter.version>0.9.0</ozgcloud-starter.version>
<notification-manager.version>2.7.0</notification-manager.version>
......
......@@ -31,7 +31,6 @@ import java.util.List;
import java.util.stream.IntStream;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.mockito.Mock;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -58,7 +57,6 @@ import net.devh.boot.grpc.client.inject.GrpcClient;
})
@DirtiesContext
@DataITCase
@Disabled("Wird aktiviert mit OZG-5759")
class FindVorgangIteratorITCase {
@GrpcClient("inProcess")
......
......@@ -24,94 +24,61 @@
package de.ozgcloud.nachrichten.postfach;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
import java.util.concurrent.atomic.AtomicInteger;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mock;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.util.ReflectionTestUtils;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.test.annotation.DirtiesContext;
import de.ozgcloud.common.test.ITCase;
import de.ozgcloud.common.test.DataITCase;
import de.ozgcloud.vorgang.VorgangManagerServerApplication;
import de.ozgcloud.vorgang.attached_item.GrpcVorgangAttachedItemTestFactory;
import de.ozgcloud.vorgang.common.GrpcObject;
import de.ozgcloud.vorgang.common.GrpcProperty;
import de.ozgcloud.vorgang.attached_item.VorgangAttachedItem;
import de.ozgcloud.vorgang.attached_item.VorgangAttachedItemTestFactory;
import de.ozgcloud.vorgang.servicekonto.PostfachAddressTestFactory;
import de.ozgcloud.vorgang.servicekonto.ServiceKontoTestFactory;
import de.ozgcloud.vorgang.vorgang.GrpcFindVorgangResponse;
import de.ozgcloud.vorgang.vorgang.GrpcVorgangHeader;
import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc.VorgangServiceBlockingStub;
import de.ozgcloud.vorgang.vorgangAttachedItem.GrpcFindVorgangAttachedItemResponse;
import de.ozgcloud.vorgang.vorgangAttachedItem.VorgangAttachedItemServiceGrpc.VorgangAttachedItemServiceBlockingStub;
import de.ozgcloud.vorgang.vorgang.Vorgang;
import de.ozgcloud.vorgang.vorgang.VorgangTestFactory;
@SpringBootTest(classes = { VorgangManagerServerApplication.class })
@ITCase
@SpringBootTest(classes = { VorgangManagerServerApplication.class }, properties = {
"grpc.server.inProcessName=test",
"grpc.client.vorgang-manager.address=in-process:test",
})
@DataITCase
@DirtiesContext
class PersistPostfachNachrichtServiceImplITCase {
private static final String MESSAGE_ID = "message-id";
@Autowired
private PersistPostfachNachrichtServiceImpl service;
@Autowired
private VorgangRemoteService vorgangRemoteService;
@Autowired
private AttachedItemRemoteService attachedItemRemoteService;
private MongoOperations mongoOperations;
private AtomicInteger counter = new AtomicInteger(1);
@Mock
private VorgangServiceBlockingStub vorgangServiceStub;
@Mock
private VorgangAttachedItemServiceBlockingStub vorgangAttachedItemServiceStub;
private String vorgangId;
@BeforeEach
void init() {
when(vorgangServiceStub.withInterceptors(any())).thenReturn(vorgangServiceStub);
ReflectionTestUtils.setField(vorgangRemoteService, "vorgangServiceStub", vorgangServiceStub);
when(vorgangAttachedItemServiceStub.withInterceptors(any())).thenReturn(vorgangAttachedItemServiceStub);
ReflectionTestUtils.setField(attachedItemRemoteService, "vorgangAttachedItemServiceStub", vorgangAttachedItemServiceStub);
mockFindVorgang();
mockFindAttachedItems();
vorgangId = mongoOperations.save(VorgangTestFactory.createBuilder().id(null).build(), Vorgang.COLLECTION_NAME).getId();
}
@Test
void shouldFindRuckfragen() {
var rueckfragen = service.findRueckfragen(ServiceKontoTestFactory.TYPE, PostfachAddressTestFactory.STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE);
void shouldFindRueckfragen() {
var postfachNachrichtId = mongoOperations.save(createPostfachNachricht(), VorgangAttachedItem.COLLECTION_NAME).getId();
assertThat(rueckfragen).hasSize(1).first().extracting(PostfachNachricht::getId).isEqualTo(MESSAGE_ID);
}
private void mockFindVorgang() {
when(vorgangServiceStub.findVorgang(any())).thenAnswer(invocation -> {
if (counter.getAndDecrement() == 0) {
return GrpcFindVorgangResponse.newBuilder().build();
}
return GrpcFindVorgangResponse.newBuilder().setTotal(1).addVorgang(GrpcVorgangHeader.newBuilder().build()).build();
});
}
var rueckfragen = service.findRueckfragen(ServiceKontoTestFactory.TYPE, PostfachAddressTestFactory.STRING_BASED_IDENTIFIER_POSTFACH_ID_VALUE);
private void mockFindAttachedItems() {
var attachedItemResponse = GrpcFindVorgangAttachedItemResponse.newBuilder()
.addVorgangAttachedItems(GrpcVorgangAttachedItemTestFactory.create())
.addVorgangAttachedItems(GrpcVorgangAttachedItemTestFactory.createBuilder().setItem(buildGrpcObject())).build();
when(vorgangAttachedItemServiceStub.find(any())).thenReturn(attachedItemResponse);
assertThat(rueckfragen).hasSize(1).first().extracting(PostfachNachricht::getId).isEqualTo(postfachNachrichtId);
}
private GrpcObject buildGrpcObject() {
return GrpcObject.newBuilder()
.addProperty(GrpcProperty.newBuilder()
.setName(PostfachNachricht.FIELD_REPLY_OPTION).addValue(PostfachNachricht.ReplyOption.POSSIBLE.name()).build())
.addProperty(GrpcProperty.newBuilder()
.setName(PostfachNachricht.FIELD_CREATED_AT).addValue(PostfachNachrichtTestFactory.CREATED_AT_STR))
.addProperty(GrpcProperty.newBuilder()
.setName(PostfachNachricht.FIELD_DIRECTION).addValue(PostfachNachrichtTestFactory.DIRECTION.name()))
.addProperty(GrpcProperty.newBuilder()
.setName(PostfachNachricht.FIELD_ID).addValue(MESSAGE_ID).build())
VorgangAttachedItem createPostfachNachricht() {
return VorgangAttachedItemTestFactory.createBuilder()
.id(null)
.version(0)
.vorgangId(vorgangId)
.client(AttachedItemRemoteService.CLIENT)
.itemName(AttachedItemRemoteService.ITEM_NAME)
.item(PostfachNachrichtTestFactory.asMap())
.build();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment