Skip to content
Snippets Groups Projects
Commit 161b8775 authored by Krzysztof Witukiewicz's avatar Krzysztof Witukiewicz
Browse files

OZG-6706 OZG-7497 Implement getBescheid() in remote service

parent 329c8d5c
No related branches found
No related tags found
1 merge request!7Ozg 6706 anbindung bescheid schnittstelle
Showing
with 370 additions and 97 deletions
...@@ -42,8 +42,12 @@ import de.ozgcloud.document.bescheid.GrpcSentInfo; ...@@ -42,8 +42,12 @@ import de.ozgcloud.document.bescheid.GrpcSentInfo;
UserIdMapper.class }) UserIdMapper.class })
interface BescheidMapper { interface BescheidMapper {
@Mapping(target = "vorgangId", ignore = true)
@Mapping(target = "attachments", source = "grpcBescheid.attachmentsList") @Mapping(target = "attachments", source = "grpcBescheid.attachmentsList")
Bescheid fromGrpc(GrpcBescheid grpcBescheid, String vorgangId); Bescheid fromGrpc(GrpcBescheid grpcBescheid);
@Mapping(target = "attachments", source = "grpcBescheid.attachmentsList")
Bescheid fromGrpcAndVorgangId(GrpcBescheid grpcBescheid, String vorgangId);
List<FileId> fromProtocolStringList(ProtocolStringList value); List<FileId> fromProtocolStringList(ProtocolStringList value);
......
...@@ -36,6 +36,7 @@ import de.ozgcloud.document.bescheid.GrpcBescheidManagerConfigRequest; ...@@ -36,6 +36,7 @@ import de.ozgcloud.document.bescheid.GrpcBescheidManagerConfigRequest;
import de.ozgcloud.document.bescheid.GrpcGetAllBescheidRequest; import de.ozgcloud.document.bescheid.GrpcGetAllBescheidRequest;
import de.ozgcloud.document.bescheid.GrpcGetBescheidDraftRequest; import de.ozgcloud.document.bescheid.GrpcGetBescheidDraftRequest;
import de.ozgcloud.document.bescheid.GrpcGetBescheidDraftResponse; import de.ozgcloud.document.bescheid.GrpcGetBescheidDraftResponse;
import de.ozgcloud.document.bescheid.GrpcGetBescheidRequest;
import net.devh.boot.grpc.client.inject.GrpcClient; import net.devh.boot.grpc.client.inject.GrpcClient;
@Service @Service
...@@ -49,25 +50,33 @@ class BescheidRemoteService { ...@@ -49,25 +50,33 @@ class BescheidRemoteService {
public Optional<Bescheid> getBescheidDraft(String vorgangId) { public Optional<Bescheid> getBescheidDraft(String vorgangId) {
var request = buildGetBescheidDraftRequest(vorgangId); var request = buildGetBescheidDraftRequest(vorgangId);
var response = bescheidServiceStub.getBescheidDraft(request); var response = bescheidServiceStub.getBescheidDraft(request);
return getBescheidFromResponse(response).map(bescheid -> bescheidMapper.fromGrpc(bescheid, vorgangId)); return getBescheidFromResponse(response).map(bescheid -> bescheidMapper.fromGrpcAndVorgangId(bescheid, vorgangId));
} }
GrpcGetBescheidDraftRequest buildGetBescheidDraftRequest(String vorgangId) { GrpcGetBescheidDraftRequest buildGetBescheidDraftRequest(String vorgangId) {
return GrpcGetBescheidDraftRequest.newBuilder() return GrpcGetBescheidDraftRequest.newBuilder().setVorgangId(vorgangId).build();
.setVorgangId(vorgangId)
.build();
} }
Optional<GrpcBescheid> getBescheidFromResponse(GrpcGetBescheidDraftResponse response) { Optional<GrpcBescheid> getBescheidFromResponse(GrpcGetBescheidDraftResponse response) {
return response.hasBescheid() ? Optional.of(response.getBescheid()) : Optional.empty(); return response.hasBescheid() ? Optional.of(response.getBescheid()) : Optional.empty();
} }
public Bescheid getBescheid(String bescheidId) {
var request = buildGetBescheidRequest(bescheidId);
var response = bescheidServiceStub.getBescheid(request);
return bescheidMapper.fromGrpc(response.getBescheid());
}
GrpcGetBescheidRequest buildGetBescheidRequest(String bescheidId) {
return GrpcGetBescheidRequest.newBuilder().setId(bescheidId).build();
}
public Stream<Bescheid> findByVorgangId(String vorgangId) { public Stream<Bescheid> findByVorgangId(String vorgangId) {
var request = buildGetAllBescheidRequest(vorgangId); var request = buildGetAllBescheidRequest(vorgangId);
var response = bescheidServiceStub.getAll(request); var response = bescheidServiceStub.getAll(request);
return response.getBescheidList().stream().map(grpcBescheid -> bescheidMapper.fromGrpc(grpcBescheid, vorgangId)); return response.getBescheidList().stream().map(grpcBescheid -> bescheidMapper.fromGrpcAndVorgangId(grpcBescheid, vorgangId));
} }
GrpcGetAllBescheidRequest buildGetAllBescheidRequest(String vorgangId) { GrpcGetAllBescheidRequest buildGetAllBescheidRequest(String vorgangId) {
......
...@@ -42,6 +42,10 @@ public class BescheidService { ...@@ -42,6 +42,10 @@ public class BescheidService {
return remoteService.getBescheidDraft(vorgangId); return remoteService.getBescheidDraft(vorgangId);
} }
public Bescheid getBescheid(String bescheidId) {
return remoteService.getBescheid(bescheidId);
}
public Stream<Bescheid> findByVorgangId(String vorgangId) { public Stream<Bescheid> findByVorgangId(String vorgangId) {
return remoteService.findByVorgangId(vorgangId); return remoteService.findByVorgangId(vorgangId);
} }
......
...@@ -27,8 +27,8 @@ import static org.assertj.core.api.Assertions.*; ...@@ -27,8 +27,8 @@ import static org.assertj.core.api.Assertions.*;
import static org.mockito.ArgumentMatchers.*; import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
import java.time.ZonedDateTime; import org.assertj.core.api.recursive.comparison.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
...@@ -36,7 +36,6 @@ import org.mockito.InjectMocks; ...@@ -36,7 +36,6 @@ import org.mockito.InjectMocks;
import org.mockito.Mock; import org.mockito.Mock;
import de.ozgcloud.alfa.common.binaryfile.FileIdMapper; import de.ozgcloud.alfa.common.binaryfile.FileIdMapper;
import de.ozgcloud.alfa.common.user.UserId;
import de.ozgcloud.alfa.common.user.UserIdMapper; import de.ozgcloud.alfa.common.user.UserIdMapper;
import de.ozgcloud.alfa.vorgang.VorgangHeaderTestFactory; import de.ozgcloud.alfa.vorgang.VorgangHeaderTestFactory;
...@@ -49,100 +48,60 @@ class BescheidMapperTest { ...@@ -49,100 +48,60 @@ class BescheidMapperTest {
@InjectMocks @InjectMocks
private final BescheidMapper mapper = Mappers.getMapper(BescheidMapper.class); private final BescheidMapper mapper = Mappers.getMapper(BescheidMapper.class);
@BeforeEach
void init() {
when(fileIdMapper.toFileId(any())).thenReturn(BescheidTestFactory.ATTACHMENT_ID);
when(userIdMapper.fromString(any())).thenReturn(BescheidTestFactory.SENT_INFO.getSentBy());
}
@Nested @Nested
class TestFromGrpc { class TestFromGrpc {
@Test @Test
void shouldMapId() { void shouldMapAttachments() {
var bescheid = map(); mapper.fromGrpc(GrpcBescheidTestFactory.create());
assertThat(bescheid.getId()).isEqualTo(GrpcBescheidTestFactory.ID); verify(fileIdMapper).toFileId(GrpcBescheidTestFactory.ATTACHMENT_ID);
} }
@Test @Test
void shouldMapVorgangId() { void shouldMapSentBy() {
var bescheid = map(); mapper.fromGrpc(GrpcBescheidTestFactory.create());
assertThat(bescheid.getVorgangId()).isEqualTo(VorgangHeaderTestFactory.ID); verify(userIdMapper).fromString(GrpcSentInfoTestFactory.SENT_BY);
} }
@Test @Test
void shouldMapBewilligt() { void shouldMapAllFields() {
var bescheid = map(); var bescheid = mapper.fromGrpc(GrpcBescheidTestFactory.create());
assertThat(bescheid.getBewilligt()).isEqualTo(GrpcBescheidTestFactory.BEWILLIGT); assertThat(bescheid).usingRecursiveComparison(RecursiveComparisonConfiguration.builder().withIgnoredFields("vorgangId").build())
.isEqualTo(BescheidTestFactory.create());
} }
@Test
void shouldMapBeschiedenAm() {
var bescheid = map();
assertThat(bescheid.getBeschiedenAm()).isEqualTo(GrpcBescheidTestFactory.BESCHIEDEN_AM);
} }
@Test @Nested
void shouldMapBescheidDocument() { class TestFromGrpcAndVorgangId {
var bescheid = map();
assertThat(bescheid.getBescheidDocument()).isEqualTo(GrpcBescheidTestFactory.BESCHEID_DOCUMENT);
}
@Test @Test
void shouldMapAttachments() { void shouldMapAttachments() {
when(fileIdMapper.toFileId(any())).thenCallRealMethod(); mapper.fromGrpc(GrpcBescheidTestFactory.create());
var bescheid = map(); verify(fileIdMapper).toFileId(GrpcBescheidTestFactory.ATTACHMENT_ID);
assertThat(bescheid.getAttachments()).containsExactlyInAnyOrderElementsOf(BescheidTestFactory.ATTACHMENTS);
} }
@Test
void shouldMapNachrichtText() {
var bescheid = map();
assertThat(bescheid.getNachrichtText()).isEqualTo(GrpcBescheidTestFactory.NACHRICHT_TEXT);
}
@Test
void shouldMapNachrichtSubject() {
var bescheid = map();
assertThat(bescheid.getNachrichtSubject()).isEqualTo(GrpcBescheidTestFactory.NACHRICHT_SUBJECT);
}
@Test
void shouldMapStatus() {
var bescheid = map();
assertThat(bescheid.getStatus()).isEqualTo(BescheidTestFactory.STATUS);
}
@Nested
class TestMapSentInfo {
private final SentInfo expectedSentInfo = SentInfoTestFactory.createBuilder()
.sentAt(ZonedDateTime.parse(GrpcSentInfoTestFactory.SENT_AT))
.sentBy(UserId.from(GrpcSentInfoTestFactory.SENT_BY))
.build();
@Test @Test
void shouldMapSentBy() { void shouldMapSentBy() {
when(userIdMapper.fromString(GrpcSentInfoTestFactory.SENT_BY)).thenCallRealMethod(); mapper.fromGrpc(GrpcBescheidTestFactory.create());
var bescheid = map();
assertThat(bescheid.getSentInfo().getSentBy()).isEqualTo(expectedSentInfo.getSentBy()); verify(userIdMapper).fromString(GrpcSentInfoTestFactory.SENT_BY);
} }
@Test @Test
void shouldMapSentAt() { void shouldMapAllFields() {
var bescheid = map(); var bescheid = mapper.fromGrpcAndVorgangId(GrpcBescheidTestFactory.create(), VorgangHeaderTestFactory.ID);
assertThat(bescheid.getSentInfo().getSentAt()).isEqualTo(expectedSentInfo.getSentAt());
}
}
private Bescheid map() { assertThat(bescheid).usingRecursiveComparison().isEqualTo(BescheidTestFactory.create());
return mapper.fromGrpc(GrpcBescheidTestFactory.create(), VorgangHeaderTestFactory.ID);
} }
} }
} }
...@@ -45,6 +45,8 @@ import de.ozgcloud.document.bescheid.GrpcGetAllBescheidRequest; ...@@ -45,6 +45,8 @@ import de.ozgcloud.document.bescheid.GrpcGetAllBescheidRequest;
import de.ozgcloud.document.bescheid.GrpcGetAllBescheidResponse; import de.ozgcloud.document.bescheid.GrpcGetAllBescheidResponse;
import de.ozgcloud.document.bescheid.GrpcGetBescheidDraftRequest; import de.ozgcloud.document.bescheid.GrpcGetBescheidDraftRequest;
import de.ozgcloud.document.bescheid.GrpcGetBescheidDraftResponse; import de.ozgcloud.document.bescheid.GrpcGetBescheidDraftResponse;
import de.ozgcloud.document.bescheid.GrpcGetBescheidRequest;
import de.ozgcloud.document.bescheid.GrpcGetBescheidResponse;
class BescheidRemoteServiceTest { class BescheidRemoteServiceTest {
...@@ -83,18 +85,25 @@ class BescheidRemoteServiceTest { ...@@ -83,18 +85,25 @@ class BescheidRemoteServiceTest {
verify(bescheidServiceStub).getBescheidDraft(request); verify(bescheidServiceStub).getBescheidDraft(request);
} }
@Test
void shouldGetBescheidFromResponse() {
service.getBescheidDraft(VorgangHeaderTestFactory.ID);
verify(service).getBescheidFromResponse(response);
}
@Test @Test
void shouldCallMapper() { void shouldCallMapper() {
doReturn(Optional.of(GrpcGetBescheidDraftResponseTestFactory.GRPC_BESCHEID)).when(service).getBescheidFromResponse(response); doReturn(Optional.of(GrpcGetBescheidDraftResponseTestFactory.GRPC_BESCHEID)).when(service).getBescheidFromResponse(response);
service.getBescheidDraft(VorgangHeaderTestFactory.ID); service.getBescheidDraft(VorgangHeaderTestFactory.ID);
verify(bescheidMapper).fromGrpc(GrpcGetBescheidDraftResponseTestFactory.GRPC_BESCHEID, VorgangHeaderTestFactory.ID); verify(bescheidMapper).fromGrpcAndVorgangId(GrpcGetBescheidDraftResponseTestFactory.GRPC_BESCHEID, VorgangHeaderTestFactory.ID);
} }
@Test @Test
void shouldReturnBescheid() { void shouldReturnBescheid() {
when(bescheidMapper.fromGrpc(GrpcGetBescheidDraftResponseTestFactory.GRPC_BESCHEID, VorgangHeaderTestFactory.ID)).thenReturn( when(bescheidMapper.fromGrpcAndVorgangId(GrpcGetBescheidDraftResponseTestFactory.GRPC_BESCHEID, VorgangHeaderTestFactory.ID)).thenReturn(
bescheidDraft); bescheidDraft);
var bescheidDraft = service.getBescheidDraft(VorgangHeaderTestFactory.ID); var bescheidDraft = service.getBescheidDraft(VorgangHeaderTestFactory.ID);
...@@ -110,13 +119,6 @@ class BescheidRemoteServiceTest { ...@@ -110,13 +119,6 @@ class BescheidRemoteServiceTest {
assertThat(bescheidDraft).isEmpty(); assertThat(bescheidDraft).isEmpty();
} }
@Test
void shouldGetBescheidFromResponse() {
service.getBescheidDraft(VorgangHeaderTestFactory.ID);
verify(service).getBescheidFromResponse(response);
}
} }
@Nested @Nested
...@@ -148,6 +150,61 @@ class BescheidRemoteServiceTest { ...@@ -148,6 +150,61 @@ class BescheidRemoteServiceTest {
} }
} }
@Nested
class TestGetBescheid {
private final GrpcGetBescheidRequest request = GrpcGetBescheidRequestTestFactory.create();
private final GrpcGetBescheidResponse response = GrpcGetBescheidResponseTestFactory.create();
@BeforeEach
void setUp() {
doReturn(request).when(service).buildGetBescheidRequest(any());
when(bescheidServiceStub.getBescheid(any())).thenReturn(response);
}
@Test
void shouldBuildGetBescheidRequest() {
service.getBescheid(BescheidTestFactory.ID);
verify(service).buildGetBescheidRequest(BescheidTestFactory.ID);
}
@Test
void shouldCallGrpcService() {
service.getBescheid(BescheidTestFactory.ID);
verify(bescheidServiceStub).getBescheid(request);
}
@Test
void shouldCallMapper() {
service.getBescheid(BescheidTestFactory.ID);
verify(bescheidMapper).fromGrpc(GrpcGetBescheidResponseTestFactory.GRPC_BESCHEID);
}
@Test
void shouldReturnBescheid() {
var mappedBescheid = BescheidTestFactory.create();
when(bescheidMapper.fromGrpc(GrpcGetBescheidDraftResponseTestFactory.GRPC_BESCHEID)).thenReturn(mappedBescheid);
var bescheid = service.getBescheid(BescheidTestFactory.ID);
assertThat(bescheid).isEqualTo(mappedBescheid);
}
}
@Nested
class TestBuildGetBescheidRequest {
@Test
void shouldHaveId() {
var request = service.buildGetBescheidRequest(BescheidTestFactory.ID);
assertThat(request.getId()).isEqualTo(BescheidTestFactory.ID);
}
}
@Nested @Nested
class TestCanCreateBescheidDocument { class TestCanCreateBescheidDocument {
...@@ -231,12 +288,12 @@ class BescheidRemoteServiceTest { ...@@ -231,12 +288,12 @@ class BescheidRemoteServiceTest {
void shouldMapBescheid() { void shouldMapBescheid() {
service.findByVorgangId(VorgangHeaderTestFactory.ID).toList(); service.findByVorgangId(VorgangHeaderTestFactory.ID).toList();
verify(bescheidMapper).fromGrpc(GrpcGetAllBescheidResponseTestFactory.GRPC_BESCHEID, VorgangHeaderTestFactory.ID); verify(bescheidMapper).fromGrpcAndVorgangId(GrpcGetAllBescheidResponseTestFactory.GRPC_BESCHEID, VorgangHeaderTestFactory.ID);
} }
@Test @Test
void shouldReturnStreamOfBescheide() { void shouldReturnStreamOfBescheide() {
when(bescheidMapper.fromGrpc(any(), any())).thenReturn(bescheid); when(bescheidMapper.fromGrpcAndVorgangId(any(), any())).thenReturn(bescheid);
var bescheide = service.findByVorgangId(VorgangHeaderTestFactory.ID); var bescheide = service.findByVorgangId(VorgangHeaderTestFactory.ID);
......
...@@ -74,6 +74,27 @@ class BescheidServiceTest { ...@@ -74,6 +74,27 @@ class BescheidServiceTest {
} }
} }
@Nested
class TestGetBescheid {
@Test
void shouldCallRemoteService() {
service.getBescheid(BescheidTestFactory.ID);
verify(remoteService).getBescheid(BescheidTestFactory.ID);
}
@Test
void shouldReturnResultFromRemoteService() {
var remoteServiceResult = BescheidTestFactory.create();
when(remoteService.getBescheid(BescheidTestFactory.ID)).thenReturn(remoteServiceResult);
var result = service.getBescheid(BescheidTestFactory.ID);
assertThat(result).isEqualTo(remoteServiceResult);
}
}
@Nested @Nested
class TestFindByVorgangId { class TestFindByVorgangId {
private final Stream<Bescheid> bescheidsUnsorted = Stream.of(BescheidTestFactory.create()); private final Stream<Bescheid> bescheidsUnsorted = Stream.of(BescheidTestFactory.create());
......
...@@ -42,7 +42,9 @@ public class BescheidTestFactory { ...@@ -42,7 +42,9 @@ public class BescheidTestFactory {
public static final String BESCHIEDEN_AM = "2024-05-27"; public static final String BESCHIEDEN_AM = "2024-05-27";
public static final boolean BEWILLIGT = true; public static final boolean BEWILLIGT = true;
public static final String BESCHEID_DOCUMENT = UUID.randomUUID().toString(); public static final String BESCHEID_DOCUMENT = UUID.randomUUID().toString();
public static final List<FileId> ATTACHMENTS = List.of(FileId.from(UUID.randomUUID().toString()), FileId.from(UUID.randomUUID().toString())); public static final String ATTACHMENT_ID_VALUE = UUID.randomUUID().toString();
public static final FileId ATTACHMENT_ID = FileId.from(ATTACHMENT_ID_VALUE);
public static final List<FileId> ATTACHMENTS = List.of(ATTACHMENT_ID);
public static final String NACHRICHT_TEXT = LoremIpsum.getInstance().getWords(10); public static final String NACHRICHT_TEXT = LoremIpsum.getInstance().getWords(10);
public static final String NACHRICHT_SUBJECT = LoremIpsum.getInstance().getWords(3); public static final String NACHRICHT_SUBJECT = LoremIpsum.getInstance().getWords(3);
public static final SendBy SEND_BY = SendBy.MANUAL; public static final SendBy SEND_BY = SendBy.MANUAL;
......
...@@ -25,19 +25,22 @@ package de.ozgcloud.alfa.bescheid; ...@@ -25,19 +25,22 @@ package de.ozgcloud.alfa.bescheid;
import java.util.List; import java.util.List;
import de.ozgcloud.common.datatype.StringBasedValue;
import de.ozgcloud.document.bescheid.GrpcBescheid; import de.ozgcloud.document.bescheid.GrpcBescheid;
import de.ozgcloud.document.bescheid.GrpcSentInfo; import de.ozgcloud.document.bescheid.GrpcSentInfo;
public class GrpcBescheidTestFactory { public class GrpcBescheidTestFactory {
public static final String ID = BescheidTestFactory.ID; public static final String ID = BescheidTestFactory.ID;
public static final String STATUS = BescheidTestFactory.STATUS.toString();
public static final long VERSION = BescheidTestFactory.VERSION;
public static final boolean BEWILLIGT = BescheidTestFactory.BEWILLIGT; public static final boolean BEWILLIGT = BescheidTestFactory.BEWILLIGT;
public static final String BESCHIEDEN_AM = BescheidTestFactory.BESCHIEDEN_AM; public static final String BESCHIEDEN_AM = BescheidTestFactory.BESCHIEDEN_AM;
public static final String BESCHEID_DOCUMENT = BescheidTestFactory.BESCHEID_DOCUMENT; public static final String BESCHEID_DOCUMENT = BescheidTestFactory.BESCHEID_DOCUMENT;
public static final List<String> ATTACHMENTS = BescheidTestFactory.ATTACHMENTS.stream().map(StringBasedValue::toString).toList(); public static final String ATTACHMENT_ID = BescheidTestFactory.ATTACHMENT_ID_VALUE;
public static final List<String> ATTACHMENTS = List.of(ATTACHMENT_ID);
public static final String NACHRICHT_TEXT = BescheidTestFactory.NACHRICHT_TEXT; public static final String NACHRICHT_TEXT = BescheidTestFactory.NACHRICHT_TEXT;
public static final String NACHRICHT_SUBJECT = BescheidTestFactory.NACHRICHT_SUBJECT; public static final String NACHRICHT_SUBJECT = BescheidTestFactory.NACHRICHT_SUBJECT;
public static final String SEND_BY = BescheidTestFactory.SEND_BY.toString();
public static final GrpcSentInfo SENT_INFO = GrpcSentInfoTestFactory.create(); public static final GrpcSentInfo SENT_INFO = GrpcSentInfoTestFactory.create();
public static GrpcBescheid create() { public static GrpcBescheid create() {
...@@ -47,14 +50,15 @@ public class GrpcBescheidTestFactory { ...@@ -47,14 +50,15 @@ public class GrpcBescheidTestFactory {
public static GrpcBescheid.Builder createBuilder() { public static GrpcBescheid.Builder createBuilder() {
return GrpcBescheid.newBuilder() return GrpcBescheid.newBuilder()
.setId(ID) .setId(ID)
.setStatus(BescheidTestFactory.STATUS.toString()) .setStatus(STATUS)
.setVersion(VERSION)
.setBewilligt(BEWILLIGT) .setBewilligt(BEWILLIGT)
.setBeschiedenAm(BESCHIEDEN_AM) .setBeschiedenAm(BESCHIEDEN_AM)
.setBescheidDocument(BESCHEID_DOCUMENT) .setBescheidDocument(BESCHEID_DOCUMENT)
.addAllAttachments(ATTACHMENTS) .addAllAttachments(ATTACHMENTS)
.setNachrichtText(NACHRICHT_TEXT) .setNachrichtText(NACHRICHT_TEXT)
.setNachrichtSubject(NACHRICHT_SUBJECT) .setNachrichtSubject(NACHRICHT_SUBJECT)
.setSendBy(BescheidTestFactory.SEND_BY.toString()) .setSendBy(SEND_BY)
.setSentInfo(SENT_INFO); .setSentInfo(SENT_INFO);
} }
} }
/*
* Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
package de.ozgcloud.alfa.bescheid;
import de.ozgcloud.document.bescheid.GrpcGetBescheidRequest;
class GrpcGetBescheidRequestTestFactory {
public static GrpcGetBescheidRequest create() {
return createBuilder().build();
}
public static GrpcGetBescheidRequest.Builder createBuilder() {
return GrpcGetBescheidRequest.newBuilder().setId(BescheidTestFactory.ID);
}
}
/*
* Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
package de.ozgcloud.alfa.bescheid;
import de.ozgcloud.document.bescheid.GrpcBescheid;
import de.ozgcloud.document.bescheid.GrpcGetBescheidResponse;
class GrpcGetBescheidResponseTestFactory {
public static final GrpcBescheid GRPC_BESCHEID = GrpcBescheidTestFactory.create();
public static GrpcGetBescheidResponse create() {
return createBuilder().build();
}
public static GrpcGetBescheidResponse.Builder createBuilder() {
return GrpcGetBescheidResponse.newBuilder().setBescheid(GRPC_BESCHEID);
}
}
...@@ -23,15 +23,12 @@ ...@@ -23,15 +23,12 @@
*/ */
package de.ozgcloud.alfa.bescheid; package de.ozgcloud.alfa.bescheid;
import java.time.ZonedDateTime;
import de.ozgcloud.alfa.common.user.GrpcUserTestFactory;
import de.ozgcloud.document.bescheid.GrpcSentInfo; import de.ozgcloud.document.bescheid.GrpcSentInfo;
public class GrpcSentInfoTestFactory { public class GrpcSentInfoTestFactory {
public static final String SENT_AT = ZonedDateTime.now().toString(); public static final String SENT_AT = SentInfoTestFactory.SENT_AT.toString();
public static final String SENT_BY = GrpcUserTestFactory.ID; public static final String SENT_BY = SentInfoTestFactory.SENT_BY.toString();
public static GrpcSentInfo create() { public static GrpcSentInfo create() {
return createBuilder().build(); return createBuilder().build();
......
/*
* Copyright (C) 2023 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
package de.ozgcloud.alfa.common.binaryfile;
import static org.assertj.core.api.Assertions.*;
import java.util.UUID;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mapstruct.factory.Mappers;
class FileIdMapperTest {
private final FileIdMapper mapper = Mappers.getMapper(FileIdMapper.class);
private final String fileIdValue = UUID.randomUUID().toString();
@Nested
class TestToFileId {
@Test
void shouldReturnFileId() {
var fileId = mapper.toFileId(fileIdValue);
assertThat(fileId).isEqualTo(FileId.from(fileIdValue));
}
}
@Nested
class TestToString {
@Test
void shouldReturnFileIdValue() {
var fileIdString = mapper.toString(FileId.from(fileIdValue));
assertThat(fileIdString).isEqualTo(fileIdValue);
}
}
}
/*
* Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
* Ministerpräsidenten des Landes Schleswig-Holstein
* Staatskanzlei
* Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
*
* Lizenziert unter der EUPL, Version 1.2 oder - sobald
* diese von der Europäischen Kommission genehmigt wurden -
* Folgeversionen der EUPL ("Lizenz");
* Sie dürfen dieses Werk ausschließlich gemäß
* dieser Lizenz nutzen.
* Eine Kopie der Lizenz finden Sie hier:
*
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
*
* Sofern nicht durch anwendbare Rechtsvorschriften
* gefordert oder in schriftlicher Form vereinbart, wird
* die unter der Lizenz verbreitete Software "so wie sie
* ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
* ausdrücklich oder stillschweigend - verbreitet.
* Die sprachspezifischen Genehmigungen und Beschränkungen
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
package de.ozgcloud.alfa.common.user;
import static org.assertj.core.api.Assertions.*;
import java.util.UUID;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.NullAndEmptySource;
import org.junit.jupiter.params.provider.ValueSource;
import org.mapstruct.factory.Mappers;
class UserIdMapperTest {
private final UserIdMapper mapper = Mappers.getMapper(UserIdMapper.class);
private final String userIdValue = UUID.randomUUID().toString();
@Nested
class TestFromString {
@ParameterizedTest
@NullAndEmptySource
@ValueSource(strings = {" "})
void shouldReturnNull(String str) {
var userId = mapper.fromString(str);
assertThat(userId).isNull();
}
@Test
void shouldReturnUserId() {
var userId = mapper.fromString(userIdValue);
assertThat(userId).isEqualTo(UserId.from(userIdValue));
}
@Test
void shouldTrimUserIdString() {
var userId = mapper.fromString(" " + userIdValue + " ");
assertThat(userId).isEqualTo(UserId.from(userIdValue));
}
}
@Nested
class TestToString {
@Test
void shouldReturnUserIdValue() {
var userIdString = mapper.toString(UserId.from(userIdValue));
assertThat(userIdString).isEqualTo(userIdValue);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment