From 650e58f92ac01af97c631923425187634801932e Mon Sep 17 00:00:00 2001 From: Jan Zickermann <jan.zickermann@dataport.de> Date: Fri, 14 Feb 2025 17:06:04 +0100 Subject: [PATCH] OZG-4097 itcase: Test connection failed error code --- pom.xml | 48 +--- .../osiv2/exception/Osi2ExceptionHandler.java | 4 + .../osiv2/model/BinaryFileUpload.java | 8 + ...per.java => Osi2AttachmentFileMapper.java} | 11 +- .../storage/Osi2AttachmentFileService.java | 86 +++++++ .../storage/Osi2BinaryFileRemoteService.java | 54 ----- .../osiv2/transfer/Osi2QuarantineService.java | 9 +- .../transfer/PostfachApiFacadeService.java | 13 +- src/main/resources/application-local.yml | 2 +- .../osiv2/OsiPostfachRemoteServiceITCase.java | 59 +++-- .../postfach/osiv2/TestApplication.java | 31 +++ .../AttachmentExampleUploadUtil.java | 24 ++ .../extension/VorgangManagerContainer.java | 30 +++ .../VorgangManagerServerExtension.java | 81 ++++--- .../transfer/Osi2QuarantineServiceTest.java | 9 +- src/test/resources/application-itcase.yml | 11 +- .../wiremock/proto/binaryfile.model.proto | 98 -------- .../resources/wiremock/proto/binaryfile.proto | 47 ---- .../wiremock/proto/callcontext.proto | 42 ---- .../proto/clientattribute.model.proto | 51 ---- .../wiremock/proto/clientattribute.proto | 60 ----- .../wiremock/proto/command.model.proto | 151 ------------ .../resources/wiremock/proto/command.proto | 60 ----- .../wiremock/proto/common.model.proto | 59 ----- .../resources/wiremock/proto/file.model.proto | 56 ----- src/test/resources/wiremock/proto/file.proto | 40 ---- .../wiremock/proto/forwarding.model.proto | 52 ----- .../resources/wiremock/proto/forwarding.proto | 48 ---- .../proto/route-forwarding.model.proto | 48 ---- .../wiremock/proto/route-forwarding.proto | 39 ---- .../wiremock/proto/statistic.model.proto | 92 -------- .../resources/wiremock/proto/statistic.proto | 38 --- .../wiremock/proto/system.model.proto | 38 --- .../resources/wiremock/proto/system.proto | 37 --- .../wiremock/proto/vorgang.model.proto | 221 ------------------ .../resources/wiremock/proto/vorgang.proto | 110 --------- .../proto/vorgangattacheditem.model.proto | 41 ---- .../wiremock/proto/vorgangattacheditem.proto | 58 ----- 38 files changed, 316 insertions(+), 1650 deletions(-) create mode 100644 src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/model/BinaryFileUpload.java rename src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/{Osi2BinaryFileMapper.java => Osi2AttachmentFileMapper.java} (53%) create mode 100644 src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2AttachmentFileService.java delete mode 100644 src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2BinaryFileRemoteService.java create mode 100644 src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/AttachmentExampleUploadUtil.java create mode 100644 src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/VorgangManagerContainer.java delete mode 100644 src/test/resources/wiremock/proto/binaryfile.model.proto delete mode 100644 src/test/resources/wiremock/proto/binaryfile.proto delete mode 100644 src/test/resources/wiremock/proto/callcontext.proto delete mode 100644 src/test/resources/wiremock/proto/clientattribute.model.proto delete mode 100644 src/test/resources/wiremock/proto/clientattribute.proto delete mode 100644 src/test/resources/wiremock/proto/command.model.proto delete mode 100644 src/test/resources/wiremock/proto/command.proto delete mode 100644 src/test/resources/wiremock/proto/common.model.proto delete mode 100644 src/test/resources/wiremock/proto/file.model.proto delete mode 100644 src/test/resources/wiremock/proto/file.proto delete mode 100644 src/test/resources/wiremock/proto/forwarding.model.proto delete mode 100644 src/test/resources/wiremock/proto/forwarding.proto delete mode 100644 src/test/resources/wiremock/proto/route-forwarding.model.proto delete mode 100644 src/test/resources/wiremock/proto/route-forwarding.proto delete mode 100644 src/test/resources/wiremock/proto/statistic.model.proto delete mode 100644 src/test/resources/wiremock/proto/statistic.proto delete mode 100644 src/test/resources/wiremock/proto/system.model.proto delete mode 100644 src/test/resources/wiremock/proto/system.proto delete mode 100644 src/test/resources/wiremock/proto/vorgang.model.proto delete mode 100644 src/test/resources/wiremock/proto/vorgang.proto delete mode 100644 src/test/resources/wiremock/proto/vorgangattacheditem.model.proto delete mode 100644 src/test/resources/wiremock/proto/vorgangattacheditem.proto diff --git a/pom.xml b/pom.xml index c2fc1be..dba3c05 100644 --- a/pom.xml +++ b/pom.xml @@ -23,8 +23,6 @@ <swagger-parser.version>2.1.23</swagger-parser.version> <wiremock.version>3.12.0</wiremock.version> <wiremock-spring-boot.version>3.6.0</wiremock-spring-boot.version> - <wiremock-grpc-extension.version>0.9.0</wiremock-grpc-extension.version> - <grpc.version>1.59.0</grpc.version> </properties> <dependencies> <!-- OZG-Cloud --> @@ -56,6 +54,14 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-oauth2-client</artifactId> </dependency> + <dependency> + <groupId>net.devh</groupId> + <artifactId>grpc-server-spring-boot-starter</artifactId> + </dependency> + <dependency> + <groupId>net.devh</groupId> + <artifactId>grpc-client-spring-boot-starter</artifactId> + </dependency> <dependency> <groupId>org.mapstruct</groupId> @@ -82,33 +88,12 @@ <version>${testcontainers.version}</version> <scope>test</scope> </dependency> - <dependency> - <groupId>org.wiremock</groupId> - <artifactId>wiremock-jetty12</artifactId> - <version>${wiremock}</version> - <scope>test</scope> - </dependency> - <dependency> <groupId>org.wiremock.integrations</groupId> <artifactId>wiremock-spring-boot</artifactId> <version>${wiremock-spring-boot.version}</version> <scope>test</scope> </dependency> - <dependency> - <groupId>org.wiremock</groupId> - <artifactId>wiremock-grpc-extension</artifactId> - <version>${wiremock-grpc-extension.version}</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>io.grpc</groupId> - <artifactId>grpc-stub</artifactId> - </dependency> - <dependency> - <groupId>io.grpc</groupId> - <artifactId>grpc-protobuf</artifactId> - </dependency> <!-- commons --> @@ -191,23 +176,6 @@ </execution> </executions> </plugin> - <plugin> - <groupId>org.xolstice.maven.plugins</groupId> - <artifactId>protobuf-maven-plugin</artifactId> - <version>0.6.1</version> - <executions> - <execution> - <goals> - <goal>test-compile</goal> - </goals> - <configuration> - <outputDirectory>${project.build.directory}/generated-sources/protobuf</outputDirectory> - <attachDescriptorSet>true</attachDescriptorSet> - <descriptorSetOutputDirectory>${project.basedir}/src/test/resources/grpc/services.dsc</descriptorSetOutputDirectory> - </configuration> - </execution> - </executions> - </plugin> </plugins> </build> diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/exception/Osi2ExceptionHandler.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/exception/Osi2ExceptionHandler.java index db9c4f0..f0adabf 100644 --- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/exception/Osi2ExceptionHandler.java +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/exception/Osi2ExceptionHandler.java @@ -4,6 +4,7 @@ import java.io.IOException; import jakarta.annotation.Nullable; +import org.springframework.web.client.ResourceAccessException; import org.springframework.web.client.RestClientResponseException; import de.ozgcloud.nachrichten.postfach.PostfachMessageCode; @@ -30,6 +31,9 @@ public class Osi2ExceptionHandler { if (cause instanceof RestClientResponseException restClientResponseException) { return deriveMessageCodeFromRestClientResponseException(restClientResponseException); } + if (cause instanceof ResourceAccessException) { + return PostfachMessageCode.SERVER_CONNECTION_FAILED_MESSAGE_CODE; + } // TODO KOP-3021 add message code for unsafe upload file return PostfachMessageCode.PROCESS_FAILED_MESSAGE_CODE; } diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/model/BinaryFileUpload.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/model/BinaryFileUpload.java new file mode 100644 index 0000000..dbd3081 --- /dev/null +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/model/BinaryFileUpload.java @@ -0,0 +1,8 @@ +package de.ozgcloud.nachrichten.postfach.osiv2.model; + +public record BinaryFileUpload( + String name, + String contentType, + long size +) { +} diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2BinaryFileMapper.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2AttachmentFileMapper.java similarity index 53% rename from src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2BinaryFileMapper.java rename to src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2AttachmentFileMapper.java index 5b8073c..98eb9c3 100644 --- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2BinaryFileMapper.java +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2AttachmentFileMapper.java @@ -1,18 +1,27 @@ package de.ozgcloud.nachrichten.postfach.osiv2.storage; import org.mapstruct.Mapper; +import org.mapstruct.Mapping; import org.mapstruct.ReportingPolicy; import de.ozgcloud.apilib.file.OzgCloudFile; import de.ozgcloud.apilib.file.OzgCloudFileId; +import de.ozgcloud.apilib.file.OzgCloudUploadFile; +import de.ozgcloud.nachrichten.file.AttachmentFile; import de.ozgcloud.vorgang.grpc.file.GrpcOzgFile; @Mapper(unmappedTargetPolicy = ReportingPolicy.ERROR) -public interface Osi2BinaryFileMapper { +public interface Osi2AttachmentFileMapper { + + String ATTACHMENT_FIELD_NAME = "PostfachAttachment"; OzgCloudFile mapToUploadFileMetadata(GrpcOzgFile grpcOzgFile); default OzgCloudFileId mapToUploadFileId(String fileId) { return new OzgCloudFileId(fileId); } + + @Mapping(target = "fileName", source = "name") + @Mapping(target = "fieldName", constant = ATTACHMENT_FIELD_NAME) + OzgCloudUploadFile toOzgCloudUploadFile(AttachmentFile attachmentFile); } diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2AttachmentFileService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2AttachmentFileService.java new file mode 100644 index 0000000..0eab427 --- /dev/null +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2AttachmentFileService.java @@ -0,0 +1,86 @@ +package de.ozgcloud.nachrichten.postfach.osiv2.storage; + +import static de.ozgcloud.nachrichten.NachrichtenManagerConfiguration.*; + +import java.io.InputStream; +import java.util.Iterator; +import java.util.List; +import java.util.function.Supplier; + +import de.ozgcloud.apilib.common.callcontext.OzgCloudCallContextAttachingInterceptor; +import de.ozgcloud.apilib.common.callcontext.OzgCloudCallContextProvider; +import de.ozgcloud.apilib.file.OzgCloudFile; +import de.ozgcloud.apilib.file.OzgCloudFileService; +import de.ozgcloud.nachrichten.file.AttachmentFile; +import de.ozgcloud.nachrichten.postfach.osiv2.ServiceIfOsi2Enabled; +import de.ozgcloud.nachrichten.postfach.osiv2.exception.Osi2RuntimeException; +import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc; +import de.ozgcloud.vorgang.grpc.binaryFile.GrpcBinaryFilesRequest; +import de.ozgcloud.vorgang.grpc.binaryFile.GrpcGetBinaryFileDataRequest; +import lombok.RequiredArgsConstructor; +import lombok.extern.log4j.Log4j2; +import net.devh.boot.grpc.client.inject.GrpcClient; + +@Log4j2 +@ServiceIfOsi2Enabled +@RequiredArgsConstructor +public class Osi2AttachmentFileService { + + @GrpcClient(GRPC_FILE_MANAGER_NAME) + private BinaryFileServiceGrpc.BinaryFileServiceBlockingStub binaryFilServiceStub; + private final Osi2AttachmentFileMapper attachmentFileMapper; + private final OzgCloudFileService ozgCloudFileService; + private final OzgCloudCallContextProvider ozgCloudCallContextProvider; + + public List<OzgCloudFile> getFileMetadataOfIds(List<String> fileIds) { + try { + return getFileMetadataOfIdsRaw(fileIds); + } catch (RuntimeException e) { + throw new Osi2RuntimeException("getFileMetadataOfIds failed!", e); + } + } + + List<OzgCloudFile> getFileMetadataOfIdsRaw(List<String> fileIds) { + return getBinaryFilServiceStub().findBinaryFilesMetaData(createRequestWithFileIds(fileIds)) + .getFileList() + .stream() + .map(attachmentFileMapper::mapToUploadFileMetadata) + .toList(); + } + + public String uploadFileAndReturnId(AttachmentFile attachmentFile, Supplier<InputStream> fileInputStream) { + // TODO KOP-3008 use revised (nachrichten-manager) AttachmentFileService + var attachmentFileId = ozgCloudFileService.uploadFile( + attachmentFileMapper.toOzgCloudUploadFile(attachmentFile), + fileInputStream.get() + ); + return attachmentFileId.toString(); + } + + private GrpcBinaryFilesRequest createRequestWithFileIds(List<String> fileIds) { + return GrpcBinaryFilesRequest.newBuilder().addAllFileId(fileIds).build(); + } + + public InputStream downloadFileContent(String fileId) { + var response = getBinaryFilServiceStub().getBinaryFileContent(createRequestWithFileId(fileId)); + return new ConcatInputStream(new Iterator<>() { + @Override + public boolean hasNext() { + return response.hasNext(); + } + + @Override + public InputStream next() { + return response.next().getFileContent().newInput(); + } + }); + } + + private GrpcGetBinaryFileDataRequest createRequestWithFileId(String fileId) { + return GrpcGetBinaryFileDataRequest.newBuilder().setFileId(fileId).build(); + } + + private BinaryFileServiceGrpc.BinaryFileServiceBlockingStub getBinaryFilServiceStub() { + return binaryFilServiceStub.withInterceptors(new OzgCloudCallContextAttachingInterceptor(ozgCloudCallContextProvider)); + } +} diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2BinaryFileRemoteService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2BinaryFileRemoteService.java deleted file mode 100644 index 6c4acaf..0000000 --- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/storage/Osi2BinaryFileRemoteService.java +++ /dev/null @@ -1,54 +0,0 @@ -package de.ozgcloud.nachrichten.postfach.osiv2.storage; - -import java.io.InputStream; -import java.util.Iterator; -import java.util.List; - -import de.ozgcloud.apilib.file.OzgCloudFile; -import de.ozgcloud.nachrichten.postfach.osiv2.ServiceIfOsi2Enabled; -import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc; -import de.ozgcloud.vorgang.grpc.binaryFile.GrpcBinaryFilesRequest; -import de.ozgcloud.vorgang.grpc.binaryFile.GrpcGetBinaryFileDataRequest; -import lombok.RequiredArgsConstructor; -import lombok.extern.log4j.Log4j2; -import net.devh.boot.grpc.client.inject.GrpcClient; - -@Log4j2 -@ServiceIfOsi2Enabled -@RequiredArgsConstructor -public class Osi2BinaryFileRemoteService { - @GrpcClient("vorgang-manager") - private final BinaryFileServiceGrpc.BinaryFileServiceBlockingStub binaryFileService; - private final Osi2BinaryFileMapper binaryFileMapper; - - public List<OzgCloudFile> getFileMetadataOfIds(List<String> fileIds) { - return binaryFileService.findBinaryFilesMetaData(createRequestWithFileIds(fileIds)) - .getFileList() - .stream() - .map(binaryFileMapper::mapToUploadFileMetadata) - .toList(); - } - - private GrpcBinaryFilesRequest createRequestWithFileIds(List<String> fileIds) { - return GrpcBinaryFilesRequest.newBuilder().addAllFileId(fileIds).build(); - } - - public InputStream streamFileContent(String fileId) { - var response = binaryFileService.getBinaryFileContent(createRequestWithFileId(fileId)); - return new ConcatInputStream(new Iterator<>() { - @Override - public boolean hasNext() { - return response.hasNext(); - } - - @Override - public InputStream next() { - return response.next().getFileContent().newInput(); - } - }); - } - - private GrpcGetBinaryFileDataRequest createRequestWithFileId(String fileId) { - return GrpcGetBinaryFileDataRequest.newBuilder().setFileId(fileId).build(); - } -} diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2QuarantineService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2QuarantineService.java index 325c202..b3fefcb 100644 --- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2QuarantineService.java +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2QuarantineService.java @@ -19,7 +19,7 @@ import de.ozgcloud.nachrichten.postfach.osiv2.ServiceIfOsi2Enabled; import de.ozgcloud.nachrichten.postfach.osiv2.exception.Osi2RuntimeException; import de.ozgcloud.nachrichten.postfach.osiv2.model.FileChunkInfo; import de.ozgcloud.nachrichten.postfach.osiv2.model.Osi2FileUpload; -import de.ozgcloud.nachrichten.postfach.osiv2.storage.Osi2BinaryFileRemoteService; +import de.ozgcloud.nachrichten.postfach.osiv2.storage.Osi2AttachmentFileService; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; @@ -28,7 +28,7 @@ import lombok.extern.log4j.Log4j2; @RequiredArgsConstructor public class Osi2QuarantineService { private final PostfachApiFacadeService postfachApiFacadeService; - private final Osi2BinaryFileRemoteService binaryFileService; + private final Osi2AttachmentFileService binaryFileService; static final Duration POLLING_INTERVAL = Duration.ofSeconds(1); static final Duration POLLING_TIMEOUT = Duration.ofMinutes(5); @@ -48,10 +48,10 @@ public class Osi2QuarantineService { } Osi2FileUpload uploadFileToQuarantine(OzgCloudFile file) { - try (var fileInputStream = binaryFileService.streamFileContent(file.getId().toString())) { + try (var fileInputStream = binaryFileService.downloadFileContent(file.getId().toString())) { return uploadInputStreamToQuarantine(file, fileInputStream); } catch (IOException e) { - throw new Osi2RuntimeException("Failed to close input stream!", e); + throw new Osi2RuntimeException("Failed to close upload input stream!", e); } } @@ -82,6 +82,7 @@ public class Osi2QuarantineService { synchronized boolean checkVirusScanCompleted(List<Osi2FileUpload> osi2FileMetadata) { + // TODO ... return true; } diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java index 1e24151..6266fa6 100644 --- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java +++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java @@ -6,7 +6,6 @@ import java.util.List; import java.util.UUID; import org.springframework.core.io.AbstractResource; -import org.springframework.web.client.RestClientResponseException; import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import de.ozgcloud.nachrichten.postfach.osiv2.ServiceIfOsi2Enabled; @@ -33,7 +32,7 @@ public class PostfachApiFacadeService { public void sendMessage(PostfachNachricht nachricht, List<Osi2FileUpload> attachments) { try { sendMessageRaw(nachricht, attachments); - } catch (RestClientResponseException e) { + } catch (RuntimeException e) { throw new Osi2RuntimeException("sendMessage failed!", e); } } @@ -48,7 +47,7 @@ public class PostfachApiFacadeService { public <T extends AbstractResource> void uploadChunk(FileChunkInfo chunkInfo, T chunkResource) { try { uploadChunkRaw(chunkInfo, chunkResource); - } catch (RestClientResponseException e) { + } catch (RuntimeException e) { throw new Osi2RuntimeException("uploadChunk failed!", e); } } @@ -65,7 +64,7 @@ public class PostfachApiFacadeService { public boolean checkUploadSuccessful(final String messageId) { try { return checkUploadSuccessfulRaw(messageId); - } catch (RestClientResponseException e) { + } catch (RuntimeException e) { throw new Osi2RuntimeException("checkUploadSuccessful failed!", e); } } @@ -79,7 +78,7 @@ public class PostfachApiFacadeService { public List<String> fetchPendingMessageIds() { try { return fetchPendingMessageIdsRaw(); - } catch (RestClientResponseException e) { + } catch (RuntimeException e) { throw new Osi2RuntimeException("fetchPendingMessageIds failed!", e); } } @@ -93,7 +92,7 @@ public class PostfachApiFacadeService { public PostfachNachricht fetchMessageById(final String messageId) { try { return fetchMessageByIdRaw(messageId); - } catch (RestClientResponseException e) { + } catch (RuntimeException e) { throw new Osi2RuntimeException("fetchMessageById failed!", e); } } @@ -106,7 +105,7 @@ public class PostfachApiFacadeService { public void deleteMessage(final String messageId) { try { deleteMessageRaw(messageId); - } catch (RestClientResponseException e) { + } catch (RuntimeException e) { throw new Osi2RuntimeException("deleteMessage failed!", e); } } diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 47df577..caf6843 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -6,6 +6,6 @@ logging: grpc: client: - vorgang-manager: + file-manager: address: static://127.0.0.1:9090 negotiationType: PLAINTEXT \ No newline at end of file diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceITCase.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceITCase.java index 16e57e0..b698bf7 100644 --- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceITCase.java +++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceITCase.java @@ -1,10 +1,12 @@ package de.ozgcloud.nachrichten.postfach.osiv2; import static com.github.tomakehurst.wiremock.client.WireMock.*; +import static de.ozgcloud.nachrichten.NachrichtenManagerConfiguration.*; import static de.ozgcloud.nachrichten.postfach.osiv2.factory.JwtFactory.*; import static org.assertj.core.api.Assertions.*; import java.time.OffsetDateTime; +import java.util.List; import java.util.UUID; import org.junit.jupiter.api.BeforeEach; @@ -17,14 +19,13 @@ import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.DynamicPropertyRegistry; import org.springframework.test.context.DynamicPropertySource; import org.springframework.test.context.TestPropertySource; -import org.wiremock.grpc.dsl.WireMockGrpcService; import com.github.tomakehurst.wiremock.WireMockServer; import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder; import de.ozgcloud.nachrichten.postfach.PostfachMessageCode; -import de.ozgcloud.nachrichten.postfach.PostfachNachricht; import de.ozgcloud.nachrichten.postfach.osiv2.exception.Osi2PostfachException; +import de.ozgcloud.nachrichten.postfach.osiv2.extension.AttachmentExampleUploadUtil; import de.ozgcloud.nachrichten.postfach.osiv2.extension.Jwt; import de.ozgcloud.nachrichten.postfach.osiv2.extension.OsiMockServerExtension; import de.ozgcloud.nachrichten.postfach.osiv2.extension.VorgangManagerServerExtension; @@ -33,6 +34,7 @@ import de.ozgcloud.nachrichten.postfach.osiv2.factory.MessageExchangeReceiveMess import de.ozgcloud.nachrichten.postfach.osiv2.factory.MessageExchangeSendMessageResponseTestFactory; import de.ozgcloud.nachrichten.postfach.osiv2.factory.PostfachNachrichtTestFactory; import de.ozgcloud.nachrichten.postfach.osiv2.factory.V1ReplyMessageTestFactory; +import de.ozgcloud.nachrichten.postfach.osiv2.storage.Osi2AttachmentFileService; import lombok.SneakyThrows; @SpringBootTest(classes = TestApplication.class) @@ -48,10 +50,10 @@ class OsiPostfachRemoteServiceITCase { @RegisterExtension static final VorgangManagerServerExtension VORGANG_MANAGER_SERVER_EXTENSION = new VorgangManagerServerExtension(); - private final PostfachNachricht postfachNachricht = PostfachNachrichtTestFactory.create(); - @Autowired private OsiPostfachRemoteService osiPostfachRemoteService; + @Autowired + private Osi2AttachmentFileService osi2AttachmentFileService; @DynamicPropertySource static void dynamicProperties(DynamicPropertyRegistry registry) { @@ -60,32 +62,25 @@ class OsiPostfachRemoteServiceITCase { registry.add("ozgcloud.osiv2.auth.client-id", () -> CLIENT_ID); registry.add("ozgcloud.osiv2.api.url", OSI_MOCK_SERVER_EXTENSION::getPostfachFacadeUrl); registry.add("ozgcloud.osiv2.auth.resource", () -> RESOURCE_URN); - registry.add("grpc.client.vorgang-manager.address", VORGANG_MANAGER_SERVER_EXTENSION::getVorgangManagerAddress); + registry.add("grpc.client." + GRPC_FILE_MANAGER_NAME + ".address", VORGANG_MANAGER_SERVER_EXTENSION::getVorgangManagerAddress); + registry.add("grpc.client." + GRPC_FILE_MANAGER_NAME + ".negotiationType", () -> "PLAINTEXT"); } private WireMockServer postfachFacadeMockServer; - private WireMockGrpcService binaryFileMockService; @BeforeEach @SneakyThrows public void setup() { postfachFacadeMockServer = OSI_MOCK_SERVER_EXTENSION.getPostfachFacadeMockServer(); - binaryFileMockService = VORGANG_MANAGER_SERVER_EXTENSION.getBinaryFileServiceGrpcService(); + } @DisplayName("should send request with jwt") @Test @SneakyThrows void shouldSendRequestWithJwt() { - // Stub message send response (MessageExchangeApi::sendMessage) - postfachFacadeMockServer.stubFor(post(urlPathTemplate("/MessageExchange/v1/Send/{mailboxId}")) - .willReturn( - okJsonObj( - MessageExchangeSendMessageResponseTestFactory.create() - .messageId(UUID.randomUUID()) - ) - ) - ); + var postfachNachricht = PostfachNachrichtTestFactory.create(); + mockSendResponse(); osiPostfachRemoteService.sendMessage(postfachNachricht); @@ -100,6 +95,7 @@ class OsiPostfachRemoteServiceITCase { @DisplayName("should throw postfach exception with connection error code") @Test void shouldThrowPostfachExceptionWithConnectionErrorCode() { + var postfachNachricht = PostfachNachrichtTestFactory.create(); postfachFacadeMockServer.stop(); assertThatThrownBy(() -> osiPostfachRemoteService.sendMessage(postfachNachricht)) @@ -107,6 +103,37 @@ class OsiPostfachRemoteServiceITCase { .hasFieldOrPropertyWithValue("messageCode", PostfachMessageCode.SERVER_CONNECTION_FAILED_MESSAGE_CODE); } + @DisplayName("should send message with attachment") + @Test + void shouldSendMessageWithAttachment() { + var textFileId = AttachmentExampleUploadUtil.uploadTextFile(osi2AttachmentFileService); + // TODO mock quarantine upload requests + + var postfachNachrichtWithAttachment = PostfachNachrichtTestFactory.createBuilder() + .attachments(List.of(textFileId)) + .build(); + mockSendResponse(); + + osiPostfachRemoteService.sendMessage(postfachNachrichtWithAttachment); + + postfachFacadeMockServer.verify( + exactly(1), + postRequestedFor(urlPathTemplate("/MessageExchange/v1/Send/{mailboxId}")) + ); + } + + private void mockSendResponse() { + // Stub message send response (MessageExchangeApi::sendMessage) + postfachFacadeMockServer.stubFor(post(urlPathTemplate("/MessageExchange/v1/Send/{mailboxId}")) + .willReturn( + okJsonObj( + MessageExchangeSendMessageResponseTestFactory.create() + .messageId(UUID.randomUUID()) + ) + ) + ); + } + @DisplayName("should receive one messages") @Test @SneakyThrows diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/TestApplication.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/TestApplication.java index afa904e..2a3358f 100644 --- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/TestApplication.java +++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/TestApplication.java @@ -1,9 +1,40 @@ package de.ozgcloud.nachrichten.postfach.osiv2; +import static de.ozgcloud.nachrichten.NachrichtenManagerConfiguration.*; + +import org.mapstruct.factory.Mappers; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; + +import de.ozgcloud.apilib.common.callcontext.CallContext; +import de.ozgcloud.apilib.common.callcontext.OzgCloudCallContextProvider; +import de.ozgcloud.apilib.file.OzgCloudFileService; +import de.ozgcloud.apilib.file.grpc.GrpcOzgCloudFileService; +import de.ozgcloud.apilib.file.grpc.OzgCloudFileMapper; +import de.ozgcloud.apilib.vorgang.OzgCloudUserIdMapper; +import de.ozgcloud.nachrichten.common.grpc.NachrichtenCallContextAttachingInterceptor; +import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc; +import net.devh.boot.grpc.client.inject.GrpcClient; @SpringBootApplication @AutoConfiguration public class TestApplication { + + @GrpcClient(GRPC_FILE_MANAGER_NAME) + private BinaryFileServiceGrpc.BinaryFileServiceBlockingStub fileServiceBlockingStub; + @GrpcClient(GRPC_FILE_MANAGER_NAME) + private BinaryFileServiceGrpc.BinaryFileServiceStub fileServiceAsyncServiceStub; + + @Bean + OzgCloudCallContextProvider ozgCloudCallContextProvider() { + var userIdMapper = Mappers.getMapper(OzgCloudUserIdMapper.class); + return () -> CallContext.builder().clientName(NachrichtenCallContextAttachingInterceptor.NACHRICHTEN_MANAGER_CLIENT_NAME) + .userId(userIdMapper.toUserId(NachrichtenCallContextAttachingInterceptor.NACHRICHTEN_MANAGER_SENDER_USER_ID)).build(); + } + + @Bean(OZG_CLOUD_FILE_SERVICE_NAME) + OzgCloudFileService grpcOzgCloudFileService(OzgCloudCallContextProvider contextProvider) { + return new GrpcOzgCloudFileService(fileServiceBlockingStub, fileServiceAsyncServiceStub, contextProvider, Mappers.getMapper(OzgCloudFileMapper.class)); + } } diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/AttachmentExampleUploadUtil.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/AttachmentExampleUploadUtil.java new file mode 100644 index 0000000..752172c --- /dev/null +++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/AttachmentExampleUploadUtil.java @@ -0,0 +1,24 @@ +package de.ozgcloud.nachrichten.postfach.osiv2.extension; + +import java.io.ByteArrayInputStream; +import java.util.UUID; + +import com.thedeanda.lorem.LoremIpsum; + +import de.ozgcloud.nachrichten.file.AttachmentFile; +import de.ozgcloud.nachrichten.postfach.osiv2.storage.Osi2AttachmentFileService; +import lombok.extern.log4j.Log4j2; + +@Log4j2 +public class AttachmentExampleUploadUtil { + + public static String uploadTextFile(Osi2AttachmentFileService remoteService) { + + return remoteService.uploadFileAndReturnId(AttachmentFile.builder() + .contentType("test/plain") + .name("test.txt") + .vorgangId(UUID.randomUUID().toString()) + .build(), () -> new ByteArrayInputStream(LoremIpsum.getInstance().getParagraphs(5,100).getBytes())); + } + +} diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/VorgangManagerContainer.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/VorgangManagerContainer.java new file mode 100644 index 0000000..a4d3ce6 --- /dev/null +++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/VorgangManagerContainer.java @@ -0,0 +1,30 @@ +package de.ozgcloud.nachrichten.postfach.osiv2.extension; + +import java.time.Duration; + +import jakarta.validation.constraints.NotNull; + +import org.testcontainers.containers.GenericContainer; +import org.testcontainers.utility.DockerImageName; + +public class VorgangManagerContainer extends GenericContainer<VorgangManagerContainer> { + + private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("docker.ozg-sh.de/vorgang-manager"); + private static final String DEFAULT_TAG = "latest"; + public static final int PORT = 9090; + + public VorgangManagerContainer() { + this(DEFAULT_IMAGE_NAME.withTag(DEFAULT_TAG)); + } + + public VorgangManagerContainer(@NotNull DockerImageName dockerImageName) { + super(dockerImageName); + addExposedPort(PORT); + super.withStartupTimeout(Duration.ofMinutes(2)); + } + + public String getAddress() { + return "%s:%d".formatted(getHost(), getMappedPort(PORT)); + } + +} diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/VorgangManagerServerExtension.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/VorgangManagerServerExtension.java index 37e732b..5b370d9 100644 --- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/VorgangManagerServerExtension.java +++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/VorgangManagerServerExtension.java @@ -1,18 +1,17 @@ package de.ozgcloud.nachrichten.postfach.osiv2.extension; -import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.*; +import java.time.Duration; +import java.util.Map; +import java.util.Optional; import org.junit.jupiter.api.extension.AfterAllCallback; import org.junit.jupiter.api.extension.AfterEachCallback; import org.junit.jupiter.api.extension.BeforeAllCallback; import org.junit.jupiter.api.extension.ExtensionContext; -import org.wiremock.grpc.GrpcExtensionFactory; -import org.wiremock.grpc.dsl.WireMockGrpcService; +import org.testcontainers.containers.MongoDBContainer; +import org.testcontainers.containers.Network; +import org.testcontainers.containers.output.OutputFrame; -import com.github.tomakehurst.wiremock.WireMockServer; -import com.github.tomakehurst.wiremock.client.WireMock; - -import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc; import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; @@ -22,42 +21,62 @@ import lombok.extern.log4j.Log4j2; @RequiredArgsConstructor public class VorgangManagerServerExtension implements BeforeAllCallback, AfterAllCallback, AfterEachCallback { - private WireMockServer vorgangManagerMockServer; - private WireMockGrpcService binaryFileServiceGrpcService; + static final String VORGANG_MANAGER_NETWORK_ALIAS = "vorgang-manager"; + static final String MONGODB_NETWORK_ALIAS = "mongodb"; + + private VorgangManagerContainer vorgangManagerContainer; + private MongoDBContainer mongoDBContainer; @Override public void beforeAll(ExtensionContext context) { - setupVorgangManagerMock(); - binaryFileServiceGrpcService = new WireMockGrpcService( - new WireMock(vorgangManagerMockServer), - BinaryFileServiceGrpc.SERVICE_NAME - ); + setupVorgangManager(); } - @Override - public void afterEach(ExtensionContext context) { - binaryFileServiceGrpcService.resetAll(); - vorgangManagerMockServer.resetAll(); + private void setupVorgangManager() { + var network = Network.newNetwork(); + mongoDBContainer = new MongoDBContainer("mongo:7.0") + .withStartupTimeout(Duration.ofMinutes(1)) + .withNetworkAliases(MONGODB_NETWORK_ALIAS) + .withNetwork(network); + mongoDBContainer.start(); + vorgangManagerContainer = new VorgangManagerContainer() + .withEnv(Map.of( + "spring_profiles_active", "local", + "ozgcloud.vorgang-manager.serviceAddress", "%s:%d".formatted(VORGANG_MANAGER_NETWORK_ALIAS, VorgangManagerContainer.PORT), + "spring.data.mongodb.host", MONGODB_NETWORK_ALIAS, + "spring.data.mongodb.port", "27017", + "mongock_enabled", "false" + )) + .withNetwork(network) + .withLogConsumer(this::logVorgangManager) + .withStartupTimeout(Duration.ofMinutes(2)) + .dependsOn(mongoDBContainer); + vorgangManagerContainer.start(); } - @Override - public void afterAll(ExtensionContext context) { - vorgangManagerMockServer.shutdown(); + private void logVorgangManager(OutputFrame outputFrame) { + var stream = outputFrame.getType() == OutputFrame.OutputType.STDOUT ? System.out : System.err; + stream.println("[vorgang-manager] " + outputFrame.getUtf8String().stripTrailing()); } - private void setupVorgangManagerMock() { - vorgangManagerMockServer = new WireMockServer( - wireMockConfig() - .dynamicPort() - .withRootDirectory("src/test/resources/wiremock") - .extensions(new GrpcExtensionFactory()) - ); - vorgangManagerMockServer.start(); + @Override + public void afterAll(ExtensionContext context) { + if (mongoDBContainer != null) { + mongoDBContainer.stop(); + } + if (vorgangManagerContainer != null) { + vorgangManagerContainer.stop(); + } } public String getVorgangManagerAddress() { - return "static://127.0.0.1:%d".formatted(vorgangManagerMockServer.port()); + return Optional.ofNullable(vorgangManagerContainer) + .map(VorgangManagerContainer::getAddress) + .orElse("missing"); } - + @Override + public void afterEach(ExtensionContext context) { + // Consider clearing mongodb (uploaded files) + } } diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2QuarantineServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2QuarantineServiceTest.java index df713f3..b6ead12 100644 --- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2QuarantineServiceTest.java +++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2QuarantineServiceTest.java @@ -20,11 +20,10 @@ import org.mockito.Spy; import de.ozgcloud.apilib.file.OzgCloudFile; import de.ozgcloud.apilib.file.OzgCloudFileId; import de.ozgcloud.apilib.file.OzgCloudFileTestFactory; -import de.ozgcloud.nachrichten.postfach.osiv2.exception.Osi2PostfachException; import de.ozgcloud.nachrichten.postfach.osiv2.exception.Osi2RuntimeException; import de.ozgcloud.nachrichten.postfach.osiv2.model.FileChunkInfo; import de.ozgcloud.nachrichten.postfach.osiv2.model.Osi2FileUpload; -import de.ozgcloud.nachrichten.postfach.osiv2.storage.Osi2BinaryFileRemoteService; +import de.ozgcloud.nachrichten.postfach.osiv2.storage.Osi2AttachmentFileService; import lombok.SneakyThrows; class Osi2QuarantineServiceTest { @@ -37,7 +36,7 @@ class Osi2QuarantineServiceTest { private PostfachApiFacadeService postfachApiFacadeService; @Mock - private Osi2BinaryFileRemoteService binaryFileService; + private Osi2AttachmentFileService binaryFileService; @DisplayName("upload attachments") @Nested @@ -135,7 +134,7 @@ class Osi2QuarantineServiceTest { @BeforeEach void mock() { - when(binaryFileService.streamFileContent(any())).thenReturn(fileInputStream); + when(binaryFileService.downloadFileContent(any())).thenReturn(fileInputStream); doReturn(uploadFile).when(service).uploadInputStreamToQuarantine(any(), any()); } @@ -144,7 +143,7 @@ class Osi2QuarantineServiceTest { void shouldCallStreamFileContent() { uploadFileToQuarantine(); - verify(binaryFileService).streamFileContent(OzgCloudFileTestFactory.ID_STR); + verify(binaryFileService).downloadFileContent(OzgCloudFileTestFactory.ID_STR); } @DisplayName("should call uploadInputStreamToQuarantine") diff --git a/src/test/resources/application-itcase.yml b/src/test/resources/application-itcase.yml index cbafa6a..37a4164 100644 --- a/src/test/resources/application-itcase.yml +++ b/src/test/resources/application-itcase.yml @@ -7,8 +7,9 @@ logging: org.springframework.http: DEBUG org.springframework.web.client: DEBUG -grpc: - client: - vorgang-manager: - address: static://127.0.0.1:9090 - negotiationType: PLAINTEXT \ No newline at end of file +spring: + grpc: + client: + file-manager: + address: static://127.0.0.1:9090 + negotiationType: PLAINTEXT \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/binaryfile.model.proto b/src/test/resources/wiremock/proto/binaryfile.model.proto deleted file mode 100644 index 1a88a3c..0000000 --- a/src/test/resources/wiremock/proto/binaryfile.model.proto +++ /dev/null @@ -1,98 +0,0 @@ -/* - * 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.vorgang.grpc.binaryFile; - -import "callcontext.proto"; -import "file.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.grpc.binaryFile"; -option java_outer_classname = "BinaryFileModelProto"; - -message GrpcBinaryFilesRequest { - de.ozgcloud.vorgang.grpc.command.GrpcCallContext context = 1; - repeated string fileId = 2; -} - -message GrpcFindFilesResponse { - repeated de.ozgcloud.vorgang.grpc.file.GrpcOzgFile file = 1; -} - -message GrpcBinaryFileDataRequest { - de.ozgcloud.vorgang.grpc.command.GrpcCallContext context = 1; - string fileId = 2; -} - -message GrpcUploadBinaryFileRequest { - oneof request { - GrpcUploadBinaryFileMetaData metadata = 1; - bytes fileContent = 2; - } -} - -message GrpcUploadBinaryFileMetaData { - de.ozgcloud.vorgang.grpc.command.GrpcCallContext context = 1; - string vorgangId = 2; - string field = 3; - string fileName = 4; - string contentType = 5; - int64 size = 6 [deprecated = true]; -} - -message GrpcUploadBinaryFileResponse { - string fileId = 2; -} - -message GrpcGetBinaryFileDataRequest { - de.ozgcloud.vorgang.grpc.command.GrpcCallContext context = 1; - string fileId = 2; -} - -message GrpcGetBinaryFileDataResponse { - bytes fileContent = 1; -} - -message GrpcBinaryFile { - string id = 1; - string name = 2; - int64 size = 3; - string contentType = 4; -} - -message GrpcUpdateBinaryFileRequest { - oneof request { - GrpcBinaryFileMetadata metadata = 1; - bytes content = 2; - } -} - -message GrpcBinaryFileMetadata { - string fileId = 1; - string fileName = 2; - string contentType = 3; -} - -message GrpcUpdateBinaryFileResponse {} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/binaryfile.proto b/src/test/resources/wiremock/proto/binaryfile.proto deleted file mode 100644 index 1b555f4..0000000 --- a/src/test/resources/wiremock/proto/binaryfile.proto +++ /dev/null @@ -1,47 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.grpc.binaryFile; - -import "binaryfile.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.grpc.binaryFile"; -option java_outer_classname = "BinaryFileProto"; - -service BinaryFileService { - - rpc UploadBinaryFileAsStream(stream GrpcUploadBinaryFileRequest) returns (GrpcUploadBinaryFileResponse) { - } - - rpc GetBinaryFileContent(GrpcGetBinaryFileDataRequest) returns (stream GrpcGetBinaryFileDataResponse) { - } - - rpc FindBinaryFilesMetaData(GrpcBinaryFilesRequest) returns (GrpcFindFilesResponse) { - } - - rpc UpdateBinaryFile(stream GrpcUpdateBinaryFileRequest) returns (GrpcUpdateBinaryFileResponse) { - } -} diff --git a/src/test/resources/wiremock/proto/callcontext.proto b/src/test/resources/wiremock/proto/callcontext.proto deleted file mode 100644 index 8631cbc..0000000 --- a/src/test/resources/wiremock/proto/callcontext.proto +++ /dev/null @@ -1,42 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.grpc.command; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.grpc.command"; -option java_outer_classname = "SharedCommandProto"; - -message GrpcCallContext { - string client = 1; - GrpcUser user = 2; - string requestId = 3; -} - -message GrpcUser { - string id = 1; - string name = 2; - repeated string roles = 3 [deprecated=true]; -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/clientattribute.model.proto b/src/test/resources/wiremock/proto/clientattribute.model.proto deleted file mode 100644 index 910e0c9..0000000 --- a/src/test/resources/wiremock/proto/clientattribute.model.proto +++ /dev/null @@ -1,51 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.grpc.clientAttribute; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.grpc.clientAttribute"; - -message GrpcClientAttribute { - string clientName = 1; - string attributeName = 2; - GrpcAccessPermission access = 3; - GrpcClientAttributeValue value = 4; -} - -enum GrpcAccessPermission { - PRIVATE = 0; - READ_ONLY = 1; - READ_WRITE = 2; -} - -message GrpcClientAttributeValue { - oneof value { - string stringValue = 1; - int64 intValue = 2; - double doubleValue = 3; - bool boolValue = 4; - } -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/clientattribute.proto b/src/test/resources/wiremock/proto/clientattribute.proto deleted file mode 100644 index 320bce9..0000000 --- a/src/test/resources/wiremock/proto/clientattribute.proto +++ /dev/null @@ -1,60 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.grpc.clientAttribute; - -import "clientattribute.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.grpc.clientAttribute"; - -service ClientAttributeService { - rpc Set (GrpcSetClientAttributeRequest) returns (GrpcAcknowledgeResponse) { - } - rpc Update (GrpcUpdateClientAttributeRequest) returns (GrpcAcknowledgeResponse) { - } - rpc Delete (GrpcDeleteClientAttributeRequest) returns (GrpcAcknowledgeResponse) { - } -} - -message GrpcSetClientAttributeRequest { - string vorgangId = 1; - GrpcClientAttribute attribute = 2; -} - -message GrpcUpdateClientAttributeRequest { - string vorgangId = 1; - GrpcClientAttribute attribute = 2; -} - -message GrpcDeleteClientAttributeRequest { - string vorgangId = 1; - string clientName = 2; - string attributeName = 3; -} - -message GrpcAcknowledgeResponse { -} - diff --git a/src/test/resources/wiremock/proto/command.model.proto b/src/test/resources/wiremock/proto/command.model.proto deleted file mode 100644 index 0e085ab..0000000 --- a/src/test/resources/wiremock/proto/command.model.proto +++ /dev/null @@ -1,151 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.grpc.command; - -import "callcontext.proto"; -import "common.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.grpc.command"; -option java_outer_classname = "CommandModelProto"; - -message GrpcCreateCommandRequest { - de.ozgcloud.vorgang.grpc.command.GrpcCallContext callContext = 1; - string vorgangId = 2; - string relationId = 4; - int64 relationVersion = 5; - GrpcRedirectRequest redirectRequest = 12; - repeated GrpcCommandBodyField body = 15; - de.ozgcloud.vorgang.common.GrpcObject bodyObj = 17; - string orderString = 21; -} - -message GrpcCommandResponse { - enum GrpcResponseCode { - OK = 0; - PENDING = 1; - ERROR = 2; - CONFLICT = 3; - } - GrpcResponseCode responseCode = 1; - string messageCode = 2; - repeated string messageParameters = 3; - GrpcCommand command = 4; -} - -message GrpcRevokeCommandRequest { - de.ozgcloud.vorgang.grpc.command.GrpcCallContext context = 1; - string id = 2; -} - -message GrpcGetCommandRequest { - de.ozgcloud.vorgang.grpc.command.GrpcCallContext context = 1; - string id = 2; -} - -message GrpcSetCommandExecutedRequest { - string commandId = 1; - string createdResource = 2; -} - -message GrpcCommand { - string id = 1; - string vorgangId = 2; - string createdAt = 3; - string finishedAt = 4; - string createdBy = 10; - string createdByName = 11; - string status = 12; - string errorMessage=13; - string relationId = 14; - GrpcCommandBody body = 16; - de.ozgcloud.vorgang.common.GrpcObject bodyObj = 17; - GrpcRedirectRequest redirectRequest = 20; - string orderString = 21; - string createdResource = 22; -} - -message GrpcExistsPendingCommandsRequest { - de.ozgcloud.vorgang.grpc.command.GrpcCallContext context = 1; - string vorgangId = 2; -} - -message GrpcExistsPendingCommandsResponse { - bool existsPendingCommands = 1; -} - -message GrpcRedirectRequest { - de.ozgcloud.vorgang.grpc.command.GrpcCallContext context = 1; - string email = 2; - string password = 3; -} - - -message GrpcGetPendingCommandsRequest { - de.ozgcloud.vorgang.grpc.command.GrpcCallContext context = 1; - string vorgangId = 2; -} - -message GrpcFindCommandsRequest { - de.ozgcloud.vorgang.grpc.command.GrpcCallContext context = 1; - string vorgangId = 2; - repeated string status = 3; - string orderString = 5; -} - - -message GrpcGetPendingCommandsResponse { - repeated GrpcCommand command = 1; -} -message GrpcCommandsResponse { - repeated GrpcCommand command = 1; -} - -message GrpcCommandBody { - repeated GrpcCommandBodyField field = 1; -} - -message GrpcCommandBodyField { - string name = 1; - string value = 2; -} - -message GrpcEmpty { -} - -message GrpcAddSubCommandsRequest { - string parentId = 1; - string executionMode = 2; - bool completedIfSubsCompleted = 3; - repeated GrpcCreateCommand subCommands = 4; -} - -message GrpcCreateCommand { - string order = 1; - string relationId = 2; - int64 relationVersion = 3; - de.ozgcloud.vorgang.common.GrpcObject bodyObj = 4; -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/command.proto b/src/test/resources/wiremock/proto/command.proto deleted file mode 100644 index 453c11c..0000000 --- a/src/test/resources/wiremock/proto/command.proto +++ /dev/null @@ -1,60 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.grpc.command; - -import "command.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.grpc.command"; -option java_outer_classname = "CommandProto"; - -service CommandService { - - rpc CreateCommand(GrpcCreateCommandRequest) returns (GrpcCommandResponse) { - } - - rpc RevokeCommand(GrpcRevokeCommandRequest) returns (GrpcCommandResponse) { - } - - rpc GetCommand(GrpcGetCommandRequest) returns (GrpcCommand) { - } - - rpc ExistsPendingCommands(GrpcExistsPendingCommandsRequest) returns (GrpcExistsPendingCommandsResponse) { - } - - rpc GetPendingCommands(GrpcGetPendingCommandsRequest) returns (GrpcGetPendingCommandsResponse){ - } - - rpc FindCommands(GrpcFindCommandsRequest) returns (GrpcCommandsResponse) { - } - - rpc SetCommandExecuted(GrpcSetCommandExecutedRequest) returns (GrpcEmpty) { - - } - - rpc AddSubCommands(GrpcAddSubCommandsRequest) returns (GrpcCommandsResponse) { - } -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/common.model.proto b/src/test/resources/wiremock/proto/common.model.proto deleted file mode 100644 index f1a92f8..0000000 --- a/src/test/resources/wiremock/proto/common.model.proto +++ /dev/null @@ -1,59 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.common; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.common"; -option java_outer_classname = "CommonModelProto"; - -message GrpcObject { - repeated GrpcProperty property = 1; - repeated GrpcSubObject subObject = 2; -} - -message GrpcProperty { - string name = 1; - repeated string value = 2; -} - -message GrpcSubObject { - string name = 1; - repeated GrpcProperty property = 2; - repeated GrpcSubObject subObject = 3; -} - -enum GrpcQueryOperator { - GREATER_THEN = 0; // > - GREATER_THEN_OR_EQUAL_TO = 1; // >= - LESS_THEN = 2; // < - LESS_THEN_OR_EQUAL_TO = 3; // <= - EQUAL = 4; // = - UNEQUAL = 5; // <> - IS_NULL = 6; - IS_EMPTY = 7; - EXISTS = 8; - NOT_EXIST = 9; -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/file.model.proto b/src/test/resources/wiremock/proto/file.model.proto deleted file mode 100644 index 6b81a0d..0000000 --- a/src/test/resources/wiremock/proto/file.model.proto +++ /dev/null @@ -1,56 +0,0 @@ -/* - * 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.vorgang.grpc.file; - -import "callcontext.proto"; - -option java_multiple_files = true; -option java_outer_classname = "FileModelProto"; - - -message GrpcGetAttachmentsRequest { - string eingangId = 2; - string vorgangId = 3; -} - -message GrpcGetAttachmentsResponse { - repeated GrpcOzgFile file = 1; -} - -message GrpcGetRepresentationsRequest { - string eingangId = 2; - string vorgangId = 3; -} -message GrpcGetRepresentationsResponse { - repeated GrpcOzgFile file = 1; -} - -message GrpcOzgFile { - string id = 1; - string name = 2; - int64 size = 3; - string contentType = 4; -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/file.proto b/src/test/resources/wiremock/proto/file.proto deleted file mode 100644 index 98da078..0000000 --- a/src/test/resources/wiremock/proto/file.proto +++ /dev/null @@ -1,40 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.grpc.file; - -import "file.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.grpc.file"; -option java_outer_classname = "FileProto"; - -service FileService { - rpc GetAttachments(GrpcGetAttachmentsRequest) returns (GrpcGetAttachmentsResponse) { - } - - rpc GetRepresentations(GrpcGetRepresentationsRequest) returns (GrpcGetRepresentationsResponse) { - } -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/forwarding.model.proto b/src/test/resources/wiremock/proto/forwarding.model.proto deleted file mode 100644 index 8d1f34a..0000000 --- a/src/test/resources/wiremock/proto/forwarding.model.proto +++ /dev/null @@ -1,52 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.forwarding; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.forwarding"; -option java_outer_classname = "ForwardingModelProto"; - -enum GrpcForwardingStatus { - UNDEFINED = 0; - NEW = 1; - SENT = 2; - SUCCESSFULL = 3; - SEND_ERROR = 4; - FAILED = 5; -} - -message GrpcForwarding { - string id = 1; - string vorgangId = 2; - string status = 3; - string zustaendigeStelle = 4; - string createdAt = 5; - string createdBy = 6; - string createdByName = 7; - - string sentAt = 15; - string errorMessage = 16; -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/forwarding.proto b/src/test/resources/wiremock/proto/forwarding.proto deleted file mode 100644 index 0b0d5b0..0000000 --- a/src/test/resources/wiremock/proto/forwarding.proto +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.forwarding; - -import "callcontext.proto"; -import "forwarding.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.forwarding"; -option java_outer_classname = "ForwardingProto"; - - -service ForwardingService { - rpc FindForwardings(GrpcFindForwardingsRequest) returns (GrpcForwardingsResponse) { - } -} - -message GrpcFindForwardingsRequest { - de.ozgcloud.vorgang.grpc.command.GrpcCallContext context = 1; - string vorgangId = 2; -} - -message GrpcForwardingsResponse { - repeated GrpcForwarding forwardings = 1; -} diff --git a/src/test/resources/wiremock/proto/route-forwarding.model.proto b/src/test/resources/wiremock/proto/route-forwarding.model.proto deleted file mode 100644 index 46961d4..0000000 --- a/src/test/resources/wiremock/proto/route-forwarding.model.proto +++ /dev/null @@ -1,48 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.eingang.forwarder; - -import "vorgang.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.eingang.forwarding"; -option java_outer_classname = "RouteForwardingModelProto"; - - -message GrpcRouteForwardingRequest { - GrpcRouteCriteria routeCriteria = 1; - de.ozgcloud.vorgang.vorgang.GrpcEingang eingang = 5; -} - -message GrpcRouteForwardingResponse { - -} - -message GrpcRouteCriteria { - string gemeindeSchluessel = 1; - string webserviceUrl = 2; - string organisationseinheitenId = 3; -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/route-forwarding.proto b/src/test/resources/wiremock/proto/route-forwarding.proto deleted file mode 100644 index aeb0eef..0000000 --- a/src/test/resources/wiremock/proto/route-forwarding.proto +++ /dev/null @@ -1,39 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.eingang.forwarder; - -import "route-forwarding.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.eingang.forwarder"; -option java_outer_classname = "RouteForwardingProto"; - -service RouteForwardingService { - - rpc RouteForwarding(GrpcRouteForwardingRequest) returns (GrpcRouteForwardingResponse) { - } - -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/statistic.model.proto b/src/test/resources/wiremock/proto/statistic.model.proto deleted file mode 100644 index 7c90e61..0000000 --- a/src/test/resources/wiremock/proto/statistic.model.proto +++ /dev/null @@ -1,92 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.statistic; - -import "common.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.statistic"; -option java_outer_classname = "StatisticModelProto"; - -message GrpcVorgangCountRequest { - repeated string countByPath = 1; -} - -message GrpcByStatusResult { - int32 neu = 1; - int32 angenommen = 2; - int32 verworfen = 3; - int32 in_bearbeitung = 4; - int32 beschieden = 5; - int32 abgeschlossen = 6; - int32 weitergeleitet = 7; - -} - -message GrpcPathCountResult { - string name = 1; - int32 value = 2; -} - -message GrpcVorgangCountResponse { - GrpcByStatusResult byStatus = 1; - repeated GrpcPathCountResult pathCountResult = 2; -} - -message GrpcVorgangStatisticRequest { - repeated GrpcVorgangStatisticQuery query = 1; -} - -message GrpcVorgangStatisticQuery { - string resultName = 1; - GroupMethod groupMethod = 2; - string path = 3; - de.ozgcloud.vorgang.common.GrpcQueryOperator operator = 4; - oneof operand { - int32 operandIntValue = 5; - bool operandBoolValue = 6; - string operandStringValue = 7; - } - - enum GroupMethod { - COUNT = 0; - EXISTS = 1; - } - -} - -message GrpcVorgangStatisticResponse { - repeated GrpcVorgangStatisticResult result = 1; -} - -message GrpcVorgangStatisticResult { - string name = 1; - oneof result { - int32 resultIntValue = 2; - bool resultBoolValue = 3; - string resultStringValue = 4; - } -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/statistic.proto b/src/test/resources/wiremock/proto/statistic.proto deleted file mode 100644 index f571704..0000000 --- a/src/test/resources/wiremock/proto/statistic.proto +++ /dev/null @@ -1,38 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.statistic; - -import "statistic.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.statistic"; -option java_outer_classname = "StatisticProto"; - -service StatisticService { - rpc CountVorgang(GrpcVorgangCountRequest) returns (GrpcVorgangCountResponse); - - rpc GetVorgangStatistic(GrpcVorgangStatisticRequest) returns (GrpcVorgangStatisticResponse); -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/system.model.proto b/src/test/resources/wiremock/proto/system.model.proto deleted file mode 100644 index 81f9efd..0000000 --- a/src/test/resources/wiremock/proto/system.model.proto +++ /dev/null @@ -1,38 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.system; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.system"; -option java_outer_classname = "SystemStatusModelProto"; - -message GrpcGetSystemStatusRequest {} - -message GrpcGetSystemStatusResponse { - bool isSearchServerAvailable = 1; - string javaVersion = 2; - string buildVersion = 3; -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/system.proto b/src/test/resources/wiremock/proto/system.proto deleted file mode 100644 index ba413cd..0000000 --- a/src/test/resources/wiremock/proto/system.proto +++ /dev/null @@ -1,37 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.system; - -import "system.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.system"; -option java_outer_classname = "SystemStatusProto"; - -service SystemStatusService { - - rpc GetSystemStatus(GrpcGetSystemStatusRequest) returns (GrpcGetSystemStatusResponse); -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/vorgang.model.proto b/src/test/resources/wiremock/proto/vorgang.model.proto deleted file mode 100644 index 206498e..0000000 --- a/src/test/resources/wiremock/proto/vorgang.model.proto +++ /dev/null @@ -1,221 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.vorgang; - -import "clientattribute.model.proto"; -import "common.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.vorgang"; -option java_outer_classname = "VorgangModelProto"; - -message GrpcVorgangHeader { - string id = 1; - int64 version = 2; - string status = 3; - string name = 4; - string createdAt = 5; - string aktenzeichen = 6; - string assignedTo = 7; - string nummer = 8; - repeated de.ozgcloud.vorgang.grpc.clientAttribute.GrpcClientAttribute clientAttributes = 9; - string formEngineName = 15; -} - -message GrpcVorgangWithEingang { - string id = 1; - int64 version = 2; - string status = 3; - string name = 4; - string createdAt = 5; - string aktenzeichen = 6; - string assignedTo = 7; - string nummer = 8; - repeated de.ozgcloud.vorgang.grpc.clientAttribute.GrpcClientAttribute clientAttributes = 9; - - GrpcEingang eingang = 10; - string formEngineName = 15; - GrpcVorgangHead header = 16; -} - -message GrpcVorgangHead { - GrpcServiceKonto serviceKonto = 1; - GrpcLock lock = 2; -} - -message GrpcLock { - string clientName = 1; - string lockedSince = 2; - string reason = 3; -} - -message GrpcEingang { - string id = 1; - - GrpcEingangHeader header = 2; - GrpcAntragsteller antragsteller = 3; - GrpcZustaendigeStelle zustaendigeStelle = 4; - - GrpcFormData formData = 10; - - int32 numberOfAttachments = 11; - int32 numberOfRepresentations = 12; - - repeated GrpcIncomingFileGroup attachments = 20; - repeated GrpcIncomingFile representations = 21; -} - -message GrpcIncomingFileGroup { - string name = 1; - repeated GrpcIncomingFile files = 2; -} - -message GrpcIncomingFile { - string id = 1; - string vendorId = 2; - string name = 3; - string contentType = 4; - int64 size = 5; - bytes content = 6; -} - -message GrpcEingangHeader { - string requestId = 1; - string createdAt = 2; - string formId = 3; - string formName = 4; - string sender = 5; - string customer = 6 [deprecated = true]; - string customerId = 7 [deprecated = true]; - string client = 8 [deprecated = true]; - string clientId = 9 [deprecated = true]; - string formEngineName = 10; - GrpcServiceKonto serviceKonto = 11; - string vorgangNummer = 12; -} - -message GrpcServiceKonto { - string type = 1; - repeated GrpcPostfachAddress postfachAddresses = 2; - string trustLevel = 3; -} - -message GrpcPostfachAddress { - string version = 1; - de.ozgcloud.vorgang.common.GrpcObject identifier = 2; - int32 type = 3; -} - -message GrpcAntragsteller { - string anrede = 1; - string nachname = 2; - string vorname = 3; - string geburtsdatum = 4; - string geburtsort = 5; - string geburtsname = 6; - string email = 7; - string telefon = 8; - string strasse = 9; - string hausnummer = 10; - string plz = 11; - string ort = 12; - string postfachId = 13 [deprecated = true]; - - GrpcFormData otherData = 30; - string firmaName = 31; -} - -message GrpcFormData { - repeated GrpcFormField field = 1; - repeated GrpcSubForm form = 2; -} - -message GrpcFormField { - string name = 1; - string value = 2; - string label = 3; -} - -message GrpcSubForm { - string title = 1; - repeated GrpcFormField field = 2; - repeated GrpcSubForm subForm = 3; - string label = 4; - GrpcControlData controlData = 5; -} - -message GrpcControlData { - bool metadata = 1; -} - -message GrpcZustaendigeStelle { - string organisationseinheitenId = 1; - string email = 2; - string bezeichnung = 3; - string gemeindeSchluessel = 4; - string amtlicherRegionalSchluessel = 5; - string hausanschriftStrasse = 6; - string hausanschriftPlz = 7; - string hausanschriftOrt = 8; - string telefon = 9; -} - -message GrpcQuery { - GrpcLogicalOperator logicalOperator = 1; - repeated GrpcVorgangQueryExpression expressions = 2; - GrpcQuery nestedQuery = 3; -} - -enum GrpcLogicalOperator { - AND = 0; - OR = 1; -} - -message GrpcVorgangQueryExpression { - string path = 1; - de.ozgcloud.vorgang.common.GrpcQueryOperator operator = 2; - oneof operand { - int32 operandIntValue = 3; - bool operandBoolValue = 4; - string operandStringValue = 5; - } -} - -message GrpcCreateCollaborationVorgangRequest { - oneof request { - GrpcCreateCollaborationRequestData requestData = 1; - } -} - -message GrpcCreateCollaborationRequestData { - string vorgangId = 1; - int32 collaborationLevel = 2; - string organisationEinheitId = 3; -} - -message GrpcCreateCollaborationVorgangResponse { - string vorgangId = 1; -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/vorgang.proto b/src/test/resources/wiremock/proto/vorgang.proto deleted file mode 100644 index 2dbba69..0000000 --- a/src/test/resources/wiremock/proto/vorgang.proto +++ /dev/null @@ -1,110 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.vorgang; - -import "vorgang.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.vorgang"; -option java_outer_classname = "VorgangProto"; - -service VorgangService { - - rpc FindVorgang(GrpcFindVorgangRequest) returns (GrpcFindVorgangResponse) { - } - - rpc FindVorgangWithEingang(GrpcFindVorgangWithEingangRequest) returns (GrpcFindVorgangWithEingangResponse) { - } - - rpc StartCreation(GrpcCreateVorgangRequest) returns (GrpcCreateVorgangResponse) { - } - - rpc FinishCreation(GrpcFinishCreationRequest) returns (GrpcFinishCreationResponse) { - } - - rpc CreateCollaborationVorgang(GrpcCreateCollaborationVorgangRequest) returns (GrpcCreateCollaborationVorgangResponse) { - } -} - -message GrpcCreateVorgangRequest { - GrpcEingang eingang = 1; -} - -message GrpcCreateVorgangResponse { - string vorgangId = 1; - string message = 2; -} - -message GrpcFindVorgangRequest { - int32 offset = 1; - int32 limit = 2; - oneof request { - string searchBy = 3; - GrpcQuery query = 6; - } - GrpcFilterBy filterBy = 4; - GrpcOrderBy orderBy = 5; - - enum GrpcOrderBy { - PRIORITY = 0; - EA_PRIORITY = 1; - CREATED_AT_DESC = 2; - NEXT_WIEDERVORLAGE_FRIST = 3; - } -} - -message GrpcFindVorgangResponse { - int64 total = 1; - repeated GrpcVorgangHeader vorgang = 2; -} - -message GrpcFindVorgangWithEingangRequest { - string id = 1; - GrpcFilterBy filterBy = 2; -} - -message GrpcFilterBy { - bool filterByOrganisationseinheitenId = 1; - repeated string organisationseinheitId = 2; - repeated string status = 3; - string assignedTo = 4; - bool filterByAssignedTo = 5; - bool hasNextWiedervorlageFrist = 6 [deprecated = true]; -} - -message GrpcFindVorgangWithEingangResponse { - GrpcVorgangWithEingang vorgangWithEingang = 1; -} - -message GrpcFinishCreationRequest { - string vorgangId = 1; - repeated GrpcIncomingFileGroup attachments = 2; - repeated GrpcIncomingFile representations = 3; -} - -message GrpcFinishCreationResponse { - string message = 1; -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/vorgangattacheditem.model.proto b/src/test/resources/wiremock/proto/vorgangattacheditem.model.proto deleted file mode 100644 index 06971f3..0000000 --- a/src/test/resources/wiremock/proto/vorgangattacheditem.model.proto +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.vorgangAttachedItem; - -import "common.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.vorgangAttachedItem"; -option java_outer_classname = "VorgangAttachedItemModelProto"; - -message GrpcVorgangAttachedItem { - string id = 1; - int64 version = 2; - string client = 3; - string vorgangId = 4; - string itemName = 5; - de.ozgcloud.vorgang.common.GrpcObject item = 6; -} \ No newline at end of file diff --git a/src/test/resources/wiremock/proto/vorgangattacheditem.proto b/src/test/resources/wiremock/proto/vorgangattacheditem.proto deleted file mode 100644 index 38e41cc..0000000 --- a/src/test/resources/wiremock/proto/vorgangattacheditem.proto +++ /dev/null @@ -1,58 +0,0 @@ -/* - * 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. - */ -syntax = "proto3"; - -package de.ozgcloud.vorgang.vorgangAttachedItem; - -import "vorgangattacheditem.model.proto"; - -option java_multiple_files = true; -option java_package = "de.ozgcloud.vorgang.vorgangAttachedItem"; -option java_outer_classname = "VorgangAttachedItemProto"; - -service VorgangAttachedItemService { - rpc GetById(GrpcVorgangAttachedItemRequest) returns (GrpcVorgangAttachedItemResponse) { - } - - rpc Find(GrpcFindVorgangAttachedItemRequest) returns (GrpcFindVorgangAttachedItemResponse) { - } -} - -message GrpcVorgangAttachedItemRequest { - string id = 1; -} - -message GrpcVorgangAttachedItemResponse { - GrpcVorgangAttachedItem vorgangAttachedItem = 1; -} - -message GrpcFindVorgangAttachedItemRequest { - string vorgangId = 1; - string itemName = 2; - string client = 3; -} - -message GrpcFindVorgangAttachedItemResponse { - repeated GrpcVorgangAttachedItem vorgangAttachedItems = 1; -} \ No newline at end of file -- GitLab