diff --git a/src/main/java/eu/europa/ec/dgc/gateway/repository/SignerInformationRepository.java b/src/main/java/eu/europa/ec/dgc/gateway/repository/SignerInformationRepository.java index d1f1536e..121992cf 100644 --- a/src/main/java/eu/europa/ec/dgc/gateway/repository/SignerInformationRepository.java +++ b/src/main/java/eu/europa/ec/dgc/gateway/repository/SignerInformationRepository.java @@ -70,6 +70,10 @@ List getByCertificateTypeAndCountry( @Query(SELECT_SINCE) List getIsSince(@Param("since")ZonedDateTime since, Pageable pageable); + List getByDeletedAtIsNull(); + + List getByDeletedAtIsNull(Pageable pageable); + @Query(SELECT_BY_TYPE_SINCE) List getByCertificateTypeIsSince( @Param("certType")SignerInformationEntity.CertificateType type, diff --git a/src/main/java/eu/europa/ec/dgc/gateway/service/SignerInformationService.java b/src/main/java/eu/europa/ec/dgc/gateway/service/SignerInformationService.java index 62127c16..a9ce7859 100644 --- a/src/main/java/eu/europa/ec/dgc/gateway/service/SignerInformationService.java +++ b/src/main/java/eu/europa/ec/dgc/gateway/service/SignerInformationService.java @@ -67,7 +67,7 @@ public class SignerInformationService { * @return List of SignerInformation */ public List getSignerInformation() { - return signerInformationRepository.findAll(); + return signerInformationRepository.getByDeletedAtIsNull(); } /** @@ -109,7 +109,7 @@ public List getSignerInformation(ZonedDateTime ifModif } else if (ifModifiedSince != null) { return signerInformationRepository.getIsSince(ifModifiedSince); } else if (page != null && size != null) { - return signerInformationRepository.findAll(PageRequest.of(page, size)).toList(); + return signerInformationRepository.getByDeletedAtIsNull(PageRequest.of(page, size)); } else { return getSignerInformation(); } diff --git a/src/test/java/eu/europa/ec/dgc/gateway/restapi/controller/TrustListIntegrationTest.java b/src/test/java/eu/europa/ec/dgc/gateway/restapi/controller/TrustListIntegrationTest.java index e2e9af44..fd00c608 100644 --- a/src/test/java/eu/europa/ec/dgc/gateway/restapi/controller/TrustListIntegrationTest.java +++ b/src/test/java/eu/europa/ec/dgc/gateway/restapi/controller/TrustListIntegrationTest.java @@ -193,7 +193,6 @@ void testTrustListDownloadNoFilterPageable() throws Exception { .andExpect(c -> assertTrustListItem(c, certDscEu, "EU", CertificateTypeDto.DSC, "sig2")) .andExpect(c -> assertTrustListItem(c, certDscDe2, "DE", CertificateTypeDto.DSC, "sig3")) .andExpect(c -> assertTrustListItem(c, certDscEu2, "EU", CertificateTypeDto.DSC, "sig4")) - .andExpect(c -> assertTrustListItem(c, certDscEuDeleted, "EU", CertificateTypeDto.DSC, null, true)) .andExpect(c -> assertTrustListItem(c, certCscaDe, "DE", CertificateTypeDto.CSCA, null)) .andExpect(c -> assertTrustListItem(c, certCscaEu, "EU", CertificateTypeDto.CSCA, null)) .andExpect(c -> assertTrustListItem(c, certUploadDe, "DE", CertificateTypeDto.UPLOAD, null)) @@ -206,7 +205,7 @@ void testTrustListDownloadNoFilterPageable() throws Exception { .andExpect(c -> assertTrustListItem(c, certUploadEu2, "EU", CertificateTypeDto.UPLOAD, null)) .andExpect(c -> assertTrustListItem(c, certAuthDe2, "DE", CertificateTypeDto.AUTHENTICATION, null)) .andExpect(c -> assertTrustListItem(c, certAuthEu2, "EU", CertificateTypeDto.AUTHENTICATION, null)) - .andExpect(c -> assertTrustListLength(c, 17)); + .andExpect(c -> assertTrustListLength(c, 16)); } @Test diff --git a/src/test/java/eu/europa/ec/dgc/gateway/service/SignerInformationServiceTest.java b/src/test/java/eu/europa/ec/dgc/gateway/service/SignerInformationServiceTest.java index 4378a286..0b8dd37c 100644 --- a/src/test/java/eu/europa/ec/dgc/gateway/service/SignerInformationServiceTest.java +++ b/src/test/java/eu/europa/ec/dgc/gateway/service/SignerInformationServiceTest.java @@ -91,8 +91,16 @@ void testSuccessfulGetSignerInformationIsSincePageable() throws Exception { List signerInformationEntities = signerInformationService.getSignerInformation(null, null, null); - Assertions.assertEquals(7, signerInformationEntities.size()); - Assertions.assertTrue(signerInformationEntities.stream().anyMatch(it -> it.getDeletedAt() != null && it.getSignature() == null)); + // No deleted entries if modified-since is not set + Assertions.assertEquals(6, signerInformationEntities.size()); + Assertions.assertFalse(signerInformationEntities.stream().anyMatch(it -> it.getDeletedAt() != null && it.getSignature() == null)); + + List signerInformationEntities7 = + signerInformationService.getSignerInformation(nowMinusOneHour, null, null); + // Include deleted entries if modified-since is set + Assertions.assertEquals(7, signerInformationEntities7.size()); + Assertions.assertTrue(signerInformationEntities7.stream().anyMatch(it -> it.getDeletedAt() != null && it.getSignature() == null)); + List signerInformationEntities2 = signerInformationService.getSignerInformation( nowMinusOneMinute, null, null); @@ -100,7 +108,7 @@ void testSuccessfulGetSignerInformationIsSincePageable() throws Exception { List signerInformationEntities3 = signerInformationService.getSignerInformation( null, 0, 10); - Assertions.assertEquals(7, signerInformationEntities3.size()); + Assertions.assertEquals(6, signerInformationEntities3.size()); List signerInformationEntities4 = signerInformationService.getSignerInformation( null, 10, 10);