diff --git a/src/main/java/de/ozgcloud/admin/reporting/AggregationMappingRepository.java b/src/main/java/de/ozgcloud/admin/reporting/AggregationMappingRepository.java index 249aa175f5c7a313ba1e69dd178926fd29c8f2a0..437b5f0ee6040f6547bf6d0dc58960c48c170818 100644 --- a/src/main/java/de/ozgcloud/admin/reporting/AggregationMappingRepository.java +++ b/src/main/java/de/ozgcloud/admin/reporting/AggregationMappingRepository.java @@ -30,10 +30,13 @@ import org.springframework.data.mongodb.repository.Query; import org.springframework.data.rest.core.annotation.RepositoryRestResource; import org.springframework.security.access.annotation.Secured; -@Secured("ROLE_DATENBEAUFTRAGUNG") @RepositoryRestResource interface AggregationMappingRepository extends MongoRepository<AggregationMapping, String> { + @Override - @Query("{'_class': 'AggregationMapping'}") + @Secured("ROLE_DATENBEAUFTRAGUNG") List<AggregationMapping> findAll(); + + @Query("{}") + List<AggregationMapping> findAllUnsecured(); } diff --git a/src/main/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoService.java b/src/main/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoService.java index afaaaed64b05413fff0613a1c63a6cd83be5e2e0..72197f814280aa2948b06fe8c7c33bbf8398737a 100644 --- a/src/main/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoService.java +++ b/src/main/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoService.java @@ -40,7 +40,7 @@ class ReportingAggregationManagerSettingDtoService implements SettingDtoService @Override public ReportingAggregationManagerSettingDto getDataTransferObject() { - return mapToDto(repository.findAll()); + return mapToDto(repository.findAllUnsecured()); } ReportingAggregationManagerSettingDto mapToDto(List<AggregationMapping> aggregationMappings) { diff --git a/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingEnvironmentSettingITCase.java b/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingEnvironmentSettingITCase.java index 6425ab46f63a9444d8a18261d29c32b5155bd10d..d65fc2dbc0b24c6dca93ec46a91614f6bca34b2c 100644 --- a/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingEnvironmentSettingITCase.java +++ b/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingEnvironmentSettingITCase.java @@ -33,18 +33,15 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.data.mongodb.core.MongoOperations; -import org.springframework.security.test.context.support.WithMockUser; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.ResultActions; -import de.ozgcloud.admin.common.user.UserRole; import de.ozgcloud.admin.setting.YamlTestFactory; import de.ozgcloud.common.test.DataITCase; import lombok.SneakyThrows; @DataITCase @AutoConfigureMockMvc -@WithMockUser(roles = UserRole.DATENBEAUFTRAGUNG) public class AggregationMappingEnvironmentSettingITCase { @Autowired diff --git a/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingRepositoryITCase.java b/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingRepositoryITCase.java index 8012939ce12cd2313b32e28bc7a116f6d267ebe5..9a0a9ca6e5259b3d6dc3004cedddd43a4a4e665f 100644 --- a/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingRepositoryITCase.java +++ b/src/test/java/de/ozgcloud/admin/reporting/AggregationMappingRepositoryITCase.java @@ -61,6 +61,15 @@ class AggregationMappingRepositoryITCase { assertThat(result).hasSize(1); } + @Test + void shouldLoadWithoutRole() { + operations.save(AggregationMappingTestFactory.create()); + + var result = repository.findAllUnsecured(); + + assertThat(result).hasSize(1); + } + @Test @WithMockUser void shouldThrowExceptionOnMissingRole() { diff --git a/src/test/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoServiceTest.java b/src/test/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoServiceTest.java index 412869536adf67ea9f470d6840d2c1d0a1ff1630..db27eeb32d0776b378f333749c0238efd90c6515 100644 --- a/src/test/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoServiceTest.java +++ b/src/test/java/de/ozgcloud/admin/reporting/ReportingAggregationManagerSettingDtoServiceTest.java @@ -88,13 +88,13 @@ class ReportingAggregationManagerSettingDtoServiceTest { void shouldCallRepository() { service.getDataTransferObject(); - verify(repository).findAll(); + verify(repository).findAllUnsecured(); } @Test void shouldCallMapToDto() { AggregationMapping mapping = AggregationMappingTestFactory.create(); - when(repository.findAll()).thenReturn(List.of(mapping)); + when(repository.findAllUnsecured()).thenReturn(List.of(mapping)); service.getDataTransferObject();