From b14d56195e0953cb84e8c336dc874ce1ec8dea00 Mon Sep 17 00:00:00 2001 From: Viktor Seifert Date: Tue, 11 Apr 2023 16:14:19 +0200 Subject: [PATCH] RED-6467: Fix test by using a comparison method that is not dependent on a specific sorting being provided by the client --- .../tests/DossierTemplateTest.java | 40 ++++++++++++++----- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateTest.java index a36412f19..835f52448 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierTemplateTest.java @@ -7,6 +7,7 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; +import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.Test; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -34,6 +35,7 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierAttr import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierStatusRequest; import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierTemplateModel; import com.iqser.red.service.persistence.service.v1.api.shared.model.FileAttributesConfig; +import com.iqser.red.service.persistence.service.v1.api.shared.model.TypeValue; import com.iqser.red.service.persistence.service.v1.api.shared.model.WatermarkModel; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.CloneDossierTemplateRequest; import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.DossierAttributeConfig; @@ -311,9 +313,9 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest { assertThat(reportTemplateClient.getAvailableReportTemplates(dossierTemplate.getId()).get(0).getFileName()).isEqualTo(reportTemplateClient.getAvailableReportTemplates( clonedDT.getId()).get(0).getFileName()); assertThat(dictionaryClient.getColors(dossierTemplate.getId()).getRequestAddColor()).isEqualTo(dictionaryClient.getColors(clonedDT.getId()).getRequestAddColor()); - assertThat(dictionaryClient.getAllTypes(dossierTemplate.getId(), null, false).getTypes().get(0).getRank()).isEqualTo(dictionaryClient.getAllTypes(clonedDT.getId(), - null, - false).getTypes().get(0).getRank()); + var types = getTypesSortedByRank(dossierTemplate.getId()); + var clonedTypes = getTypesSortedByRank(clonedDT.getId()); + assertThat(types).usingElementComparatorIgnoringFields("typeId", "dossierTemplateId").isEqualTo(clonedTypes); assertThat(dossierStatusClient.getAllDossierStatusForTemplate(dossierTemplate.getId()) .get(0) .getDescription()).isEqualTo(dossierStatusClient.getAllDossierStatusForTemplate(clonedDT.getId()).get(0).getDescription()); @@ -324,6 +326,19 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest { } + @NotNull + private List getTypesSortedByRank(String dossierTemplateId) { + + return dictionaryClient.getAllTypes(dossierTemplateId, null, false).getTypes().stream().sorted(DossierTemplateTest::compareByRank).toList(); + } + + + private static int compareByRank(TypeValue o1, TypeValue o2) { + + return o1.getRank() - o2.getRank(); + } + + @SneakyThrows @Test public void testExportDossierTemplate() { @@ -664,14 +679,19 @@ public class DossierTemplateTest extends AbstractPersistenceServerServiceTest { public void testImportDossierTemplateNewTemplatewithCompressionRatioThresholdSurpassed() { String fileZip = "EFSA_sanitisation_GFL_v1_adress_parts.zip"; - InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(fileZip); + try (InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(fileZip)) { + if (inputStream == null) { + throw new RuntimeException("Resource " + fileZip + " was not found on the classpath or is not readable"); + } + + ImportDossierTemplateRequest request1 = ImportDossierTemplateRequest.builder() + .dossierTemplateId("sds") + .updateExistingDossierTemplate(false) + .userId("1") + .archive(inputStream.readAllBytes()) + .build(); + } - ImportDossierTemplateRequest request1 = ImportDossierTemplateRequest.builder() - .dossierTemplateId("sds") - .updateExistingDossierTemplate(false) - .userId("1") - .archive(inputStream.readAllBytes()) - .build(); // TODO MIGRATION *** // try { // var newDossierTemplate = dossierTemplateClient.importDossierTemplate(request1);