diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidManagerConfiguration.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidManagerConfiguration.java index 824f5ad0608057bec16dd5ef1d701fe481d9ff71..ff98ebad312a69fe6a0f01c3454daf9facd34d8d 100644 --- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidManagerConfiguration.java +++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/BescheidManagerConfiguration.java @@ -29,7 +29,11 @@ import org.springframework.context.annotation.Configuration; import de.ozgcloud.apilib.common.command.OzgCloudCommandService; import de.ozgcloud.apilib.common.command.grpc.CommandMapper; import de.ozgcloud.apilib.common.command.grpc.GrpcOzgCloudCommandService; +import de.ozgcloud.apilib.user.GrpcOzgCloudUserProfileService; +import de.ozgcloud.apilib.user.OzgCloudUserProfileService; +import de.ozgcloud.apilib.user.UserProfileMapper; import de.ozgcloud.bescheid.common.callcontext.BescheidManagerCallContextProvider; +import de.ozgcloud.user.grpc.userprofile.UserProfileServiceGrpc; import de.ozgcloud.vorgang.grpc.command.CommandServiceGrpc; import net.devh.boot.grpc.client.inject.GrpcClient; @@ -37,13 +41,22 @@ import net.devh.boot.grpc.client.inject.GrpcClient; public class BescheidManagerConfiguration { public static final String COMMAND_SERVICE_NAME = "bescheid_OzgCloudCommandService"; + public static final String OZGCLOUD_USER_PROFILE_SERVICE_NAME = "bescheid_OzgCloudUserProfileService"; @GrpcClient("command-manager") private CommandServiceGrpc.CommandServiceBlockingStub commandServiceStub; + @GrpcClient("user-manager") + private UserProfileServiceGrpc.UserProfileServiceBlockingStub userProfileServiceGrpc; + @Bean(COMMAND_SERVICE_NAME) OzgCloudCommandService grpcOzgCloudCommandService(CommandMapper commandMapper, BescheidManagerCallContextProvider contextProvider) { return new GrpcOzgCloudCommandService(commandServiceStub, commandMapper, contextProvider, GrpcOzgCloudCommandService.DEFAULT_COMMAND_REQUEST_THRESHOLD_MILLIS); } + + @Bean(OZGCLOUD_USER_PROFILE_SERVICE_NAME) + OzgCloudUserProfileService ozgCloudUserProfileService(UserProfileMapper mapper, BescheidManagerCallContextProvider contextProvider) { + return new GrpcOzgCloudUserProfileService(userProfileServiceGrpc, mapper, contextProvider); + } } diff --git a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/common/user/UserProfileService.java b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/common/user/UserProfileService.java index 5346ead50451064408dd1db5146536520b566b99..228d8c92a647904c35f8f4f3cc107562d960242c 100644 --- a/bescheid-manager/src/main/java/de/ozgcloud/bescheid/common/user/UserProfileService.java +++ b/bescheid-manager/src/main/java/de/ozgcloud/bescheid/common/user/UserProfileService.java @@ -25,10 +25,12 @@ package de.ozgcloud.bescheid.common.user; import java.util.Optional; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import de.ozgcloud.apilib.user.OzgCloudUserId; import de.ozgcloud.apilib.user.OzgCloudUserProfileService; +import de.ozgcloud.bescheid.BescheidManagerConfiguration; import de.ozgcloud.bescheid.common.callcontext.CurrentUserService; import de.ozgcloud.common.errorhandling.TechnicalException; import lombok.RequiredArgsConstructor; @@ -38,6 +40,7 @@ import lombok.RequiredArgsConstructor; public class UserProfileService { private final CurrentUserService currentUserService; + @Qualifier(BescheidManagerConfiguration.OZGCLOUD_USER_PROFILE_SERVICE_NAME) private final Optional<OzgCloudUserProfileService> userProfileService; private final UserProfileMapper mapper; diff --git a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidTestApplication.java b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidTestApplication.java index 9bbaa5728dc689fe6d70fe510af8ae909b65ae7f..fd86f1e8a86b7ecf1aa0d69c1b493ceab07e2bcf 100644 --- a/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidTestApplication.java +++ b/bescheid-manager/src/test/java/de/ozgcloud/bescheid/BescheidTestApplication.java @@ -1,5 +1,6 @@ package de.ozgcloud.bescheid; +import org.mapstruct.factory.Mappers; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.info.BuildProperties; import org.springframework.boot.test.mock.mockito.MockBean; @@ -8,6 +9,8 @@ import org.springframework.context.annotation.ComponentScan; import org.springframework.security.authentication.AuthenticationTrustResolver; import org.springframework.security.authentication.AuthenticationTrustResolverImpl; +import de.ozgcloud.apilib.user.UserProfileMapper; + @SpringBootApplication @ComponentScan({ "de.ozgcloud.*" }) public class BescheidTestApplication { @@ -19,4 +22,9 @@ public class BescheidTestApplication { AuthenticationTrustResolver trustResolver() { return new AuthenticationTrustResolverImpl(); } + + @Bean + public UserProfileMapper userProfileMapper() { + return Mappers.getMapper(UserProfileMapper.class); + } } diff --git a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/VorgangManagerServerApplicationTests.java b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/VorgangManagerServerApplicationTests.java index 87497b70a129d02695efc350f13f92885ff577e8..a413a80ad494ea47ed981472ca57907fd53c687b 100644 --- a/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/VorgangManagerServerApplicationTests.java +++ b/vorgang-manager-server/src/test/java/de/ozgcloud/vorgang/VorgangManagerServerApplicationTests.java @@ -24,9 +24,16 @@ package de.ozgcloud.vorgang; import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; import de.ozgcloud.common.test.ITCase; +@SpringBootTest(properties = { + "ozgcloud.processors.0.name=test", + "ozgcloud.processors.0.address=http://localhost:8090/testprocessor", + "ozgcloud.processors.0.forms.0.formEngineName=testFormEngine", + "ozgcloud.processors.0.forms.0.formId=testForm" +}) @ITCase class VorgangManagerServerApplicationTests {