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

OZG-6706 OZG-7498 Delete deprecated Bescheid test and protos

parent d8af1c7c
No related branches found
No related tags found
1 merge request!7Ozg-6706 remove bescheid manager
/*
* 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.
*/
syntax = "proto3";
package de.ozgcloud.bescheid;
option java_multiple_files = true;
option java_package = "de.ozgcloud.bescheid";
option java_outer_classname = "BescheidModelProto";
message GrpcGetBescheidDraftRequest {
option deprecated = true;
string vorgangId = 1;
}
message GrpcGetBescheidDraftResponse {
option deprecated = true;
GrpcBescheid bescheid = 1;
}
message GrpcGetAllBescheidRequest {
option deprecated = true;
string vorgangId = 1;
}
message GrpcGetAllBescheidResponse {
option deprecated = true;
repeated GrpcBescheid bescheid = 1;
}
message GrpcBescheid {
option deprecated = true;
string beschiedenAm = 1;
bool bewilligt = 2;
string bescheidDocument = 3;
repeated string attachments = 4;
string sendBy = 5;
string nachrichtText = 6;
string nachrichtSubject = 7;
string id = 8;
int64 version = 9;
string status = 10;
GrpcSentInfo sentInfo = 11;
}
message GrpcSentInfo {
option deprecated = true;
string sentBy = 1;
string sentAt = 2;
}
message GrpcBescheidManagerConfigRequest {
option deprecated = true;
}
message GrpcBescheidManagerConfigResponse {
option deprecated = true;
string version = 1;
string javaVersion = 2;
GrpcBescheidManagerFeatures features = 3;
}
message GrpcBescheidManagerFeatures {
option deprecated = true;
bool canCreateBescheidDocument = 1;
}
message GrpcGetBescheidRequest {
option deprecated = true;
string id = 1;
}
message GrpcGetBescheidResponse {
option deprecated = true;
GrpcBescheid bescheid = 1;
}
\ No newline at end of file
/*
* 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.
*/
syntax = "proto3";
package de.ozgcloud.bescheid;
import "bescheid.model.proto";
option java_multiple_files = true;
option java_package = "de.ozgcloud.bescheid";
option java_outer_classname = "BescheidProto";
service BescheidService {
option deprecated = true;
rpc getBescheidDraft(GrpcGetBescheidDraftRequest) returns (GrpcGetBescheidDraftResponse) {
}
rpc getAll(GrpcGetAllBescheidRequest) returns (GrpcGetAllBescheidResponse) {
}
rpc getConfig(GrpcBescheidManagerConfigRequest) returns (GrpcBescheidManagerConfigResponse) {
}
rpc getBescheid(GrpcGetBescheidRequest) returns (GrpcGetBescheidResponse) {
}
}
\ No newline at end of file
/*
* 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.bescheid;
import static org.assertj.core.api.Assertions.*;
import static org.mockito.Mockito.*;
import java.util.Map;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Nested;
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.boot.test.mock.mockito.MockBean;
import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.test.annotation.DirtiesContext;
import de.ozgcloud.bescheid.BescheidServiceGrpc.BescheidServiceBlockingStub;
import de.ozgcloud.common.test.DataITCase;
import de.ozgcloud.document.bescheid.Bescheid;
import de.ozgcloud.document.bescheid.BescheidCallContextAttachingInterceptor;
import de.ozgcloud.document.bescheid.SentInfo;
import de.ozgcloud.document.bescheid.common.callcontext.CallContextUser;
import de.ozgcloud.document.bescheid.common.callcontext.CurrentUserService;
import de.ozgcloud.document.bescheid.common.user.UserProfile;
import de.ozgcloud.document.bescheid.common.user.UserProfileService;
import de.ozgcloud.document.common.attached_item.AttachedItemService;
import de.ozgcloud.vorgang.VorgangManagerServerApplication;
import de.ozgcloud.vorgang.attached_item.VorgangAttachedItem;
import de.ozgcloud.vorgang.attached_item.VorgangAttachedItemTestFactory;
import de.ozgcloud.vorgang.callcontext.CallContextUserTestFactory;
import de.ozgcloud.vorgang.vorgang.Vorgang;
import de.ozgcloud.vorgang.vorgang.VorgangTestFactory;
import net.devh.boot.grpc.client.inject.GrpcClient;
@SpringBootTest(classes = VorgangManagerServerApplication.class, properties = {
"grpc.server.inProcessName=test",
"grpc.server.port=-1",
"grpc.client.inProzess.address=in-process:test",
"grpc.client.vorgang-manager.address=in-process:test",
})
@DataITCase
@DirtiesContext
@Deprecated
class DeprecatedBescheidGrpcServiceITCase {
@GrpcClient("inProzess")
private BescheidServiceBlockingStub bescheidServiceBlockingStub;
@Autowired
private MongoOperations mongoOperations;
@MockBean
private CurrentUserService currentUserService;
@MockBean
private UserProfileService userProfileService;
@Mock
private CallContextUser callContextUser;
@Mock
private UserProfile userProfile;
@Nested
class TestFindAll {
@BeforeEach
void init() {
mongoOperations.dropCollection(VorgangAttachedItem.COLLECTION_NAME);
mongoOperations.dropCollection(Vorgang.COLLECTION_NAME);
when(currentUserService.getUser()).thenReturn(callContextUser);
when(userProfileService.getUserProfile()).thenReturn(userProfile);
}
@Test
void shouldReturnSortedResult() {
var vorgangId = mongoOperations.save(VorgangTestFactory.createBuilder().id(null).build()).getId();
var bescheidItemFirstId = mongoOperations.save(createBescheidAttachedItem(vorgangId, "2022-10-01")).getId();
var bescheidItemLastId = mongoOperations.save(createBescheidAttachedItem(vorgangId, "2024-01-01")).getId();
var response = bescheidServiceBlockingStub.getAll(GrpcGetAllBescheidRequest.newBuilder().setVorgangId(vorgangId).build());
assertThat(response.getBescheidList()).hasSize(2);
assertThat(response.getBescheidList().get(0).getId()).isEqualTo(bescheidItemLastId);
assertThat(response.getBescheidList().get(1).getId()).isEqualTo(bescheidItemFirstId);
}
@Test
void shouldReturnSentInfo() {
var vorgangId = mongoOperations.save(VorgangTestFactory.createBuilder().id(null).build()).getId();
var itemMap = createItemWithSentInfo();
mongoOperations.save(createBescheidAttachedItem(vorgangId, itemMap));
var response = bescheidServiceBlockingStub.getAll(GrpcGetAllBescheidRequest.newBuilder().setVorgangId(vorgangId).build());
assertThat(response.getBescheidList()).hasSize(1).first().extracting(GrpcBescheid::getSentInfo)
.isEqualTo(DeprecatedGrpcSentInfoTestFactory.create());
}
private Map<String, Object> createItemWithSentInfo() {
return Map.of(
Bescheid.FIELD_BEWILLIGT, "true",
Bescheid.FIELD_STATUS, Bescheid.Status.SENT.name(),
Bescheid.FIELD_BESCHIEDEN_AM, "2022-10-01",
Bescheid.FIELD_SENT_INFO, Map.of(
SentInfo.FIELD_SENT_AT, DeprecatedGrpcSentInfoTestFactory.SENT_AT_STR,
SentInfo.FIELD_SENT_BY, CallContextUserTestFactory.ID));
}
private VorgangAttachedItem createBescheidAttachedItem(String vorgangId, String beschiedenAm) {
var itemMap = Map.<String, Object>of(
Bescheid.FIELD_BEWILLIGT, "true",
Bescheid.FIELD_STATUS, Bescheid.Status.DRAFT.name(),
Bescheid.FIELD_BESCHIEDEN_AM, beschiedenAm);
return createBescheidAttachedItem(vorgangId, itemMap);
}
private VorgangAttachedItem createBescheidAttachedItem(String vorgangId, Map<String, Object> itemMap) {
return VorgangAttachedItemTestFactory.createBuilder()
.id(null)
.version(0L)
.vorgangId(vorgangId)
.itemName(AttachedItemService.BESCHEID_ITEM_NAME)
.client(BescheidCallContextAttachingInterceptor.BESCHEID_MANAGER_CLIENT_NAME)
.item(itemMap)
.build();
}
}
@Nested
class TestGetConfig {
@Test
void shouldReturnBescheidManagerConfig() {
var config = bescheidServiceBlockingStub.getConfig(GrpcBescheidManagerConfigRequest.newBuilder().build());
assertThat(config.getVersion()).isNotEmpty();
assertThat(config.getJavaVersion()).isEqualTo(System.getProperty("java.version"));
assertThat(config.getFeatures().getCanCreateBescheidDocument()).isFalse();
}
}
}
\ No newline at end of file
/*
* 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.bescheid;
import java.time.ZonedDateTime;
import de.ozgcloud.vorgang.callcontext.CallContextUserTestFactory;
@Deprecated
public class DeprecatedGrpcSentInfoTestFactory {
public static final String SENT_AT_STR = "2024-01-01T00:00:00Z";
public static final ZonedDateTime SENT_AT = ZonedDateTime.parse(SENT_AT_STR);
public static GrpcSentInfo create() {
return createBuilder().build();
}
private static GrpcSentInfo.Builder createBuilder() {
return GrpcSentInfo.newBuilder()
.setSentAt(SENT_AT_STR)
.setSentBy(CallContextUserTestFactory.ID);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment