From 20b08cb2c13eeacbf06ef51966f98cf71f7a7e4c Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Tue, 31 Oct 2023 11:36:01 +0100 Subject: [PATCH] OZG-4460 OZG-4495 fix issue with logging --- build-native-local-docker-image.sh | 2 +- user-manager-server/pom.xml | 12 +++++--- .../kop/user/UserProfileResourceTest.java | 9 ++---- .../CurrentCallContextUserServiceTest.java | 11 +------ .../GrpcCallContextInterceptorTest.java | 30 ++++++++----------- .../common/reflection/SaferReflection.java | 28 ----------------- .../settings/UserSettingsResourceTest.java | 16 ++++------ 7 files changed, 30 insertions(+), 78 deletions(-) delete mode 100644 user-manager-server/src/test/java/de/itvsh/kop/user/common/reflection/SaferReflection.java diff --git a/build-native-local-docker-image.sh b/build-native-local-docker-image.sh index 3319d2d5..7f1e202c 100755 --- a/build-native-local-docker-image.sh +++ b/build-native-local-docker-image.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash cd user-manager-server -./mvnw clean verify \ +./mvnw clean install -D skipTests \ -Pnative \ -Dquarkus.container-image.registry=docker.ozg-sh.de \ -Dquarkus.container-image.push=false \ diff --git a/user-manager-server/pom.xml b/user-manager-server/pom.xml index 4f977764..819e2d27 100644 --- a/user-manager-server/pom.xml +++ b/user-manager-server/pom.xml @@ -94,6 +94,10 @@ <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> </exclusion> + <exclusion> + <groupId>org.springframework</groupId> + <artifactId>spring-context</artifactId> + </exclusion> </exclusions> </dependency> @@ -308,11 +312,11 @@ <compilerArgs> <arg>-parameters</arg> <compilerArg> - -Amapstruct.defaultComponentModel=jakarta - </compilerArg> + -Amapstruct.defaultComponentModel=jakarta + </compilerArg> <compilerArg> - -Amapstruct.unmappedTargetPolicy=WARN - </compilerArg> + -Amapstruct.unmappedTargetPolicy=WARN + </compilerArg> </compilerArgs> </configuration> </plugin> diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceTest.java index 7c18326a..487b12e8 100644 --- a/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceTest.java +++ b/user-manager-server/src/test/java/de/itvsh/kop/user/UserProfileResourceTest.java @@ -41,8 +41,6 @@ import org.mockito.Mock; import com.thedeanda.lorem.LoremIpsum; -import de.itvsh.kop.user.common.reflection.SaferReflection; - class UserProfileResourceTest { private static final String USER_MANAGER_URL = LoremIpsum.getInstance().getUrl(); @@ -52,16 +50,13 @@ class UserProfileResourceTest { @Mock private UserService userService; + @Mock private UserProfileResourceAssembler resourceAssembler; @BeforeEach void init() { - mockUserManagerUrl(); - } - - private void mockUserManagerUrl() { - SaferReflection.setField("userManagerUrl", resource, USER_MANAGER_URL); + resource.userManagerUrl = USER_MANAGER_URL; } @Nested diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/CurrentCallContextUserServiceTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/CurrentCallContextUserServiceTest.java index e4e91498..23cbe08a 100644 --- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/CurrentCallContextUserServiceTest.java +++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/CurrentCallContextUserServiceTest.java @@ -30,7 +30,6 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.mockito.Spy; -import org.springframework.util.ReflectionUtils; class CurrentCallContextUserServiceTest { @@ -43,14 +42,6 @@ class CurrentCallContextUserServiceTest { @Nested class TestClearCallContextUser { - @BeforeEach - void init() { - var userField = ReflectionUtils.findField(CurrentCallContextUserService.class, "user"); - userField.setAccessible(true); - ReflectionUtils.setField(userField, userService, callContextUser); - assertThat(userService.getCurrentCallContextUser()).isPresent(); - } - @Test void shouldSetUserToNull() { userService.clearCallContextUser(); @@ -60,7 +51,7 @@ class CurrentCallContextUserServiceTest { } @Nested - class TestService { + class TestGetCurrentCallContextUser { @BeforeEach void init() { diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/GrpcCallContextInterceptorTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/GrpcCallContextInterceptorTest.java index b0123cb8..f1142822 100644 --- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/GrpcCallContextInterceptorTest.java +++ b/user-manager-server/src/test/java/de/itvsh/kop/user/common/callcontext/GrpcCallContextInterceptorTest.java @@ -37,11 +37,10 @@ import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Spy; -import org.springframework.util.ReflectionUtils; import de.itvsh.kop.user.User; import de.itvsh.kop.user.UserTestFactory; -import de.itvsh.kop.user.common.callcontext.GrpcCallContextInterceptor.LogContextSettingListener; +import de.itvsh.kop.user.common.callcontext.GrpcCallContextInterceptor.*; import de.itvsh.kop.user.common.errorhandling.ResourceNotFoundException; import io.grpc.Metadata; import io.grpc.ServerCall; @@ -289,11 +288,6 @@ class GrpcCallContextInterceptorTest { @Nested class TestWithExistingClientName { - @BeforeEach - void initListener() { - setClientName(Optional.of("ClientNameDummy")); - } - @Test void shouldCallDoSurroundOn() { listener.onReady(); @@ -306,17 +300,25 @@ class GrpcCallContextInterceptorTest { @Nested class TestWithMissingClientName { + private LogContextSettingListener<?, ?, ?> listener; + private Metadata headers = CallContextMetadataTestFactory.createMetadata(); + @BeforeEach void initListener() { - setClientName(Optional.empty()); + headers.discardAll(GrpcUtil.createKeyOf(GrpcCallContextInterceptor.KEY_CLIENT_NAME)); + listener = spy(interceptor.new LogContextSettingListener<>(delegate, originCall, headers)); } @Test void shouldHandleMissingClientName() { - listener.onReady(); + try (var mock = mockStatic(GrpcUtil.class)) { + mock.when(() -> GrpcUtil.getFromHeaders(KEY_CLIENT_NAME, headers)).thenReturn(Optional.empty()); + + listener.onReady(); - verify(listener).handleMissingClientName(); - verify(originCall).close(any(), eq(headers)); + verify(listener).handleMissingClientName(); + verify(originCall).close(any(), eq(headers)); + } } @Test @@ -326,12 +328,6 @@ class GrpcCallContextInterceptorTest { verify(listener, never()).doSurroundOn(any()); } } - - private void setClientName(Optional<String> clientName) { - var field = ReflectionUtils.findField(LogContextSettingListener.class, "clientName"); - field.setAccessible(true); - ReflectionUtils.setField(field, listener, clientName); - } } } diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/common/reflection/SaferReflection.java b/user-manager-server/src/test/java/de/itvsh/kop/user/common/reflection/SaferReflection.java deleted file mode 100644 index f9fb8aeb..00000000 --- a/user-manager-server/src/test/java/de/itvsh/kop/user/common/reflection/SaferReflection.java +++ /dev/null @@ -1,28 +0,0 @@ -package de.itvsh.kop.user.common.reflection; - -import static java.lang.String.*; -import static org.junit.jupiter.api.Assertions.*; - -import org.springframework.util.ReflectionUtils; - -/** - * Safer in this case means "with error handling". - */ -public class SaferReflection { - - private SaferReflection() { - // noop - } - - public static <T, V> void setField(String fieldName, T target, V value) { - var field = ReflectionUtils.findField(target.getClass(), fieldName); - if (field == null) { - fail(format( - "Can't mock because of reflection error. Unknown field: %s. Check in code if the field name in class fits to the string passed" - + " to reflection call.", - fieldName)); - } - field.setAccessible(true); - ReflectionUtils.setField(field, target, value); - } -} diff --git a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceTest.java b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceTest.java index b3f6ebb7..5b9c8c29 100644 --- a/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceTest.java +++ b/user-manager-server/src/test/java/de/itvsh/kop/user/settings/UserSettingsResourceTest.java @@ -41,7 +41,6 @@ import org.junit.jupiter.api.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Spy; -import org.springframework.util.ReflectionUtils; import com.thedeanda.lorem.LoremIpsum; @@ -76,6 +75,11 @@ class UserSettingsResourceTest { private final String USER_MANAGER_URL = LoremIpsum.getInstance().getUrl(); private final String USER_ID = UUID.randomUUID().toString(); + @BeforeEach + void setUp() { + resource.userManagerUrl = USER_MANAGER_URL; + } + @DisplayName("Get Usersettings") @Nested class TestGetUserSettings { @@ -86,8 +90,6 @@ class UserSettingsResourceTest { void mockAccess() { doNothing().when(resource).checkUserAccess(anyString()); when(userSettingsService.getByUserId(anyString())).thenReturn(userSettings); - - mockUserManagerUrl(); } @Test @@ -167,8 +169,6 @@ class UserSettingsResourceTest { void mockAccess() { doNothing().when(resource).checkUserAccess(anyString()); when(userSettingsService.updateByUserId(any(UserSettings.class), anyString())).thenReturn(Optional.of(updatedUserSettings)); - - mockUserManagerUrl(); } @Test @@ -198,12 +198,6 @@ class UserSettingsResourceTest { } } - private void mockUserManagerUrl() { - var field = ReflectionUtils.findField(UserSettingsResource.class, "userManagerUrl"); - field.setAccessible(true); - ReflectionUtils.setField(field, resource, USER_MANAGER_URL); - } - @DisplayName("Check User access") @Nested class TestCheckUserAccess { -- GitLab