From b7c37dbc53eec71397918da71ef733439261b262 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 22 Mar 2024 11:08:14 +0100 Subject: [PATCH 1/3] feat: Add multitenancy.enabled property to application-testing.properties Adapt CreateAdminService Add tests for multitenancy.enabled=true --- .../admin/create/CreateAdminService.java | 14 +- .../resources/application-testing.properties | 2 + .../controller/UserAdminControllerE2EIT.java | 4 +- ...rAdminControllerMultiTenancyTrueE2EIT.java | 234 ++++++++++++++++++ .../admin/create/CreateAdminServiceIT.java | 33 +++ 5 files changed, 281 insertions(+), 6 deletions(-) create mode 100644 src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerMultiTenancyTrueE2EIT.java diff --git a/src/main/java/de/caritas/cob/userservice/api/admin/service/admin/create/CreateAdminService.java b/src/main/java/de/caritas/cob/userservice/api/admin/service/admin/create/CreateAdminService.java index 4ebf27643..8e7445e88 100644 --- a/src/main/java/de/caritas/cob/userservice/api/admin/service/admin/create/CreateAdminService.java +++ b/src/main/java/de/caritas/cob/userservice/api/admin/service/admin/create/CreateAdminService.java @@ -60,16 +60,20 @@ List getDefaultRoles(Admin.AdminType adminType) { private void setTenantId(CreateAdminDTO createAdminDTO) { if (multiTenancyEnabled) { - if (authenticatedUser.isTenantSuperAdmin()) { - notNull(createAdminDTO.getTenantId()); - } else { - createAdminDTO.setTenantId(TenantContext.getCurrentTenant().intValue()); - } + setTenantIdForMultiTenancy(createAdminDTO); } else { createAdminDTO.setTenantId(null); } } + private void setTenantIdForMultiTenancy(CreateAdminDTO createAdminDTO) { + if (authenticatedUser.isTenantSuperAdmin()) { + notNull(createAdminDTO.getTenantId()); + } else { + createAdminDTO.setTenantId(TenantContext.getCurrentTenant().intValue()); + } + } + private ArrayList getUserRolesForTenantAdmin() { if (multitenancyWithSingleDomain) { return Lists.newArrayList( diff --git a/src/main/resources/application-testing.properties b/src/main/resources/application-testing.properties index e9e88dad9..de313fb9a 100644 --- a/src/main/resources/application-testing.properties +++ b/src/main/resources/application-testing.properties @@ -71,3 +71,5 @@ appointments.delete-job-enabled=true feature.topics.enabled=false agency.service.api.url=${app.base.url}/service + +multitenancy.enabled=false diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerE2EIT.java index d21ed1124..d487f16dd 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerE2EIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerE2EIT.java @@ -9,6 +9,7 @@ import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; +import static org.hamcrest.Matchers.nullValue; import static org.mockito.Mockito.when; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; @@ -188,7 +189,6 @@ private String givenNewConsultantIsCreated() throws Exception { // given CreateConsultantDTO createAdminDTO = new EasyRandom().nextObject(CreateConsultantDTO.class); createAdminDTO.setEmail("consultant@email.com"); - // when MvcResult mvcResult = this.mockMvc @@ -219,6 +219,7 @@ private String givenNewAgencyAdminIsCreated() throws Exception { // given CreateAdminDTO createAdminDTO = new EasyRandom().nextObject(CreateAdminDTO.class); createAdminDTO.setEmail("agencyadmin@email.com"); + createAdminDTO.setTenantId(95); // when @@ -235,6 +236,7 @@ private String givenNewAgencyAdminIsCreated() throws Exception { .andExpect(jsonPath("_embedded.username", notNullValue())) .andExpect(jsonPath("_embedded.lastname", notNullValue())) .andExpect(jsonPath("_embedded.email", is("agencyadmin@email.com"))) + .andExpect(jsonPath("_embedded.tenantId", is("null"))) .andReturn(); String content = mvcResult.getResponse().getContentAsString(); return JsonPath.read(content, "_embedded.id"); diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerMultiTenancyTrueE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerMultiTenancyTrueE2EIT.java new file mode 100644 index 000000000..01cd4562b --- /dev/null +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerMultiTenancyTrueE2EIT.java @@ -0,0 +1,234 @@ +package de.caritas.cob.userservice.api.adapters.web.controller; + +import static de.caritas.cob.userservice.api.adapters.web.controller.UserAdminControllerIT.ADMIN_DATA_PATH; +import static de.caritas.cob.userservice.api.adapters.web.controller.UserAdminControllerIT.AGENCY_ADMIN_PATH; +import static de.caritas.cob.userservice.api.adapters.web.controller.UserAdminControllerIT.CONSULTANT_PATH; +import static de.caritas.cob.userservice.api.adapters.web.controller.UserAdminControllerIT.TENANT_ADMIN_PATH; +import static de.caritas.cob.userservice.api.adapters.web.controller.UserAdminControllerIT.TENANT_ADMIN_PATH_WITHOUT_SLASH; +import static org.assertj.core.api.Assertions.assertThat; +import static org.hamcrest.Matchers.hasSize; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.notNullValue; +import static org.hamcrest.Matchers.nullValue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.Mockito.when; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.patch; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.jayway.jsonpath.JsonPath; +import de.caritas.cob.userservice.api.adapters.keycloak.dto.KeycloakCreateUserResponseDTO; +import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatCredentialsProvider; +import de.caritas.cob.userservice.api.adapters.web.dto.CreateAdminDTO; +import de.caritas.cob.userservice.api.adapters.web.dto.CreateConsultantDTO; +import de.caritas.cob.userservice.api.adapters.web.dto.PatchAdminDTO; +import de.caritas.cob.userservice.api.adapters.web.dto.UpdateAgencyAdminDTO; +import de.caritas.cob.userservice.api.adapters.web.dto.UpdateTenantAdminDTO; +import de.caritas.cob.userservice.api.admin.service.tenant.TenantService; +import de.caritas.cob.userservice.api.config.apiclient.AgencyServiceApiControllerFactory; +import de.caritas.cob.userservice.api.config.apiclient.ConsultingTypeServiceApiControllerFactory; +import de.caritas.cob.userservice.api.config.apiclient.MailServiceApiControllerFactory; +import de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue; +import de.caritas.cob.userservice.api.config.auth.IdentityConfig; +import de.caritas.cob.userservice.api.helper.AuthenticatedUser; +import de.caritas.cob.userservice.api.model.Admin.AdminType; +import de.caritas.cob.userservice.api.model.User; +import de.caritas.cob.userservice.api.port.out.AdminRepository; +import de.caritas.cob.userservice.api.port.out.IdentityClient; +import de.caritas.cob.userservice.api.tenant.TenantResolverService; +import de.caritas.cob.userservice.api.testConfig.TestAgencyControllerApi; +import de.caritas.cob.userservice.consultingtypeservice.generated.web.ConsultingTypeControllerApi; +import de.caritas.cob.userservice.mailservice.generated.web.MailsControllerApi; +import de.caritas.cob.userservice.tenantservice.generated.web.model.RestrictedTenantDTO; +import de.caritas.cob.userservice.topicservice.generated.web.TopicControllerApi; +import java.util.LinkedHashMap; +import javax.servlet.http.Cookie; +import net.minidev.json.JSONArray; +import org.jeasy.random.EasyRandom; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.keycloak.admin.client.Keycloak; +import org.mockito.Mockito; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.http.MediaType; +import org.springframework.security.test.context.support.WithMockUser; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.MvcResult; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.client.RestTemplate; + +@SpringBootTest +@AutoConfigureMockMvc +@ActiveProfiles("testing") +@AutoConfigureTestDatabase +@TestPropertySource(properties = {"multitenancy.enabled=true"}) +@Transactional +class UserAdminControllerMultiTenancyTrueE2EIT { + + private static final String CSRF_HEADER = "csrfHeader"; + private static final String CSRF_VALUE = "test"; + private static final Cookie CSRF_COOKIE = new Cookie("csrfCookie", CSRF_VALUE); + @Autowired private MockMvc mockMvc; + + @Autowired private ObjectMapper objectMapper; + + @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") + @Autowired + private ConsultingTypeControllerApi consultingTypeControllerApi; + + @Autowired private IdentityConfig identityConfig; + + @MockBean + private ConsultingTypeServiceApiControllerFactory consultingTypeServiceApiControllerFactory; + + @MockBean private MailServiceApiControllerFactory mailServiceApiControllerFactory; + + @MockBean + @Qualifier("mailsControllerApi") + private MailsControllerApi mailsControllerApi; + + @MockBean AgencyServiceApiControllerFactory agencyServiceApiControllerFactory; + + @MockBean IdentityClient identityClient; + + @MockBean TenantService tenantService; + + @MockBean + TenantResolverService tenantResolverService; + + @MockBean + AuthenticatedUser authenticatedUser; + + @AfterEach + void reset() { + identityConfig.setDisplayNameAllowedForConsultants(false); + } + + @BeforeEach + public void setUp() { + when(agencyServiceApiControllerFactory.createControllerApi()) + .thenReturn( + new TestAgencyControllerApi( + new de.caritas.cob.userservice.agencyserivce.generated.ApiClient())); + + when(consultingTypeServiceApiControllerFactory.createControllerApi()) + .thenReturn(consultingTypeControllerApi); + when(mailServiceApiControllerFactory.createControllerApi()).thenReturn(mailsControllerApi); + + KeycloakCreateUserResponseDTO keycloakResponse = new KeycloakCreateUserResponseDTO(); + keycloakResponse.setUserId(new EasyRandom().nextObject(String.class)); + when(identityClient.createKeycloakUser(Mockito.any(), Mockito.anyString(), Mockito.anyString())) + .thenReturn(keycloakResponse); + } + + @Test + @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) + void createNewAgencyAdmin_Should_returnOk_When_requiredCreateAgencyAdminIsGiven() + throws Exception { + // given + CreateAdminDTO createAdminDTO = new EasyRandom().nextObject(CreateAdminDTO.class); + createAdminDTO.setEmail("agencyadmin@email.com"); + createAdminDTO.setTenantId(95); + givenTenant(); + givenTenantSuperAdmin(); + + // when + + MvcResult mvcResult = + this.mockMvc + .perform( + post(AGENCY_ADMIN_PATH) + .cookie(CSRF_COOKIE) + .header(CSRF_HEADER, CSRF_VALUE) + .contentType(MediaType.APPLICATION_JSON) + .content(objectMapper.writeValueAsString(createAdminDTO))) + .andExpect(status().isOk()) + .andExpect(jsonPath("_embedded.id", notNullValue())) + .andExpect(jsonPath("_embedded.username", notNullValue())) + .andExpect(jsonPath("_embedded.lastname", notNullValue())) + .andExpect(jsonPath("_embedded.email", is("agencyadmin@email.com"))) + .andExpect(jsonPath("_embedded.tenantId", is("95"))) + .andReturn(); + String content = mvcResult.getResponse().getContentAsString(); + JsonPath.read(content, "_embedded.id"); + } + + @Test + @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) + void createNewAgencyAdmin_Should_return500_When_superAdminHasNullTenantID() + throws Exception { + // given + CreateAdminDTO createAdminDTO = new EasyRandom().nextObject(CreateAdminDTO.class); + createAdminDTO.setEmail("agencyadmin@email.com"); + createAdminDTO.setTenantId(null); + givenTenant(); + givenTenantSuperAdmin(); + + // when + + this.mockMvc + .perform( + post(AGENCY_ADMIN_PATH) + .cookie(CSRF_COOKIE) + .header(CSRF_HEADER, CSRF_VALUE) + .contentType(MediaType.APPLICATION_JSON) + .content(objectMapper.writeValueAsString(createAdminDTO))) + .andExpect(status().isInternalServerError()) + .andReturn(); + } + + private void givenTenantSuperAdmin() { + when(authenticatedUser.isTenantSuperAdmin()).thenReturn(true); + } + + private void givenTenant() { + when(tenantResolverService.resolve(any())).thenReturn(95L); + when(tenantService.getRestrictedTenantData(anyLong())).thenReturn(new RestrictedTenantDTO().subdomain("subdomain")); + } +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/admin/create/CreateAdminServiceIT.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/admin/create/CreateAdminServiceIT.java index 967b78279..0b9c11d74 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/admin/create/CreateAdminServiceIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/admin/create/CreateAdminServiceIT.java @@ -169,6 +169,39 @@ public void afterTests() { assertThat(admin.getId()).isNotNull(); } + @Test + public void + createNewAdminAgency_Should_returnExpectedCreatedAdmin_When_userIsSuperAdminAndInputDataIsCorrectAndMultitenancyDisabled() { + // given + ReflectionTestUtils.setField(createAdminService, "multiTenancyEnabled", false); + TenantContext.setCurrentTenant(0L); + when(authenticatedUser.isTenantSuperAdmin()).thenReturn(true); + when(identityClient.createKeycloakUser(any(), anyString(), any())) + .thenReturn(easyRandom.nextObject(KeycloakCreateUserResponseDTO.class)); + when(identityClient.createKeycloakUser(any(), anyString(), any())) + .thenReturn(easyRandom.nextObject(KeycloakCreateUserResponseDTO.class)); + CreateAdminDTO createAdminDTO = this.easyRandom.nextObject(CreateAdminDTO.class); + createAdminDTO.setTenantId(1); + createAdminDTO.setUsername(VALID_USERNAME); + createAdminDTO.setEmail(VALID_EMAIL_ADDRESS); + + // when + Admin admin = this.createAdminService.createNewAgencyAdmin(createAdminDTO); + + // then + verify(identityClient) + .createKeycloakUser(userDTOArgumentCaptor.capture(), anyString(), anyString()); + assertNull(userDTOArgumentCaptor.getValue().getTenantId()); + + verify(identityClient).updatePassword(anyString(), anyString()); + verify(identityClient).updateRole(anyString(), eq(RESTRICTED_AGENCY_ADMIN)); + verify(identityClient).updateRole(anyString(), eq(USER_ADMIN)); + + assertThat(admin).isNotNull(); + assertThat(admin.getTenantId()).isNull(); + assertThat(admin.getId()).isNotNull(); + } + @Test public void getUserRolesForTenantAdmin_ShouldGetProperDefaultRoles_ForSingleDomainMultitenancy() { Whitebox.setInternalState(createAdminService, "multitenancyWithSingleDomain", true); From e951904ef525ea7b71d5bbc79fe51631e2d5ce08 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Fri, 22 Mar 2024 15:07:01 +0100 Subject: [PATCH 2/3] feat: Run mvn spotless:apply --- .../controller/UserAdminControllerE2EIT.java | 1 - ...rAdminControllerMultiTenancyTrueE2EIT.java | 68 ++----------------- .../admin/create/CreateAdminServiceIT.java | 2 +- 3 files changed, 6 insertions(+), 65 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerE2EIT.java index d487f16dd..5389873a2 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerE2EIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerE2EIT.java @@ -9,7 +9,6 @@ import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; -import static org.hamcrest.Matchers.nullValue; import static org.mockito.Mockito.when; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerMultiTenancyTrueE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerMultiTenancyTrueE2EIT.java index 01cd4562b..9bf13c371 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerMultiTenancyTrueE2EIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerMultiTenancyTrueE2EIT.java @@ -1,35 +1,19 @@ package de.caritas.cob.userservice.api.adapters.web.controller; -import static de.caritas.cob.userservice.api.adapters.web.controller.UserAdminControllerIT.ADMIN_DATA_PATH; import static de.caritas.cob.userservice.api.adapters.web.controller.UserAdminControllerIT.AGENCY_ADMIN_PATH; -import static de.caritas.cob.userservice.api.adapters.web.controller.UserAdminControllerIT.CONSULTANT_PATH; -import static de.caritas.cob.userservice.api.adapters.web.controller.UserAdminControllerIT.TENANT_ADMIN_PATH; -import static de.caritas.cob.userservice.api.adapters.web.controller.UserAdminControllerIT.TENANT_ADMIN_PATH_WITHOUT_SLASH; -import static org.assertj.core.api.Assertions.assertThat; -import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.notNullValue; -import static org.hamcrest.Matchers.nullValue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.Mockito.when; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.patch; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; import com.fasterxml.jackson.databind.ObjectMapper; import com.jayway.jsonpath.JsonPath; import de.caritas.cob.userservice.api.adapters.keycloak.dto.KeycloakCreateUserResponseDTO; -import de.caritas.cob.userservice.api.adapters.rocketchat.RocketChatCredentialsProvider; import de.caritas.cob.userservice.api.adapters.web.dto.CreateAdminDTO; -import de.caritas.cob.userservice.api.adapters.web.dto.CreateConsultantDTO; -import de.caritas.cob.userservice.api.adapters.web.dto.PatchAdminDTO; -import de.caritas.cob.userservice.api.adapters.web.dto.UpdateAgencyAdminDTO; -import de.caritas.cob.userservice.api.adapters.web.dto.UpdateTenantAdminDTO; import de.caritas.cob.userservice.api.admin.service.tenant.TenantService; import de.caritas.cob.userservice.api.config.apiclient.AgencyServiceApiControllerFactory; import de.caritas.cob.userservice.api.config.apiclient.ConsultingTypeServiceApiControllerFactory; @@ -37,24 +21,17 @@ import de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue; import de.caritas.cob.userservice.api.config.auth.IdentityConfig; import de.caritas.cob.userservice.api.helper.AuthenticatedUser; -import de.caritas.cob.userservice.api.model.Admin.AdminType; -import de.caritas.cob.userservice.api.model.User; -import de.caritas.cob.userservice.api.port.out.AdminRepository; import de.caritas.cob.userservice.api.port.out.IdentityClient; import de.caritas.cob.userservice.api.tenant.TenantResolverService; import de.caritas.cob.userservice.api.testConfig.TestAgencyControllerApi; import de.caritas.cob.userservice.consultingtypeservice.generated.web.ConsultingTypeControllerApi; import de.caritas.cob.userservice.mailservice.generated.web.MailsControllerApi; import de.caritas.cob.userservice.tenantservice.generated.web.model.RestrictedTenantDTO; -import de.caritas.cob.userservice.topicservice.generated.web.TopicControllerApi; -import java.util.LinkedHashMap; import javax.servlet.http.Cookie; -import net.minidev.json.JSONArray; import org.jeasy.random.EasyRandom; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.keycloak.admin.client.Keycloak; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -69,7 +46,6 @@ import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.client.RestTemplate; @SpringBootTest @AutoConfigureMockMvc @@ -107,11 +83,9 @@ class UserAdminControllerMultiTenancyTrueE2EIT { @MockBean TenantService tenantService; - @MockBean - TenantResolverService tenantResolverService; + @MockBean TenantResolverService tenantResolverService; - @MockBean - AuthenticatedUser authenticatedUser; + @MockBean AuthenticatedUser authenticatedUser; @AfterEach void reset() { @@ -169,8 +143,7 @@ void createNewAgencyAdmin_Should_returnOk_When_requiredCreateAgencyAdminIsGiven( @Test @WithMockUser(authorities = {AuthorityValue.USER_ADMIN}) - void createNewAgencyAdmin_Should_return500_When_superAdminHasNullTenantID() - throws Exception { + void createNewAgencyAdmin_Should_return500_When_superAdminHasNullTenantID() throws Exception { // given CreateAdminDTO createAdminDTO = new EasyRandom().nextObject(CreateAdminDTO.class); createAdminDTO.setEmail("agencyadmin@email.com"); @@ -197,38 +170,7 @@ private void givenTenantSuperAdmin() { private void givenTenant() { when(tenantResolverService.resolve(any())).thenReturn(95L); - when(tenantService.getRestrictedTenantData(anyLong())).thenReturn(new RestrictedTenantDTO().subdomain("subdomain")); + when(tenantService.getRestrictedTenantData(anyLong())) + .thenReturn(new RestrictedTenantDTO().subdomain("subdomain")); } } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/java/de/caritas/cob/userservice/api/admin/service/admin/create/CreateAdminServiceIT.java b/src/test/java/de/caritas/cob/userservice/api/admin/service/admin/create/CreateAdminServiceIT.java index 0b9c11d74..33706127e 100644 --- a/src/test/java/de/caritas/cob/userservice/api/admin/service/admin/create/CreateAdminServiceIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/admin/service/admin/create/CreateAdminServiceIT.java @@ -171,7 +171,7 @@ public void afterTests() { @Test public void - createNewAdminAgency_Should_returnExpectedCreatedAdmin_When_userIsSuperAdminAndInputDataIsCorrectAndMultitenancyDisabled() { + createNewAdminAgency_Should_returnExpectedCreatedAdmin_When_userIsSuperAdminAndInputDataIsCorrectAndMultitenancyDisabled() { // given ReflectionTestUtils.setField(createAdminService, "multiTenancyEnabled", false); TenantContext.setCurrentTenant(0L); From 20c0729acf4cd63f260fd7bd8ffc1b0fc712d510 Mon Sep 17 00:00:00 2001 From: LeandroSilva Date: Tue, 26 Mar 2024 15:26:09 +0100 Subject: [PATCH 3/3] feat: Remove unneeded mocks on setUp --- ...rAdminControllerMultiTenancyTrueE2EIT.java | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerMultiTenancyTrueE2EIT.java b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerMultiTenancyTrueE2EIT.java index 9bf13c371..e71e304f8 100644 --- a/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerMultiTenancyTrueE2EIT.java +++ b/src/test/java/de/caritas/cob/userservice/api/adapters/web/controller/UserAdminControllerMultiTenancyTrueE2EIT.java @@ -16,16 +16,11 @@ import de.caritas.cob.userservice.api.adapters.web.dto.CreateAdminDTO; import de.caritas.cob.userservice.api.admin.service.tenant.TenantService; import de.caritas.cob.userservice.api.config.apiclient.AgencyServiceApiControllerFactory; -import de.caritas.cob.userservice.api.config.apiclient.ConsultingTypeServiceApiControllerFactory; -import de.caritas.cob.userservice.api.config.apiclient.MailServiceApiControllerFactory; import de.caritas.cob.userservice.api.config.auth.Authority.AuthorityValue; import de.caritas.cob.userservice.api.config.auth.IdentityConfig; import de.caritas.cob.userservice.api.helper.AuthenticatedUser; import de.caritas.cob.userservice.api.port.out.IdentityClient; import de.caritas.cob.userservice.api.tenant.TenantResolverService; -import de.caritas.cob.userservice.api.testConfig.TestAgencyControllerApi; -import de.caritas.cob.userservice.consultingtypeservice.generated.web.ConsultingTypeControllerApi; -import de.caritas.cob.userservice.mailservice.generated.web.MailsControllerApi; import de.caritas.cob.userservice.tenantservice.generated.web.model.RestrictedTenantDTO; import javax.servlet.http.Cookie; import org.jeasy.random.EasyRandom; @@ -34,7 +29,6 @@ import org.junit.jupiter.api.Test; import org.mockito.Mockito; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; @@ -62,21 +56,8 @@ class UserAdminControllerMultiTenancyTrueE2EIT { @Autowired private ObjectMapper objectMapper; - @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") - @Autowired - private ConsultingTypeControllerApi consultingTypeControllerApi; - @Autowired private IdentityConfig identityConfig; - @MockBean - private ConsultingTypeServiceApiControllerFactory consultingTypeServiceApiControllerFactory; - - @MockBean private MailServiceApiControllerFactory mailServiceApiControllerFactory; - - @MockBean - @Qualifier("mailsControllerApi") - private MailsControllerApi mailsControllerApi; - @MockBean AgencyServiceApiControllerFactory agencyServiceApiControllerFactory; @MockBean IdentityClient identityClient; @@ -94,14 +75,6 @@ void reset() { @BeforeEach public void setUp() { - when(agencyServiceApiControllerFactory.createControllerApi()) - .thenReturn( - new TestAgencyControllerApi( - new de.caritas.cob.userservice.agencyserivce.generated.ApiClient())); - - when(consultingTypeServiceApiControllerFactory.createControllerApi()) - .thenReturn(consultingTypeControllerApi); - when(mailServiceApiControllerFactory.createControllerApi()).thenReturn(mailsControllerApi); KeycloakCreateUserResponseDTO keycloakResponse = new KeycloakCreateUserResponseDTO(); keycloakResponse.setUserId(new EasyRandom().nextObject(String.class));