diff --git a/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserManagerUrlProvider.java b/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserManagerUrlProvider.java index e8cb383edbd5bf6779c562aae06002233fd43ced..db3ac88ed0529f90b6842426dc28d24b42d24986 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserManagerUrlProvider.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/common/user/UserManagerUrlProvider.java @@ -60,13 +60,7 @@ public class UserManagerUrlProvider { && Objects.nonNull(StringUtils.trimToNull(userManagerProperties.getProfileTemplate())); } - public boolean isConfiguredForSearchUserProfile() { - return Objects.nonNull(StringUtils.trimToNull(userManagerProperties.getUrl())) - && Objects.nonNull(StringUtils.trimToNull(userManagerProperties.getSearchTemplate())); - } - public boolean isConfiguredForInternalUserId() { return Objects.nonNull(StringUtils.trimToNull(userManagerProperties.getInternalurl())); } - -} +} \ No newline at end of file diff --git a/goofy-server/src/test/java/de/itvsh/goofy/common/user/UserManagerUrlProviderTest.java b/goofy-server/src/test/java/de/itvsh/goofy/common/user/UserManagerUrlProviderTest.java new file mode 100644 index 0000000000000000000000000000000000000000..cbd661a314f2eae6631dfd26d1bc0c0c1542cc28 --- /dev/null +++ b/goofy-server/src/test/java/de/itvsh/goofy/common/user/UserManagerUrlProviderTest.java @@ -0,0 +1,184 @@ +package de.itvsh.goofy.common.user; + +import static org.assertj.core.api.Assertions.*; +import static org.mockito.Mockito.*; + +import org.apache.commons.lang3.StringUtils; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.mockito.InjectMocks; +import org.mockito.Mock; + +class UserManagerUrlProviderTest { + + private static final String DUMMY_URL = "dummyUrl/"; + private static final String DUMMY_PROFILE_TEMPLATE = "dummyProfileTemplate"; + private static final String DUMMY_PROFILE_SEARCH_TEMPLATE = "dummyProfileSearchTemplate"; + private static final String DUMMY_FULL_INTERNAL_URL_TEMPLATE = "dummyFullInternalUrlTemplate"; + private static final String DUMMY_INTERNAL_URL = "dummyInternalUrl"; + + @InjectMocks + private UserManagerUrlProvider urlProvider; + @Mock + private UserManagerProperties userManagerProperties; + + @DisplayName("Get user profile template") + @Nested + class TestGetUserProfileTemplate { + + @Test + void shouldGetUrlFromProperties() { + urlProvider.getUserProfileTemplate(); + + verify(userManagerProperties).getUrl(); + } + + @Test + void shouldGetUserProfileTemplateFromProperties() { + urlProvider.getUserProfileTemplate(); + + verify(userManagerProperties).getProfileTemplate(); + } + + @Test + void shouldReturnValue() { + when(userManagerProperties.getUrl()).thenReturn(DUMMY_URL); + when(userManagerProperties.getProfileTemplate()).thenReturn(DUMMY_PROFILE_TEMPLATE); + + var profileTemplate = urlProvider.getUserProfileTemplate(); + + assertThat(profileTemplate).isEqualTo("dummyUrl/dummyProfileTemplate"); + } + } + + @DisplayName("Get user profile search template") + @Nested + class TestGetUserProfileSearchTemplate { + + @Test + void shouldGetUrlFromProperties() { + urlProvider.getUserProfileSearchTemplate(); + + verify(userManagerProperties).getUrl(); + } + + @Test + void shouldGetUserProfileSearchTemplateFromProperties() { + urlProvider.getUserProfileSearchTemplate(); + + verify(userManagerProperties).getSearchTemplate(); + } + + @Test + void shouldReturnValue() { + when(userManagerProperties.getUrl()).thenReturn(DUMMY_URL); + when(userManagerProperties.getSearchTemplate()).thenReturn(DUMMY_PROFILE_SEARCH_TEMPLATE); + + var profileTemplate = urlProvider.getUserProfileSearchTemplate(); + + assertThat(profileTemplate).isEqualTo("dummyUrl/dummyProfileSearchTemplate"); + } + } + + @DisplayName("Get internal userId template") + @Nested + class TestGetInternalUserIdTemplate { + + @Test + void shouldGetFullInternalUrlTemplateFromProperties() { + urlProvider.getInternalUserIdTemplate(); + + verify(userManagerProperties).getFullInternalUrlTemplate(); + } + + @Test + void shouldReturnValue() { + when(userManagerProperties.getFullInternalUrlTemplate()).thenReturn(DUMMY_FULL_INTERNAL_URL_TEMPLATE); + + var profileTemplate = urlProvider.getInternalUserIdTemplate(); + + assertThat(profileTemplate).isEqualTo("dummyFullInternalUrlTemplate"); + } + } + + @DisplayName("Is configured for user profile") + @Nested + class TestIsConfiguredForUserProfile { + + @Test + void shouldGetUserManagerPropertiesUrl() { + urlProvider.isConfiguredForUserProfile(); + + verify(userManagerProperties).getUrl(); + } + + @Test + void shouldGetUserManagerPropertiesProfileTemplate() { + when(userManagerProperties.getUrl()).thenReturn(DUMMY_URL); + + urlProvider.isConfiguredForUserProfile(); + + verify(userManagerProperties).getProfileTemplate(); + } + + @Test + void shouldReturnTrueIfUrlAndProfileTemplateExists() { + when(userManagerProperties.getUrl()).thenReturn(DUMMY_URL); + when(userManagerProperties.getProfileTemplate()).thenReturn(DUMMY_PROFILE_TEMPLATE); + + var isConfigured = urlProvider.isConfiguredForUserProfile(); + + assertThat(isConfigured).isTrue(); + } + + @Test + void shouldReturnFalseIfUrlNotExists() { + when(userManagerProperties.getUrl()).thenReturn(StringUtils.EMPTY); + + var isConfigured = urlProvider.isConfiguredForUserProfile(); + + assertThat(isConfigured).isFalse(); + } + + @Test + void shouldReturnFalseIfProfileTemplateNotExists() { + when(userManagerProperties.getUrl()).thenReturn(DUMMY_URL); + when(userManagerProperties.getProfileTemplate()).thenReturn(StringUtils.EMPTY); + + var isConfigured = urlProvider.isConfiguredForUserProfile(); + + assertThat(isConfigured).isFalse(); + } + } + + @DisplayName("Is configured for internal userId") + @Nested + class TestIsConfiguredForInternalUserId { + + @Test + void shouldGetUserManagerPropertiesInternalurl() { + urlProvider.isConfiguredForInternalUserId(); + + verify(userManagerProperties).getInternalurl(); + } + + @Test + void shouldReturnTrueIfInternalurlExists() { + when(userManagerProperties.getInternalurl()).thenReturn(DUMMY_INTERNAL_URL); + + var isConfigured = urlProvider.isConfiguredForInternalUserId(); + + assertThat(isConfigured).isTrue(); + } + + @Test + void shouldReturnFalseIfInternalurlNotExists() { + when(userManagerProperties.getInternalurl()).thenReturn(StringUtils.EMPTY); + + var isConfigured = urlProvider.isConfiguredForInternalUserId(); + + assertThat(isConfigured).isFalse(); + } + } +}