From fd6480ba0aafa631cd85f7246e8f08df1fc7ab73 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Tue, 20 Sep 2022 11:17:26 +0200 Subject: [PATCH] OZG-2626,OZG-2892 add subproject with protobuf --- .gitignore | 2 +- pom.xml | 325 +---------------- user-manager-interface/pom.xml | 81 +++++ .../main/protobuf/usermanager_service.proto | 25 ++ .../.mvn}/wrapper/maven-wrapper.jar | Bin .../.mvn}/wrapper/maven-wrapper.properties | 0 lombok.config => user-manager/lombok.config | 0 user-manager/pom.xml | 326 ++++++++++++++++++ .../src}/main/docker/Dockerfile.jvm | 0 .../src}/main/docker/Dockerfile.legacy-jar | 0 .../src}/main/docker/Dockerfile.native | 0 .../src}/main/docker/Dockerfile.native-micro | 0 .../src}/main/docker/Dockerfile.quarkus | 0 .../src}/main/docker/README.md | 0 .../java/de/itvsh/kop/user/LivenessCheck.java | 0 .../de/itvsh/kop/user/RemoteUserIterator.java | 0 .../main/java/de/itvsh/kop/user/User.java | 0 .../de/itvsh/kop/user/UserRepository.java | 0 .../de/itvsh/kop/user/UserResourceMapper.java | 0 .../java/de/itvsh/kop/user/UserService.java | 0 .../KeycloakClientException.java | 0 .../KeycloakUnavailableException.java | 0 .../errorhandling/LockCreationException.java | 0 .../errorhandling/TechnicalException.java | 0 .../errorhandling/UserNotFoundException.java | 0 .../user/keycloak/KeycloakApiProperties.java | 0 .../kop/user/keycloak/KeycloakApiService.java | 0 .../kop/user/keycloak/KeycloakProvider.java | 0 .../keycloak/KeycloakUserRemoteService.java | 0 .../java/de/itvsh/kop/user/sync/Lock.java | 0 .../itvsh/kop/user/sync/LockRepository.java | 0 .../de/itvsh/kop/user/sync/LockService.java | 0 .../de/itvsh/kop/user/sync/SyncScheduler.java | 0 .../de/itvsh/kop/user/sync/SyncService.java | 0 .../resources/META-INF/resources/index.html | 0 .../src}/main/resources/application-dev.yaml | 0 .../main/resources/application-local.yaml | 0 .../main/resources/application-remotekc.yaml | 0 .../src}/main/resources/application.yaml | 0 .../user/GroupRepresentationTestFactory.java | 0 .../de/itvsh/kop/user/UserRepositoryTest.java | 0 .../user/UserRepresentationTestFactory.java | 0 .../kop/user/UserResourceMapperTest.java | 0 .../de/itvsh/kop/user/UserResourceStub.java | 0 .../kop/user/UserResourceTestFactory.java | 0 .../de/itvsh/kop/user/UserServiceTest.java | 0 .../de/itvsh/kop/user/UserTestFactory.java | 0 .../keycloak/KeycloakApiServiceITCase.java | 0 .../user/keycloak/KeycloakApiServiceTest.java | 0 .../user/keycloak/KeycloakProviderITCase.java | 0 .../user/keycloak/KeycloakTestProfile.java | 0 .../KeycloakUserRemoteServiceITCase.java | 0 .../KeycloakUserRemoteServiceTest.java | 0 .../kop/user/sync/LockRepositoryTest.java | 0 .../itvsh/kop/user/sync/LockServiceTest.java | 0 .../itvsh/kop/user/sync/LockTestFactory.java | 0 .../kop/user/sync/SyncSchedulerTest.java | 0 .../kop/user/sync/SyncServiceITCase.java | 0 .../itvsh/kop/user/sync/SyncServiceTest.java | 0 .../META-INF/keycloak/dev-realm.json | 0 .../org.junit.jupiter.api.extension.Extension | 0 61 files changed, 444 insertions(+), 315 deletions(-) create mode 100644 user-manager-interface/pom.xml create mode 100644 user-manager-interface/src/main/protobuf/usermanager_service.proto rename {.mvn => user-manager/.mvn}/wrapper/maven-wrapper.jar (100%) rename {.mvn => user-manager/.mvn}/wrapper/maven-wrapper.properties (100%) rename lombok.config => user-manager/lombok.config (100%) create mode 100644 user-manager/pom.xml rename {src => user-manager/src}/main/docker/Dockerfile.jvm (100%) rename {src => user-manager/src}/main/docker/Dockerfile.legacy-jar (100%) rename {src => user-manager/src}/main/docker/Dockerfile.native (100%) rename {src => user-manager/src}/main/docker/Dockerfile.native-micro (100%) rename {src => user-manager/src}/main/docker/Dockerfile.quarkus (100%) rename {src => user-manager/src}/main/docker/README.md (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/LivenessCheck.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/RemoteUserIterator.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/User.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/UserRepository.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/UserResourceMapper.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/UserService.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/common/errorhandling/KeycloakClientException.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/common/errorhandling/KeycloakUnavailableException.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/common/errorhandling/LockCreationException.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/common/errorhandling/TechnicalException.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/common/errorhandling/UserNotFoundException.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/keycloak/KeycloakApiProperties.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/sync/Lock.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/sync/LockRepository.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/sync/LockService.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/sync/SyncScheduler.java (100%) rename {src => user-manager/src}/main/java/de/itvsh/kop/user/sync/SyncService.java (100%) rename {src => user-manager/src}/main/resources/META-INF/resources/index.html (100%) rename {src => user-manager/src}/main/resources/application-dev.yaml (100%) rename {src => user-manager/src}/main/resources/application-local.yaml (100%) rename {src => user-manager/src}/main/resources/application-remotekc.yaml (100%) rename {src => user-manager/src}/main/resources/application.yaml (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/GroupRepresentationTestFactory.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/UserRepositoryTest.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/UserRepresentationTestFactory.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/UserResourceMapperTest.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/UserResourceStub.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/UserResourceTestFactory.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/UserServiceTest.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/UserTestFactory.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceTest.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/keycloak/KeycloakTestProfile.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceTest.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/sync/LockRepositoryTest.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/sync/LockServiceTest.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/sync/LockTestFactory.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/sync/SyncSchedulerTest.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/sync/SyncServiceITCase.java (100%) rename {src => user-manager/src}/test/java/de/itvsh/kop/user/sync/SyncServiceTest.java (100%) rename {src => user-manager/src}/test/resources/META-INF/keycloak/dev-realm.json (100%) rename {src => user-manager/src}/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension (100%) diff --git a/.gitignore b/.gitignore index 3fc1d884..a09bba8b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ HELP.md target/ -!.mvn/wrapper/maven-wrapper.jar +!user-manager/.mvn/wrapper/maven-wrapper.jar !**/src/main/**/target/ !**/src/test/**/target/ diff --git a/pom.xml b/pom.xml index 2eedc3b3..cd91faff 100644 --- a/pom.xml +++ b/pom.xml @@ -1,321 +1,17 @@ -<?xml version="1.0"?> -<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <modelVersion>4.0.0</modelVersion> +<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"> - <groupId>de.itvsh.kop.user</groupId> - <artifactId>user-manager</artifactId> + <modelVersion>4.0.0</modelVersion> + <groupId>de.itvsh.ozg</groupId> + <artifactId>pluto</artifactId> <version>0.2.0-SNAPSHOT</version> - <name>Kop UserManager</name> - - <properties> - <skipITs>true</skipITs> - - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> - <compiler-plugin.version>3.8.1</compiler-plugin.version> - <maven.compiler.release>17</maven.compiler.release> - - <kop-common.version>1.1.4-SNAPSHOT</kop-common.version> - - <jacoco.plugin.version>0.8.8</jacoco.plugin.version> - <quarkus.platform.version>2.10.3.Final</quarkus.platform.version> - <surefire-plugin.version>3.0.0-M7</surefire-plugin.version> - <maven-failsafe-plugin.version>3.0.0-M7</maven-failsafe-plugin.version> - <git-commit-id-plugin.version>4.9.10</git-commit-id-plugin.version> - <quarkus-logging-json.version>1.1.1</quarkus-logging-json.version> - - <!-- Versions already declared in kop-common-dependencies bom -> use bom as parent!? --> - <mapstruct.version>1.5.1.Final</mapstruct.version> - <lombok.version>1.18.24</lombok.version> - <commons-lang3.version>3.12.0</commons-lang3.version> - </properties> - - <dependencyManagement> - <dependencies> - <dependency> - <groupId>io.quarkus.platform</groupId> - <artifactId>quarkus-bom</artifactId> - <version>${quarkus.platform.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - <dependency> - <groupId>de.itvsh.kop.common</groupId> - <artifactId>kop-common-dependencies</artifactId> - <version>${kop-common.version}</version> - <type>pom</type> - <scope>import</scope> - </dependency> - </dependencies> - </dependencyManagement> - - <dependencies> - <!-- Quarkus --> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-resteasy-reactive-jackson</artifactId> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-arc</artifactId> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-config-yaml</artifactId> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-micrometer-registry-prometheus</artifactId> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-smallrye-health</artifactId> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-keycloak-admin-client</artifactId> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-mongodb-client</artifactId> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-mongodb-panache</artifactId> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-resteasy-reactive</artifactId> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-scheduler</artifactId> - </dependency> - <dependency> - <groupId>org.projectlombok</groupId> - <artifactId>lombok</artifactId> - </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-lang3</artifactId> - </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-collections4</artifactId> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-oidc</artifactId> - </dependency> - - <!-- Logging --> - <dependency> - <groupId>io.quarkiverse.loggingjson</groupId> - <artifactId>quarkus-logging-json</artifactId> - <version>${quarkus-logging-json.version}</version> - </dependency> - <dependency> - <groupId>org.jboss.logmanager</groupId> - <artifactId>log4j2-jboss-logmanager</artifactId> - </dependency> - - <!-- Tools --> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-jacoco</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-container-image-jib</artifactId> - </dependency> - <dependency> - <groupId>org.mapstruct</groupId> - <artifactId>mapstruct</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-test-keycloak-server</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.mapstruct</groupId> - <artifactId>mapstruct-processor</artifactId> - <version>${mapstruct.version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>com.thedeanda</groupId> - <artifactId>lorem</artifactId> - <scope>test</scope> - </dependency> - - <!-- Test --> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-junit5</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-junit5-mockito</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>io.quarkus</groupId> - <artifactId>quarkus-panache-mock</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>io.rest-assured</groupId> - <artifactId>rest-assured</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.assertj</groupId> - <artifactId>assertj-core</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-junit-jupiter</artifactId> - <scope>test</scope> - </dependency> - </dependencies> - <build> - <plugins> - <plugin> - <groupId>io.quarkus.platform</groupId> - <artifactId>quarkus-maven-plugin</artifactId> - <version>${quarkus.platform.version}</version> - <extensions>true</extensions> - <executions> - <execution> - <goals> - <goal>build</goal> - <goal>generate-code</goal> - <goal>generate-code-tests</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <artifactId>maven-compiler-plugin</artifactId> - <version>${compiler-plugin.version}</version> - <configuration> - <fork>true</fork> - <annotationProcessorPaths> - <path> - <groupId>org.projectlombok</groupId> - <artifactId>lombok</artifactId> - <version>${lombok.version}</version> - </path> - <path> - <groupId>org.mapstruct</groupId> - <artifactId>mapstruct-processor</artifactId> - <version>${mapstruct.version}</version> - </path> - <!-- other annotation processors --> - </annotationProcessorPaths> - <showWarnings>true</showWarnings> - <compilerArgs> - <arg>-parameters</arg> - <compilerArg> - -Amapstruct.defaultComponentModel=cdi - </compilerArg> - <compilerArg> - -Amapstruct.unmappedTargetPolicy=WARN - </compilerArg> - </compilerArgs> - </configuration> - </plugin> - <plugin> - <artifactId>maven-surefire-plugin</artifactId> - <version>${surefire-plugin.version}</version> - <configuration> - <systemPropertyVariables> - <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager> - <maven.home>${maven.home}</maven.home> - </systemPropertyVariables> - </configuration> - </plugin> - <plugin> - <artifactId>maven-failsafe-plugin</artifactId> - <version>${maven-failsafe-plugin.version}</version> - <executions> - <execution> - <goals> - <goal>integration-test</goal> - <goal>verify</goal> - </goals> - <configuration> - <systemPropertyVariables> - <native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path> - <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager> - <maven.home>${maven.home}</maven.home> - </systemPropertyVariables> - </configuration> - </execution> - </executions> - <configuration> - <argLine>${surefire.jacoco.args}</argLine> - <classesDirectory>${project.build.outputDirectory}</classesDirectory> - </configuration> - </plugin> - <plugin> - <groupId>pl.project13.maven</groupId> - <artifactId>git-commit-id-plugin</artifactId> - <version>${git-commit-id-plugin.version}</version> - <executions> - <execution> - <id>get-the-git-infos</id> - <phase>initialize</phase> - <goals> - <goal>revision</goal> - </goals> - </execution> - </executions> - <configuration> - <offline>true</offline> - </configuration> - </plugin> - <plugin> - <groupId>org.jacoco</groupId> - <artifactId>jacoco-maven-plugin</artifactId> - <version>${jacoco.plugin.version}</version> - <executions> - <execution> - <id>start-agent</id> - <goals> - <goal>prepare-agent</goal> - </goals> - <configuration> - <propertyName>surefire.jacoco.args</propertyName> - </configuration> - </execution> - <execution> - <id>generate-report</id> - <phase>package</phase> - <goals> - <goal>report</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> + <name>User Manager Parent</name> + <packaging>pom</packaging> - <profiles> - <profile> - <id>native</id> - <properties> - <skipITs>false</skipITs> - <quarkus.package.type>native</quarkus.package.type> - </properties> - </profile> - </profiles> + <modules> + <module>user-manager</module> + <module>user-manager-interface</module> + </modules> <distributionManagement> <repository> @@ -330,3 +26,4 @@ </snapshotRepository> </distributionManagement> </project> + diff --git a/user-manager-interface/pom.xml b/user-manager-interface/pom.xml new file mode 100644 index 00000000..eb586548 --- /dev/null +++ b/user-manager-interface/pom.xml @@ -0,0 +1,81 @@ +<?xml version="1.0"?> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>de.itvsh.kop.common</groupId> + <artifactId>kop-common-dependencies</artifactId> + <version>1.2.0-SNAPSHOT</version> + <relativePath/> + </parent> + + <groupId>de.itvsh.kop.user</groupId> + <artifactId>user-manager-interface</artifactId> + <version>0.2.0-SNAPSHOT</version> + + <name>UserManager Interface</name> + <description>gRPC Interface for User Manager</description> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + + <java.version>17</java.version> + <maven.compiler.source>${java.version}</maven.compiler.source> + <maven.compiler.target>${java.version}</maven.compiler.target> + </properties> + + <dependencies> + <!-- GRPC --> + <dependency> + <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> + <artifactId>javax.annotation-api</artifactId> + </dependency> + </dependencies> + + <build> + <extensions> + <extension> + <groupId>kr.motd.maven</groupId> + <artifactId>os-maven-plugin</artifactId> + </extension> + </extensions> + + <plugins> + <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.47.0</pluginArtifact> + </outputTarget> + </outputTargets> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file diff --git a/user-manager-interface/src/main/protobuf/usermanager_service.proto b/user-manager-interface/src/main/protobuf/usermanager_service.proto new file mode 100644 index 00000000..dc1d12b8 --- /dev/null +++ b/user-manager-interface/src/main/protobuf/usermanager_service.proto @@ -0,0 +1,25 @@ +syntax = "proto3"; + +package de.itvsh.kop.user.grpc; + +option java_multiple_files = true; +option java_package = "de.itvsh.kop.user.grpc"; +option java_outer_classname = "UserManagerServiceProto"; + +message RecipientSearchRequest { + string organisationseinheitId = 1; +} + +message Recipient { + string firstName = 1; + string lastName = 2; + string email = 3; +} + +message RecipientSearchResponse { + repeated Recipient recipients = 1; +} + +service RecipientService { + rpc findRecipientByOrganisationsEinheitId(RecipientSearchRequest) returns (RecipientSearchResponse); +} \ No newline at end of file diff --git a/.mvn/wrapper/maven-wrapper.jar b/user-manager/.mvn/wrapper/maven-wrapper.jar similarity index 100% rename from .mvn/wrapper/maven-wrapper.jar rename to user-manager/.mvn/wrapper/maven-wrapper.jar diff --git a/.mvn/wrapper/maven-wrapper.properties b/user-manager/.mvn/wrapper/maven-wrapper.properties similarity index 100% rename from .mvn/wrapper/maven-wrapper.properties rename to user-manager/.mvn/wrapper/maven-wrapper.properties diff --git a/lombok.config b/user-manager/lombok.config similarity index 100% rename from lombok.config rename to user-manager/lombok.config diff --git a/user-manager/pom.xml b/user-manager/pom.xml new file mode 100644 index 00000000..41186509 --- /dev/null +++ b/user-manager/pom.xml @@ -0,0 +1,326 @@ +<?xml version="1.0"?> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + + <groupId>de.itvsh.kop.user</groupId> + <artifactId>user-manager</artifactId> + <version>0.2.0-SNAPSHOT</version> + <name>Kop UserManager</name> + + <properties> + <skipITs>true</skipITs> + + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + <compiler-plugin.version>3.8.1</compiler-plugin.version> + <maven.compiler.release>17</maven.compiler.release> + + <kop-common.version>1.1.4-SNAPSHOT</kop-common.version> + + <jacoco.plugin.version>0.8.8</jacoco.plugin.version> + <quarkus.platform.version>2.10.3.Final</quarkus.platform.version> + <surefire-plugin.version>3.0.0-M7</surefire-plugin.version> + <maven-failsafe-plugin.version>3.0.0-M7</maven-failsafe-plugin.version> + <git-commit-id-plugin.version>4.9.10</git-commit-id-plugin.version> + <quarkus-logging-json.version>1.1.1</quarkus-logging-json.version> + + <!-- Versions already declared in kop-common-dependencies bom -> use bom as parent!? --> + <mapstruct.version>1.5.1.Final</mapstruct.version> + <lombok.version>1.18.24</lombok.version> + <commons-lang3.version>3.12.0</commons-lang3.version> + </properties> + + <dependencyManagement> + <dependencies> + <!-- Quarkus --> + <dependency> + <groupId>io.quarkus.platform</groupId> + <artifactId>quarkus-bom</artifactId> + <version>${quarkus.platform.version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <dependency> + <groupId>de.itvsh.kop.common</groupId> + <artifactId>kop-common-dependencies</artifactId> + <version>${kop-common.version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + </dependencies> + </dependencyManagement> + + <dependencies> + <dependency> + <groupId>de.itvsh.kop.user</groupId> + <artifactId>user-manager-interface</artifactId> + <version>${project.version}</version> + </dependency> + <!-- Quarkus --> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-resteasy-reactive-jackson</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-arc</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-config-yaml</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-micrometer-registry-prometheus</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-smallrye-health</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-keycloak-admin-client</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-mongodb-client</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-mongodb-panache</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-resteasy-reactive</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-scheduler</artifactId> + </dependency> + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-collections4</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-oidc</artifactId> + </dependency> + + <!-- Logging --> + <dependency> + <groupId>io.quarkiverse.loggingjson</groupId> + <artifactId>quarkus-logging-json</artifactId> + <version>${quarkus-logging-json.version}</version> + </dependency> + <dependency> + <groupId>org.jboss.logmanager</groupId> + <artifactId>log4j2-jboss-logmanager</artifactId> + </dependency> + + <!-- Tools --> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-jacoco</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-container-image-jib</artifactId> + </dependency> + <dependency> + <groupId>org.mapstruct</groupId> + <artifactId>mapstruct</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-test-keycloak-server</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.mapstruct</groupId> + <artifactId>mapstruct-processor</artifactId> + <version>${mapstruct.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.thedeanda</groupId> + <artifactId>lorem</artifactId> + <scope>test</scope> + </dependency> + + <!-- Test --> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-junit5</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-junit5-mockito</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-panache-mock</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>io.rest-assured</groupId> + <artifactId>rest-assured</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.assertj</groupId> + <artifactId>assertj-core</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-junit-jupiter</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>io.quarkus.platform</groupId> + <artifactId>quarkus-maven-plugin</artifactId> + <version>${quarkus.platform.version}</version> + <extensions>true</extensions> + <executions> + <execution> + <goals> + <goal>build</goal> + <goal>generate-code</goal> + <goal>generate-code-tests</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>${compiler-plugin.version}</version> + <configuration> + <fork>true</fork> + <annotationProcessorPaths> + <path> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <version>${lombok.version}</version> + </path> + <path> + <groupId>org.mapstruct</groupId> + <artifactId>mapstruct-processor</artifactId> + <version>${mapstruct.version}</version> + </path> + <!-- other annotation processors --> + </annotationProcessorPaths> + <showWarnings>true</showWarnings> + <compilerArgs> + <arg>-parameters</arg> + <compilerArg> + -Amapstruct.defaultComponentModel=cdi + </compilerArg> + <compilerArg> + -Amapstruct.unmappedTargetPolicy=WARN + </compilerArg> + </compilerArgs> + </configuration> + </plugin> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <version>${surefire-plugin.version}</version> + <configuration> + <systemPropertyVariables> + <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager> + <maven.home>${maven.home}</maven.home> + </systemPropertyVariables> + </configuration> + </plugin> + <plugin> + <artifactId>maven-failsafe-plugin</artifactId> + <version>${maven-failsafe-plugin.version}</version> + <executions> + <execution> + <goals> + <goal>integration-test</goal> + <goal>verify</goal> + </goals> + <configuration> + <systemPropertyVariables> + <native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path> + <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager> + <maven.home>${maven.home}</maven.home> + </systemPropertyVariables> + </configuration> + </execution> + </executions> + <configuration> + <argLine>${surefire.jacoco.args}</argLine> + <classesDirectory>${project.build.outputDirectory}</classesDirectory> + </configuration> + </plugin> + <plugin> + <groupId>pl.project13.maven</groupId> + <artifactId>git-commit-id-plugin</artifactId> + <version>${git-commit-id-plugin.version}</version> + <executions> + <execution> + <id>get-the-git-infos</id> + <phase>initialize</phase> + <goals> + <goal>revision</goal> + </goals> + </execution> + </executions> + <configuration> + <offline>true</offline> + </configuration> + </plugin> + <plugin> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + <version>${jacoco.plugin.version}</version> + <executions> + <execution> + <id>start-agent</id> + <goals> + <goal>prepare-agent</goal> + </goals> + <configuration> + <propertyName>surefire.jacoco.args</propertyName> + </configuration> + </execution> + <execution> + <id>generate-report</id> + <phase>package</phase> + <goals> + <goal>report</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <profiles> + <profile> + <id>native</id> + <properties> + <skipITs>false</skipITs> + <quarkus.package.type>native</quarkus.package.type> + </properties> + </profile> + </profiles> + +</project> diff --git a/src/main/docker/Dockerfile.jvm b/user-manager/src/main/docker/Dockerfile.jvm similarity index 100% rename from src/main/docker/Dockerfile.jvm rename to user-manager/src/main/docker/Dockerfile.jvm diff --git a/src/main/docker/Dockerfile.legacy-jar b/user-manager/src/main/docker/Dockerfile.legacy-jar similarity index 100% rename from src/main/docker/Dockerfile.legacy-jar rename to user-manager/src/main/docker/Dockerfile.legacy-jar diff --git a/src/main/docker/Dockerfile.native b/user-manager/src/main/docker/Dockerfile.native similarity index 100% rename from src/main/docker/Dockerfile.native rename to user-manager/src/main/docker/Dockerfile.native diff --git a/src/main/docker/Dockerfile.native-micro b/user-manager/src/main/docker/Dockerfile.native-micro similarity index 100% rename from src/main/docker/Dockerfile.native-micro rename to user-manager/src/main/docker/Dockerfile.native-micro diff --git a/src/main/docker/Dockerfile.quarkus b/user-manager/src/main/docker/Dockerfile.quarkus similarity index 100% rename from src/main/docker/Dockerfile.quarkus rename to user-manager/src/main/docker/Dockerfile.quarkus diff --git a/src/main/docker/README.md b/user-manager/src/main/docker/README.md similarity index 100% rename from src/main/docker/README.md rename to user-manager/src/main/docker/README.md diff --git a/src/main/java/de/itvsh/kop/user/LivenessCheck.java b/user-manager/src/main/java/de/itvsh/kop/user/LivenessCheck.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/LivenessCheck.java rename to user-manager/src/main/java/de/itvsh/kop/user/LivenessCheck.java diff --git a/src/main/java/de/itvsh/kop/user/RemoteUserIterator.java b/user-manager/src/main/java/de/itvsh/kop/user/RemoteUserIterator.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/RemoteUserIterator.java rename to user-manager/src/main/java/de/itvsh/kop/user/RemoteUserIterator.java diff --git a/src/main/java/de/itvsh/kop/user/User.java b/user-manager/src/main/java/de/itvsh/kop/user/User.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/User.java rename to user-manager/src/main/java/de/itvsh/kop/user/User.java diff --git a/src/main/java/de/itvsh/kop/user/UserRepository.java b/user-manager/src/main/java/de/itvsh/kop/user/UserRepository.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/UserRepository.java rename to user-manager/src/main/java/de/itvsh/kop/user/UserRepository.java diff --git a/src/main/java/de/itvsh/kop/user/UserResourceMapper.java b/user-manager/src/main/java/de/itvsh/kop/user/UserResourceMapper.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/UserResourceMapper.java rename to user-manager/src/main/java/de/itvsh/kop/user/UserResourceMapper.java diff --git a/src/main/java/de/itvsh/kop/user/UserService.java b/user-manager/src/main/java/de/itvsh/kop/user/UserService.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/UserService.java rename to user-manager/src/main/java/de/itvsh/kop/user/UserService.java diff --git a/src/main/java/de/itvsh/kop/user/common/errorhandling/KeycloakClientException.java b/user-manager/src/main/java/de/itvsh/kop/user/common/errorhandling/KeycloakClientException.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/common/errorhandling/KeycloakClientException.java rename to user-manager/src/main/java/de/itvsh/kop/user/common/errorhandling/KeycloakClientException.java diff --git a/src/main/java/de/itvsh/kop/user/common/errorhandling/KeycloakUnavailableException.java b/user-manager/src/main/java/de/itvsh/kop/user/common/errorhandling/KeycloakUnavailableException.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/common/errorhandling/KeycloakUnavailableException.java rename to user-manager/src/main/java/de/itvsh/kop/user/common/errorhandling/KeycloakUnavailableException.java diff --git a/src/main/java/de/itvsh/kop/user/common/errorhandling/LockCreationException.java b/user-manager/src/main/java/de/itvsh/kop/user/common/errorhandling/LockCreationException.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/common/errorhandling/LockCreationException.java rename to user-manager/src/main/java/de/itvsh/kop/user/common/errorhandling/LockCreationException.java diff --git a/src/main/java/de/itvsh/kop/user/common/errorhandling/TechnicalException.java b/user-manager/src/main/java/de/itvsh/kop/user/common/errorhandling/TechnicalException.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/common/errorhandling/TechnicalException.java rename to user-manager/src/main/java/de/itvsh/kop/user/common/errorhandling/TechnicalException.java diff --git a/src/main/java/de/itvsh/kop/user/common/errorhandling/UserNotFoundException.java b/user-manager/src/main/java/de/itvsh/kop/user/common/errorhandling/UserNotFoundException.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/common/errorhandling/UserNotFoundException.java rename to user-manager/src/main/java/de/itvsh/kop/user/common/errorhandling/UserNotFoundException.java diff --git a/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiProperties.java b/user-manager/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiProperties.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiProperties.java rename to user-manager/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiProperties.java diff --git a/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java b/user-manager/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java rename to user-manager/src/main/java/de/itvsh/kop/user/keycloak/KeycloakApiService.java diff --git a/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java b/user-manager/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java rename to user-manager/src/main/java/de/itvsh/kop/user/keycloak/KeycloakProvider.java diff --git a/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java b/user-manager/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java rename to user-manager/src/main/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteService.java diff --git a/src/main/java/de/itvsh/kop/user/sync/Lock.java b/user-manager/src/main/java/de/itvsh/kop/user/sync/Lock.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/sync/Lock.java rename to user-manager/src/main/java/de/itvsh/kop/user/sync/Lock.java diff --git a/src/main/java/de/itvsh/kop/user/sync/LockRepository.java b/user-manager/src/main/java/de/itvsh/kop/user/sync/LockRepository.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/sync/LockRepository.java rename to user-manager/src/main/java/de/itvsh/kop/user/sync/LockRepository.java diff --git a/src/main/java/de/itvsh/kop/user/sync/LockService.java b/user-manager/src/main/java/de/itvsh/kop/user/sync/LockService.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/sync/LockService.java rename to user-manager/src/main/java/de/itvsh/kop/user/sync/LockService.java diff --git a/src/main/java/de/itvsh/kop/user/sync/SyncScheduler.java b/user-manager/src/main/java/de/itvsh/kop/user/sync/SyncScheduler.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/sync/SyncScheduler.java rename to user-manager/src/main/java/de/itvsh/kop/user/sync/SyncScheduler.java diff --git a/src/main/java/de/itvsh/kop/user/sync/SyncService.java b/user-manager/src/main/java/de/itvsh/kop/user/sync/SyncService.java similarity index 100% rename from src/main/java/de/itvsh/kop/user/sync/SyncService.java rename to user-manager/src/main/java/de/itvsh/kop/user/sync/SyncService.java diff --git a/src/main/resources/META-INF/resources/index.html b/user-manager/src/main/resources/META-INF/resources/index.html similarity index 100% rename from src/main/resources/META-INF/resources/index.html rename to user-manager/src/main/resources/META-INF/resources/index.html diff --git a/src/main/resources/application-dev.yaml b/user-manager/src/main/resources/application-dev.yaml similarity index 100% rename from src/main/resources/application-dev.yaml rename to user-manager/src/main/resources/application-dev.yaml diff --git a/src/main/resources/application-local.yaml b/user-manager/src/main/resources/application-local.yaml similarity index 100% rename from src/main/resources/application-local.yaml rename to user-manager/src/main/resources/application-local.yaml diff --git a/src/main/resources/application-remotekc.yaml b/user-manager/src/main/resources/application-remotekc.yaml similarity index 100% rename from src/main/resources/application-remotekc.yaml rename to user-manager/src/main/resources/application-remotekc.yaml diff --git a/src/main/resources/application.yaml b/user-manager/src/main/resources/application.yaml similarity index 100% rename from src/main/resources/application.yaml rename to user-manager/src/main/resources/application.yaml diff --git a/src/test/java/de/itvsh/kop/user/GroupRepresentationTestFactory.java b/user-manager/src/test/java/de/itvsh/kop/user/GroupRepresentationTestFactory.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/GroupRepresentationTestFactory.java rename to user-manager/src/test/java/de/itvsh/kop/user/GroupRepresentationTestFactory.java diff --git a/src/test/java/de/itvsh/kop/user/UserRepositoryTest.java b/user-manager/src/test/java/de/itvsh/kop/user/UserRepositoryTest.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/UserRepositoryTest.java rename to user-manager/src/test/java/de/itvsh/kop/user/UserRepositoryTest.java diff --git a/src/test/java/de/itvsh/kop/user/UserRepresentationTestFactory.java b/user-manager/src/test/java/de/itvsh/kop/user/UserRepresentationTestFactory.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/UserRepresentationTestFactory.java rename to user-manager/src/test/java/de/itvsh/kop/user/UserRepresentationTestFactory.java diff --git a/src/test/java/de/itvsh/kop/user/UserResourceMapperTest.java b/user-manager/src/test/java/de/itvsh/kop/user/UserResourceMapperTest.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/UserResourceMapperTest.java rename to user-manager/src/test/java/de/itvsh/kop/user/UserResourceMapperTest.java diff --git a/src/test/java/de/itvsh/kop/user/UserResourceStub.java b/user-manager/src/test/java/de/itvsh/kop/user/UserResourceStub.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/UserResourceStub.java rename to user-manager/src/test/java/de/itvsh/kop/user/UserResourceStub.java diff --git a/src/test/java/de/itvsh/kop/user/UserResourceTestFactory.java b/user-manager/src/test/java/de/itvsh/kop/user/UserResourceTestFactory.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/UserResourceTestFactory.java rename to user-manager/src/test/java/de/itvsh/kop/user/UserResourceTestFactory.java diff --git a/src/test/java/de/itvsh/kop/user/UserServiceTest.java b/user-manager/src/test/java/de/itvsh/kop/user/UserServiceTest.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/UserServiceTest.java rename to user-manager/src/test/java/de/itvsh/kop/user/UserServiceTest.java diff --git a/src/test/java/de/itvsh/kop/user/UserTestFactory.java b/user-manager/src/test/java/de/itvsh/kop/user/UserTestFactory.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/UserTestFactory.java rename to user-manager/src/test/java/de/itvsh/kop/user/UserTestFactory.java diff --git a/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java b/user-manager/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java rename to user-manager/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceITCase.java diff --git a/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceTest.java b/user-manager/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceTest.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceTest.java rename to user-manager/src/test/java/de/itvsh/kop/user/keycloak/KeycloakApiServiceTest.java diff --git a/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java b/user-manager/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java rename to user-manager/src/test/java/de/itvsh/kop/user/keycloak/KeycloakProviderITCase.java diff --git a/src/test/java/de/itvsh/kop/user/keycloak/KeycloakTestProfile.java b/user-manager/src/test/java/de/itvsh/kop/user/keycloak/KeycloakTestProfile.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/keycloak/KeycloakTestProfile.java rename to user-manager/src/test/java/de/itvsh/kop/user/keycloak/KeycloakTestProfile.java diff --git a/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java b/user-manager/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java rename to user-manager/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceITCase.java diff --git a/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceTest.java b/user-manager/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceTest.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceTest.java rename to user-manager/src/test/java/de/itvsh/kop/user/keycloak/KeycloakUserRemoteServiceTest.java diff --git a/src/test/java/de/itvsh/kop/user/sync/LockRepositoryTest.java b/user-manager/src/test/java/de/itvsh/kop/user/sync/LockRepositoryTest.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/sync/LockRepositoryTest.java rename to user-manager/src/test/java/de/itvsh/kop/user/sync/LockRepositoryTest.java diff --git a/src/test/java/de/itvsh/kop/user/sync/LockServiceTest.java b/user-manager/src/test/java/de/itvsh/kop/user/sync/LockServiceTest.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/sync/LockServiceTest.java rename to user-manager/src/test/java/de/itvsh/kop/user/sync/LockServiceTest.java diff --git a/src/test/java/de/itvsh/kop/user/sync/LockTestFactory.java b/user-manager/src/test/java/de/itvsh/kop/user/sync/LockTestFactory.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/sync/LockTestFactory.java rename to user-manager/src/test/java/de/itvsh/kop/user/sync/LockTestFactory.java diff --git a/src/test/java/de/itvsh/kop/user/sync/SyncSchedulerTest.java b/user-manager/src/test/java/de/itvsh/kop/user/sync/SyncSchedulerTest.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/sync/SyncSchedulerTest.java rename to user-manager/src/test/java/de/itvsh/kop/user/sync/SyncSchedulerTest.java diff --git a/src/test/java/de/itvsh/kop/user/sync/SyncServiceITCase.java b/user-manager/src/test/java/de/itvsh/kop/user/sync/SyncServiceITCase.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/sync/SyncServiceITCase.java rename to user-manager/src/test/java/de/itvsh/kop/user/sync/SyncServiceITCase.java diff --git a/src/test/java/de/itvsh/kop/user/sync/SyncServiceTest.java b/user-manager/src/test/java/de/itvsh/kop/user/sync/SyncServiceTest.java similarity index 100% rename from src/test/java/de/itvsh/kop/user/sync/SyncServiceTest.java rename to user-manager/src/test/java/de/itvsh/kop/user/sync/SyncServiceTest.java diff --git a/src/test/resources/META-INF/keycloak/dev-realm.json b/user-manager/src/test/resources/META-INF/keycloak/dev-realm.json similarity index 100% rename from src/test/resources/META-INF/keycloak/dev-realm.json rename to user-manager/src/test/resources/META-INF/keycloak/dev-realm.json diff --git a/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/user-manager/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension similarity index 100% rename from src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension rename to user-manager/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension -- GitLab