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

Merge branch 'master' into knecht-root-recht-helmchart

parents b8207511 f313028d
No related branches found
No related tags found
No related merge requests found
Showing
with 112 additions and 37 deletions
......@@ -24,7 +24,9 @@
unter der Lizenz sind dem Lizenztext zu entnehmen.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>de.ozgcloud.common</groupId>
......@@ -55,9 +57,10 @@
<jandex-maven-plugin-version>1.2.3</jandex-maven-plugin-version>
<compiler-plugin.version>3.8.1</compiler-plugin.version>
<jacoco.plugin.version>0.8.8</jacoco.plugin.version>
<surefire-plugin.version>3.0.0-M7</surefire-plugin.version>
<maven-failsafe-plugin.version>3.0.0-M7</maven-failsafe-plugin.version>
<surefire-plugin.version>3.2.2</surefire-plugin.version>
<maven-failsafe-plugin.version>3.2.2</maven-failsafe-plugin.version>
<git-commit-id-plugin.version>4.9.10</git-commit-id-plugin.version>
<maven-source.plugin.version>3.3.0</maven-source.plugin.version>
</properties>
<modules>
......@@ -223,6 +226,19 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source.plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
......
......@@ -24,7 +24,9 @@
unter der Lizenz sind dem Lizenztext zu entnehmen.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
......@@ -39,10 +41,13 @@
<dependencies>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-grpc</artifactId>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
</dependency>
<!-- Java 9+ compatibility -->
<dependency>
<groupId>javax.annotation</groupId>
......@@ -51,6 +56,8 @@
</dependencies>
<build>
<sourceDirectory>src/main/proto</sourceDirectory>
<plugins>
<plugin>
<groupId>io.quarkus.platform</groupId>
......@@ -60,6 +67,11 @@
<groupId>org.jboss.jandex</groupId>
<artifactId>jandex-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
......@@ -70,6 +82,31 @@
</mapping>
</configuration>
</plugin>
<plugin>
<groupId>com.github.os72</groupId>
<artifactId>protoc-jar-maven-plugin</artifactId>
<version>${protoc-jar-plugin.version}</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<outputTargets>
<outputTarget>
<type>java</type>
</outputTarget>
<outputTarget>
<type>grpc-java</type>
<pluginArtifact>io.grpc:protoc-gen-grpc-java:1.60.0</pluginArtifact>
</outputTarget>
</outputTargets>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
......@@ -32,3 +32,6 @@ option java_outer_classname = "OrganisationsEinheitModelProto";
message GrpcOrganisationsEinheit {
string organisationsEinheitId = 1;
}
message GrpcGetSupportedOrganisationsEinheitenRequest {
}
\ No newline at end of file
......@@ -22,7 +22,6 @@
* unter der Lizenz sind dem Lizenztext zu entnehmen.
*/
syntax = "proto3";
import "google/protobuf/empty.proto";
import "organisationseinheit.model.proto";
package de.ozgcloud.user.grpc;
......@@ -32,7 +31,7 @@ option java_package = "de.ozgcloud.user.grpc.organisationseinheit";
option java_outer_classname = "OrganisationsEinheitProto";
service OrganisationsEinheitService {
rpc GetSupportedOrganisationsEinheiten(google.protobuf.Empty) returns (GrpcGetSupportedOrganisationsEinheitenResponse);
rpc GetSupportedOrganisationsEinheiten(GrpcGetSupportedOrganisationsEinheitenRequest) returns (GrpcGetSupportedOrganisationsEinheitenResponse);
}
message GrpcGetSupportedOrganisationsEinheitenResponse {
......
......@@ -33,6 +33,7 @@ message GrpcUserProfile {
string id = 1;
string firstName = 2;
string lastName = 3;
string email = 4;
}
......@@ -55,3 +56,9 @@ message GrpcUserProfileId {
message GrpcDeleteInactiveUserRequest {
string userId = 1;
}
message GrpcFindInactiveUserIdsRequest {
}
message GrpcDeleteInactiveUserResponse {
}
\ No newline at end of file
......@@ -26,7 +26,6 @@ syntax = "proto3";
package de.ozgcloud.user.grpc;
import "userprofile.model.proto";
import "google/protobuf/empty.proto";
option java_multiple_files = true;
option java_package = "de.ozgcloud.user.grpc.userprofile";
......@@ -38,8 +37,8 @@ service UserProfileService {
rpc GetByExternalId(GrpcGetUserProfileRequest) returns (GrpcGetUserProfileResponse);
rpc FindInactiveUserIds(google.protobuf.Empty) returns (GrpcFindInactiveUserIdsResponse);
rpc FindInactiveUserIds(GrpcFindInactiveUserIdsRequest) returns (GrpcFindInactiveUserIdsResponse);
rpc DeleteInactiveUser(GrpcDeleteInactiveUserRequest) returns (google.protobuf.Empty);
rpc DeleteInactiveUser(GrpcDeleteInactiveUserRequest) returns (GrpcDeleteInactiveUserResponse);
}
\ No newline at end of file
......@@ -114,6 +114,10 @@
<groupId>io.quarkus</groupId>
<artifactId>quarkus-scheduler</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-grpc</artifactId>
</dependency>
<!-- Logging -->
<dependency>
......
......@@ -27,8 +27,6 @@ import java.util.Collection;
import jakarta.inject.Inject;
import com.google.protobuf.Empty;
import de.ozgcloud.user.grpc.organisationseinheit.GrpcGetSupportedOrganisationsEinheitenResponse;
import de.ozgcloud.user.grpc.organisationseinheit.OrganisationsEinheitServiceGrpc.OrganisationsEinheitServiceImplBase;
import io.grpc.stub.StreamObserver;
......@@ -41,7 +39,8 @@ public class OrganisationsEinheitGrpcService extends OrganisationsEinheitService
OrganisationsEinheitService organisationsEinheitService;
@Override
public void getSupportedOrganisationsEinheiten(Empty request, StreamObserver<GrpcGetSupportedOrganisationsEinheitenResponse> responseObserver) {
public void getSupportedOrganisationsEinheiten(GrpcGetSupportedOrganisationsEinheitenRequest request,
StreamObserver<GrpcGetSupportedOrganisationsEinheitenResponse> responseObserver) {
var organisationsEinheitIds = organisationsEinheitService.findAllOrganisationsEinheitIds();
var response = GrpcGetSupportedOrganisationsEinheitenResponse.newBuilder()
.addAllOrganisationseinheiten(mapToGrpc(organisationsEinheitIds))
......
......@@ -27,8 +27,6 @@ import java.util.stream.Stream;
import jakarta.inject.Inject;
import com.google.protobuf.Empty;
import de.ozgcloud.user.User;
import de.ozgcloud.user.UserService;
import de.ozgcloud.user.grpc.userprofile.UserProfileServiceGrpc.UserProfileServiceImplBase;
......@@ -65,7 +63,7 @@ public class UserProfileGrpcService extends UserProfileServiceImplBase {
}
@Override
public void findInactiveUserIds(Empty request, StreamObserver<GrpcFindInactiveUserIdsResponse> responseObserver) {
public void findInactiveUserIds(GrpcFindInactiveUserIdsRequest request, StreamObserver<GrpcFindInactiveUserIdsResponse> responseObserver) {
var userIds = service.findAllInactiveUserIds();
responseObserver.onNext(buildGrpcGetInactiveUserIdsResponse(userIds));
......@@ -79,10 +77,10 @@ public class UserProfileGrpcService extends UserProfileServiceImplBase {
}
@Override
public void deleteInactiveUser(GrpcDeleteInactiveUserRequest request, StreamObserver<Empty> responseObserver) {
public void deleteInactiveUser(GrpcDeleteInactiveUserRequest request, StreamObserver<GrpcDeleteInactiveUserResponse> responseObserver) {
service.deleteInactive(request.getUserId());
responseObserver.onNext(Empty.getDefaultInstance());
responseObserver.onNext(GrpcDeleteInactiveUserResponse.newBuilder().build());
responseObserver.onCompleted();
}
}
\ No newline at end of file
......@@ -25,16 +25,26 @@ package de.ozgcloud.user.userprofile;
import org.bson.types.ObjectId;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.NullValueCheckStrategy;
import org.mapstruct.ReportingPolicy;
import de.ozgcloud.user.User;
@Mapper(unmappedTargetPolicy = ReportingPolicy.WARN, //
unmappedSourcePolicy = ReportingPolicy.WARN, //
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
interface UserProfileMapper {
@Mapping(target = "emailBytes", ignore = true)
@Mapping(target = "mergeFrom", ignore = true)
@Mapping(target = "clearField", ignore = true)
@Mapping(target = "clearOneof", ignore = true)
@Mapping(target = "mergeUnknownFields", ignore = true)
@Mapping(target = "firstNameBytes", ignore = true)
@Mapping(target = "idBytes", ignore = true)
@Mapping(target = "lastNameBytes", ignore = true)
@Mapping(target = "unknownFields", ignore = true)
@Mapping(target = "allFields", ignore = true)
GrpcUserProfile mapTo(User userProfile);
default String toString(ObjectId objectId) {
......
......@@ -3,11 +3,11 @@ package de.ozgcloud.user.organisationseinheit;
import static org.mockito.ArgumentMatchers.*;
import static org.mockito.Mockito.*;
import org.apache.commons.lang3.StringUtils;
import org.bson.conversions.Bson;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
import org.mockito.Mock;
import org.mockito.Spy;
import com.mongodb.client.DistinctIterable;
......@@ -25,16 +25,16 @@ class OrganisationsEinheitRepositoryTest {
@DisplayName("Test find Organisationseinheiten Ids")
@Nested
class TestFindOrganisationsEinheitIds {
private MongoCollection mongoCollection = mock(MongoCollection.class);
private MongoCursor mongoCursor = mock(MongoCursor.class);
@Mock
private MongoCollection<?> mongoCollection;
@Mock
private MongoCursor<String> mongoCursor;
@Test
void shouldFindAllOrganisationsEinheitIds() {
var iterable = mock(DistinctIterable.class);
when(iterable.iterator()).thenReturn(mongoCursor);
doReturn(mongoCollection).when(organisationsEinheitRepository).mongoCollection();
when(mongoCursor.next()).thenReturn(StringUtils.EMPTY);
when(mongoCollection.distinct(anyString(), any(Bson.class), any())).thenReturn(iterable);
organisationsEinheitRepository.findAllOrganisationsEinheitIds();
......
......@@ -8,8 +8,6 @@ import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import com.google.protobuf.Empty;
import de.ozgcloud.user.grpc.organisationseinheit.GrpcGetSupportedOrganisationsEinheitenResponse;
import io.grpc.stub.StreamObserver;
......@@ -31,7 +29,7 @@ public class OrganisationseinheitGrpcServiceTest {
@Test
void shouldGetOrganisationsEinheiten() {
organisationsEinheitGrpcService.getSupportedOrganisationsEinheiten(
Empty.getDefaultInstance(),
GrpcGetSupportedOrganisationsEinheitenRequest.newBuilder().build(),
streamObserver);
verify(organisationsEinheitService).findAllOrganisationsEinheitIds();
......
......@@ -40,8 +40,6 @@ import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Spy;
import com.google.protobuf.Empty;
import de.ozgcloud.user.User;
import de.ozgcloud.user.UserService;
import de.ozgcloud.user.UserTestFactory;
......@@ -216,7 +214,7 @@ class UserProfileGrpcServiceTest {
}
private void callService() {
grpcService.findInactiveUserIds(Empty.getDefaultInstance(), streamObserver);
grpcService.findInactiveUserIds(GrpcFindInactiveUserIdsRequest.newBuilder().build(), streamObserver);
}
}
......@@ -224,7 +222,7 @@ class UserProfileGrpcServiceTest {
class TestDeleteInactiveUser {
@Mock
private StreamObserver<Empty> streamObserver;
private StreamObserver<GrpcDeleteInactiveUserResponse> streamObserver;
@Test
void shouldCallService() {
......@@ -237,7 +235,7 @@ class UserProfileGrpcServiceTest {
void shouldCallOnNext() {
callService();
verify(streamObserver).onNext(Empty.getDefaultInstance());
verify(streamObserver).onNext(GrpcDeleteInactiveUserResponse.newBuilder().build());
}
@Test
......
......@@ -56,6 +56,13 @@ class UserProfileMapperTest {
assertThat(userProfile.getLastName()).isEqualTo(UserTestFactory.LAST_NAME);
}
@Test
void shouldMapEMail() {
var userProfile = map();
assertThat(userProfile.getEmail()).isEqualTo(UserTestFactory.EMAIL);
}
@Test
void shouldMapId() {
var userProfile = map();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment