From 51f28963ff28e3e6d76ca2a0af780afe23b6c4ea Mon Sep 17 00:00:00 2001 From: maverickstuder Date: Mon, 12 Feb 2024 09:14:49 +0100 Subject: [PATCH] RED-8432: Return 400 if invalid date for file attributes is set --- .../tests/DossierAttributeTest.java | 159 +++++++++++++----- .../integration/tests/FileAttributeTest.java | 107 +++++++----- .../dossier/DossierAttributeTypeFormats.java | 2 +- .../file/FileAttributeTypeFormats.java | 2 +- 4 files changed, 187 insertions(+), 83 deletions(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java index 9219827b3..e8bd62bc2 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/DossierAttributeTest.java @@ -69,21 +69,27 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { assertThat(loadedAttributes.getDossierAttributeConfigs()).isNotEmpty(); dossierAttributeConfigClient.deleteDossierAttributesConfig(dossier.getDossierTemplateId(), - loadedAttributes.getDossierAttributeConfigs().stream().map(DossierAttributeConfig::getId).collect(Collectors.toList())); + loadedAttributes.getDossierAttributeConfigs() + .stream() + .map(DossierAttributeConfig::getId) + .collect(Collectors.toList())); dossierAttributeConfigClient.setDossierAttributesConfig(dossier.getDossierTemplateId(), new DossierAttributesConfig(List.of(attribute))); loadedAttributes = dossierAttributeConfigClient.getDossierAttributesConfig(dossier.getDossierTemplateId()); assertThat(loadedAttributes.getDossierAttributeConfigs()).isNotEmpty(); - var configId = loadedAttributes.getDossierAttributeConfigs().iterator().next().getId(); + var configId = loadedAttributes.getDossierAttributeConfigs() + .iterator().next().getId(); List dossierAttributes = new ArrayList<>(); - dossierAttributes.add(DossierAttribute.builder().dossierAttributeConfigId(configId).dossierId(dossier.getId()).value("lorem ipsum").build()); + dossierAttributes.add(DossierAttribute.builder().dossierAttributeConfigId(configId).dossierId(dossier.getId()).value("lorem ipsum") + .build()); dossierAttributeClient.setDossierAttributes(dossier.getId(), new DossierAttributes(dossierAttributes)); var loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId()); assertThat(loadedAttributeValues.getDossierAttributeList()).isNotEmpty(); - var firstAttribute = loadedAttributeValues.getDossierAttributeList().iterator().next(); + var firstAttribute = loadedAttributeValues.getDossierAttributeList() + .iterator().next(); assertThat(firstAttribute.getValue()).isEqualTo("lorem ipsum"); firstAttribute.setValue(" "); @@ -91,7 +97,8 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId()); assertThat(loadedAttributeValues.getDossierAttributeList()).isNotEmpty(); - firstAttribute = loadedAttributeValues.getDossierAttributeList().iterator().next(); + firstAttribute = loadedAttributeValues.getDossierAttributeList() + .iterator().next(); assertThat(firstAttribute.getValue()).isNull(); firstAttribute.setValue(null); @@ -99,7 +106,8 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId()); assertThat(loadedAttributeValues.getDossierAttributeList()).isNotEmpty(); - firstAttribute = loadedAttributeValues.getDossierAttributeList().iterator().next(); + firstAttribute = loadedAttributeValues.getDossierAttributeList() + .iterator().next(); assertThat(firstAttribute.getValue()).isNull(); dossierAttributeClient.deleteDossierAttribute(dossier.getId(), firstAttribute.getDossierAttributeConfigId()); @@ -112,7 +120,8 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { //delete the list of dossier attribute config with child dossierAttributeConfigClient.deleteDossierAttributesConfig(dossier.getDossierTemplateId(), - Lists.newArrayList(loadedAttributes.getDossierAttributeConfigs().iterator().next().getId())); + Lists.newArrayList(loadedAttributes.getDossierAttributeConfigs() + .iterator().next().getId())); loadedAttributes = dossierAttributeConfigClient.getDossierAttributesConfig(dossier.getDossierTemplateId()); assertThat(loadedAttributes.getDossierAttributeConfigs()).isEmpty(); loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId()); @@ -131,15 +140,20 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { assertThat(loadedAttributes.getDossierAttributeConfigs()).isEmpty(); dossierAttributeConfigClient.addOrUpdateDossierAttributeConfig(dossier.getDossierTemplateId(), - DossierAttributeConfig.builder().label("Text").editable(true).type(DossierAttributeType.TEXT).build()); + DossierAttributeConfig.builder().label("Text").editable(true).type(DossierAttributeType.TEXT) + .build()); dossierAttributeConfigClient.addOrUpdateDossierAttributeConfig(dossier.getDossierTemplateId(), - DossierAttributeConfig.builder().label("Number").editable(true).type(DossierAttributeType.NUMBER).build()); + DossierAttributeConfig.builder().label("Number").editable(true).type(DossierAttributeType.NUMBER) + .build()); dossierAttributeConfigClient.addOrUpdateDossierAttributeConfig(dossier.getDossierTemplateId(), - DossierAttributeConfig.builder().label("Date").editable(true).type(DossierAttributeType.DATE).build()); + DossierAttributeConfig.builder().label("Date").editable(true).type(DossierAttributeType.DATE) + .build()); dossierAttributeConfigClient.addOrUpdateDossierAttributeConfig(dossier.getDossierTemplateId(), - DossierAttributeConfig.builder().label("Image1").editable(true).type(DossierAttributeType.IMAGE).build()); + DossierAttributeConfig.builder().label("Image1").editable(true).type(DossierAttributeType.IMAGE) + .build()); dossierAttributeConfigClient.addOrUpdateDossierAttributeConfig(dossier.getDossierTemplateId(), - DossierAttributeConfig.builder().label("Image2").editable(true).type(DossierAttributeType.IMAGE).build()); + DossierAttributeConfig.builder().label("Image2").editable(true).type(DossierAttributeType.IMAGE) + .build()); loadedAttributes = dossierAttributeConfigClient.getDossierAttributesConfig(dossier.getDossierTemplateId()); assertThat(loadedAttributes.getDossierAttributeConfigs().size()).isEqualTo(5); @@ -151,68 +165,127 @@ public class DossierAttributeTest extends AbstractPersistenceServerServiceTest { String valueConfig3 = "data:image/png;base64,w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==..."; String valueConfig4 = "data:image/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4..."; List dossierAttributes = new ArrayList<>(); - dossierAttributes.add(DossierAttribute.builder().dossierAttributeConfigId(configIds.get(0).getId()).dossierId(dossier.getId()).value(valueConfig0).build()); - dossierAttributes.add(DossierAttribute.builder().dossierAttributeConfigId(configIds.get(1).getId()).dossierId(dossier.getId()).value(valueConfig1).build()); - dossierAttributes.add(DossierAttribute.builder().dossierAttributeConfigId(configIds.get(2).getId()).dossierId(dossier.getId()).value(valueConfig2).build()); - dossierAttributes.add(DossierAttribute.builder().dossierAttributeConfigId(configIds.get(3).getId()).dossierId(dossier.getId()).value(valueConfig3).build()); + dossierAttributes.add(DossierAttribute.builder().dossierAttributeConfigId(configIds.get(0).getId()).dossierId(dossier.getId()).value(valueConfig0) + .build()); + dossierAttributes.add(DossierAttribute.builder().dossierAttributeConfigId(configIds.get(1).getId()).dossierId(dossier.getId()).value(valueConfig1) + .build()); + dossierAttributes.add(DossierAttribute.builder().dossierAttributeConfigId(configIds.get(2).getId()).dossierId(dossier.getId()).value(valueConfig2) + .build()); + dossierAttributes.add(DossierAttribute.builder().dossierAttributeConfigId(configIds.get(3).getId()).dossierId(dossier.getId()).value(valueConfig3) + .build()); dossierAttributeClient.setDossierAttributes(dossier.getId(), new DossierAttributes(dossierAttributes)); - DossierAttribute imageAttribute = DossierAttribute.builder().dossierAttributeConfigId(configIds.get(4).getId()).dossierId(dossier.getId()).value(valueConfig4).build(); + DossierAttribute imageAttribute = DossierAttribute.builder().dossierAttributeConfigId(configIds.get(4).getId()).dossierId(dossier.getId()).value(valueConfig4) + .build(); dossierAttributeClient.addOrUpdateDossierAttribute(dossier.getId(), imageAttribute); var loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId()); assertThat(loadedAttributeValues.getDossierAttributeList().size()).isEqualTo(5); - assertThat(loadedAttributeValues.getDossierAttributeList().get(0).getValue()).isEqualTo(valueConfig0); - assertThat(loadedAttributeValues.getDossierAttributeList().get(1).getValue()).isEqualTo(valueConfig1); - assertThat(loadedAttributeValues.getDossierAttributeList().get(2).getValue()).isEqualTo(valueConfig2); - assertThat(loadedAttributeValues.getDossierAttributeList().get(3).getValue()).isEqualTo(valueConfig3); - assertThat(loadedAttributeValues.getDossierAttributeList().get(4).getValue()).isEqualTo(valueConfig4); + assertThat(loadedAttributeValues.getDossierAttributeList() + .get(0).getValue()).isEqualTo(valueConfig0); + assertThat(loadedAttributeValues.getDossierAttributeList() + .get(1).getValue()).isEqualTo(valueConfig1); + assertThat(loadedAttributeValues.getDossierAttributeList() + .get(2).getValue()).isEqualTo(valueConfig2); + assertThat(loadedAttributeValues.getDossierAttributeList() + .get(3).getValue()).isEqualTo(valueConfig3); + assertThat(loadedAttributeValues.getDossierAttributeList() + .get(4).getValue()).isEqualTo(valueConfig4); String valueUpdate = "data:image/jpeg;base64,jkaf0000JJkasfaiiiiiHHHEkkkkki12Pd3Jaks222ggggB..."; imageAttribute.setValue(valueUpdate); dossierAttributeClient.addOrUpdateDossierAttribute(dossier.getId(), imageAttribute); loadedAttributeValues = dossierAttributeClient.getDossierAttributes(dossier.getId()); - assertThat(loadedAttributeValues.getDossierAttributeList().get(4).getValue()).isEqualTo(valueUpdate); + assertThat(loadedAttributeValues.getDossierAttributeList() + .get(4).getValue()).isEqualTo(valueUpdate); var e = assertThrows(FeignException.class, - () -> dossierAttributeClient.addOrUpdateDossierAttribute(dossier.getId(), - DossierAttribute.builder().dossierAttributeConfigId(configIds.get(1).getId()).dossierId(dossier.getId()).value("12345qwer").build())); + () -> dossierAttributeClient.addOrUpdateDossierAttribute(dossier.getId(), + DossierAttribute.builder() + .dossierAttributeConfigId(configIds.get(1).getId()) + .dossierId(dossier.getId()) + .value("12345qwer") + .build())); assertEquals(400, e.status()); e = assertThrows(FeignException.class, - () -> dossierAttributeClient.addOrUpdateDossierAttribute(dossier.getId(), - DossierAttribute.builder().dossierAttributeConfigId(configIds.get(2).getId()).dossierId(dossier.getId()).value("07.02.2024").build())); + () -> dossierAttributeClient.addOrUpdateDossierAttribute(dossier.getId(), + DossierAttribute.builder() + .dossierAttributeConfigId(configIds.get(1).getId()) + .dossierId(dossier.getId()) + .value("") + .build())); assertEquals(400, e.status()); e = assertThrows(FeignException.class, - () -> dossierAttributeClient.addOrUpdateDossierAttribute(dossier.getId(), - DossierAttribute.builder().dossierAttributeConfigId(configIds.get(2).getId()).dossierId(dossier.getId()).value("2021-17-31").build())); + () -> dossierAttributeClient.addOrUpdateDossierAttribute(dossier.getId(), + DossierAttribute.builder() + .dossierAttributeConfigId(configIds.get(2).getId()) + .dossierId(dossier.getId()) + .value("07.02.2024") + .build())); assertEquals(400, e.status()); e = assertThrows(FeignException.class, - () -> dossierAttributeClient.addOrUpdateDossierAttribute(dossier.getId(), - DossierAttribute.builder().dossierAttributeConfigId(configIds.get(3).getId()).dossierId(dossier.getId()).value("data:image/gif;base64,test").build())); + () -> dossierAttributeClient.addOrUpdateDossierAttribute(dossier.getId(), + DossierAttribute.builder() + .dossierAttributeConfigId(configIds.get(2).getId()) + .dossierId(dossier.getId()) + .value("2021-17-31") + .build())); + assertEquals(400, e.status()); + e = assertThrows(FeignException.class, + () -> dossierAttributeClient.addOrUpdateDossierAttribute(dossier.getId(), + DossierAttribute.builder() + .dossierAttributeConfigId(configIds.get(2).getId()) + .dossierId(dossier.getId()) + .value("") + .build())); + assertEquals(400, e.status()); + e = assertThrows(FeignException.class, + () -> dossierAttributeClient.addOrUpdateDossierAttribute(dossier.getId(), + DossierAttribute.builder() + .dossierAttributeConfigId(configIds.get(3).getId()) + .dossierId(dossier.getId()) + .value("data:image/gif;base64,test") + .build())); assertEquals(400, e.status()); List invalidDossierAttributes1 = List.of(DossierAttribute.builder() - .dossierAttributeConfigId(configIds.get(0).getId()) - .dossierId(dossier.getId()) - .value(valueConfig0) - .build(), DossierAttribute.builder().dossierAttributeConfigId(configIds.get(1).getId()).dossierId(dossier.getId()).value("asdf12345").build()); + .dossierAttributeConfigId(configIds.get(0).getId()) + .dossierId(dossier.getId()) + .value(valueConfig0) + .build(), + DossierAttribute.builder() + .dossierAttributeConfigId(configIds.get(1).getId()) + .dossierId(dossier.getId()) + .value("asdf12345") + .build()); e = assertThrows(FeignException.class, () -> dossierAttributeClient.setDossierAttributes(dossier.getId(), new DossierAttributes(invalidDossierAttributes1))); assertEquals(400, e.status()); List invalidDossierAttributes2 = List.of(DossierAttribute.builder() - .dossierAttributeConfigId(configIds.get(1).getId()) - .dossierId(dossier.getId()) - .value(valueConfig1) - .build(), DossierAttribute.builder().dossierAttributeConfigId(configIds.get(2).getId()).dossierId(dossier.getId()).value("20140705").build()); + .dossierAttributeConfigId(configIds.get(1).getId()) + .dossierId(dossier.getId()) + .value(valueConfig1) + .build(), + DossierAttribute.builder() + .dossierAttributeConfigId(configIds.get(2).getId()) + .dossierId(dossier.getId()) + .value("20140705") + .build()); e = assertThrows(FeignException.class, () -> dossierAttributeClient.setDossierAttributes(dossier.getId(), new DossierAttributes(invalidDossierAttributes2))); assertEquals(400, e.status()); List invalidDossierAttributes3 = List.of(DossierAttribute.builder() - .dossierAttributeConfigId(configIds.get(1).getId()) - .dossierId(dossier.getId()) - .value(valueConfig1) - .build(), DossierAttribute.builder().dossierAttributeConfigId(configIds.get(3).getId()).dossierId(dossier.getId()).value("data:image/jpe;base64,test").build()); + .dossierAttributeConfigId(configIds.get(1).getId()) + .dossierId(dossier.getId()) + .value(valueConfig1) + .build(), + DossierAttribute.builder() + .dossierAttributeConfigId(configIds.get(3).getId()) + .dossierId(dossier.getId()) + .value("data:image/jpe;base64,test") + .build()); e = assertThrows(FeignException.class, () -> dossierAttributeClient.setDossierAttributes(dossier.getId(), new DossierAttributes(invalidDossierAttributes3))); assertEquals(400, e.status()); + } } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileAttributeTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileAttributeTest.java index 39f41d4af..b91cf9bad 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileAttributeTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileAttributeTest.java @@ -82,34 +82,42 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest { assertThat(loadedConfig.getEncoding()).isEqualTo(ASCII_ENCODING); List configs = new ArrayList<>(); - configs.add(FileAttributeConfig.builder().csvColumnHeader("Name").primaryAttribute(true).label("Name").build()); - configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute A").primaryAttribute(true).label("Attribute A").build()); - FileAttributeConfig attributeB = FileAttributeConfig.builder().csvColumnHeader("Attribute B").primaryAttribute(true).label("Attribute B").build(); + configs.add(FileAttributeConfig.builder().csvColumnHeader("Name").primaryAttribute(true).label("Name") + .build()); + configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute A").primaryAttribute(true).label("Attribute A") + .build()); + FileAttributeConfig attributeB = FileAttributeConfig.builder().csvColumnHeader("Attribute B").primaryAttribute(true).label("Attribute B") + .build(); configs.add(attributeB); - configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute C").primaryAttribute(false).label("Attribute C").build()); - configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute D").primaryAttribute(false).label("Attribute D").build()); + configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute C").primaryAttribute(false).label("Attribute C") + .build()); + configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute D").primaryAttribute(false).label("Attribute D") + .build()); fileAttributeConfigClient.setFileAttributesConfig(dossier.getDossierTemplateId(), new FileAttributesConfig("Name", ",", UTF_ENCODING, configs)); List loadedConfigs = fileAttributeConfigClient.getFileAttributesConfiguration(dossier.getDossierTemplateId()).getFileAttributeConfigs(); assertThat(loadedConfigs.size()).isEqualTo(5); - FileAttributeConfig primaryAttribute = loadedConfigs.stream().filter(FileAttributeConfig::isPrimaryAttribute).findAny().get(); + FileAttributeConfig primaryAttribute = loadedConfigs.stream() + .filter(FileAttributeConfig::isPrimaryAttribute) + .findAny() + .get(); assertThat(primaryAttribute.getLabel()).isEqualTo(attributeB.getLabel()); fileAttributeConfigClient.deleteFileAttribute(dossier.getDossierTemplateId(), - loadedConfigs.stream() - .filter(a -> a.getCsvColumnHeader().equalsIgnoreCase("Attribute C")) - .findAny() - .map(FileAttributeConfig::getId) - .orElseThrow(() -> new IllegalArgumentException("Should exists!"))); + loadedConfigs.stream() + .filter(a -> a.getCsvColumnHeader().equalsIgnoreCase("Attribute C")) + .findAny() + .map(FileAttributeConfig::getId) + .orElseThrow(() -> new IllegalArgumentException("Should exists!"))); fileAttributeConfigClient.deleteFileAttributes(dossier.getDossierTemplateId(), - loadedConfigs.stream() - .filter(a -> a.getCsvColumnHeader().equalsIgnoreCase("Attribute D")) - .findAny() - .map(FileAttributeConfig::getId) - .stream() - .collect(Collectors.toList())); + loadedConfigs.stream() + .filter(a -> a.getCsvColumnHeader().equalsIgnoreCase("Attribute D")) + .findAny() + .map(FileAttributeConfig::getId) + .stream() + .collect(Collectors.toList())); loadedConfigs = fileAttributeConfigClient.getFileAttributesConfiguration(dossier.getDossierTemplateId()).getFileAttributeConfigs(); assertThat(loadedConfigs.size()).isEqualTo(3); @@ -137,13 +145,15 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest { Map fileAttributes = fileClient.getFileStatus(dossier.getId(), file.getId()).getFileAttributes().getAttributeIdToValue(); assertThat(fileAttributes.size()).isEqualTo(1); - assertThat(fileAttributes.entrySet().iterator().next().getValue()).isEqualTo("Lorem Ipsum"); + assertThat(fileAttributes.entrySet() + .iterator().next().getValue()).isEqualTo("Lorem Ipsum"); fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(updated.getId(), " "))); fileAttributes = fileClient.getFileStatus(dossier.getId(), file.getId()).getFileAttributes().getAttributeIdToValue(); assertThat(fileAttributes.size()).isEqualTo(1); - assertThat(fileAttributes.entrySet().iterator().next().getValue()).isNull(); + assertThat(fileAttributes.entrySet() + .iterator().next().getValue()).isNull(); Map fileAttributesWithNullValue = new HashMap<>(); fileAttributesWithNullValue.put(updated.getId(), null); @@ -151,21 +161,23 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest { fileAttributes = fileClient.getFileStatus(dossier.getId(), file.getId()).getFileAttributes().getAttributeIdToValue(); assertThat(fileAttributes.size()).isEqualTo(1); - assertThat(fileAttributes.entrySet().iterator().next().getValue()).isNull(); + assertThat(fileAttributes.entrySet() + .iterator().next().getValue()).isNull(); - var mock = new MockMultipartFile("test.csv","test.csv","application/csv", IOUtils.toByteArray(new ClassPathResource("files/test.csv").getInputStream())); + var mock = new MockMultipartFile("test.csv", "test.csv", "application/csv", IOUtils.toByteArray(new ClassPathResource("files/test.csv").getInputStream())); uploadClient.upload(mock, dossier.getId(), false); fileAttributes = fileClient.getFileStatus(dossier.getId(), file.getId()).getFileAttributes().getAttributeIdToValue(); assertThat(fileAttributes.size()).isEqualTo(2); - fileAttributes.put(fileAttributes.keySet().iterator().next(), "changed"); + fileAttributes.put(fileAttributes.keySet() + .iterator().next(), "changed"); fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(fileAttributes)); fileAttributes = fileClient.getFileStatus(dossier.getId(), file.getId()).getFileAttributes().getAttributeIdToValue(); assertThat(fileAttributes.size()).isEqualTo(2); - fileAttributeConfigClient.setFileAttributesConfig(dossier.getDossierTemplateId(), new FileAttributesConfig("Name",",","ASCII",new ArrayList<>())); + fileAttributeConfigClient.setFileAttributesConfig(dossier.getDossierTemplateId(), new FileAttributesConfig("Name", ",", "ASCII", new ArrayList<>())); loadedConfigs = fileAttributeConfigClient.getFileAttributesConfiguration(dossier.getDossierTemplateId()).getFileAttributeConfigs(); assertThat(loadedConfigs.size()).isEqualTo(0); @@ -192,11 +204,16 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest { assertThat(loadedConfig.getDelimiter()).isEqualTo(","); List configs = new ArrayList<>(); - configs.add(FileAttributeConfig.builder().csvColumnHeader("Name").primaryAttribute(true).label("Name").build()); - configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute A").primaryAttribute(false).label("Attribute A").build()); - configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute B").primaryAttribute(false).label("Attribute B").build()); - configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute C").primaryAttribute(false).label("Attribute C").build()); - configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute D").primaryAttribute(false).label("Attribute D").build()); + configs.add(FileAttributeConfig.builder().csvColumnHeader("Name").primaryAttribute(true).label("Name") + .build()); + configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute A").primaryAttribute(false).label("Attribute A") + .build()); + configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute B").primaryAttribute(false).label("Attribute B") + .build()); + configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute C").primaryAttribute(false).label("Attribute C") + .build()); + configs.add(FileAttributeConfig.builder().csvColumnHeader("Attribute D").primaryAttribute(false).label("Attribute D") + .build()); generalConfig.setFileAttributeConfigs(configs); @@ -209,7 +226,8 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest { Map fileAttributes = fileClient.getFileStatus(dossier.getId(), file.getId()).getFileAttributes().getAttributeIdToValue(); assertThat(fileAttributes.size()).isEqualTo(1); - assertThat(fileAttributes.entrySet().iterator().next().getValue()).isEqualTo("Lorem Ipsum"); + assertThat(fileAttributes.entrySet() + .iterator().next().getValue()).isEqualTo("Lorem Ipsum"); // Delete file fileManagementClient.deleteFile(dossier.getId(), file.getId()); @@ -226,7 +244,6 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest { } - @SneakyThrows @Test public void testSetFileAttributesInvalidUpdates() { @@ -244,9 +261,12 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest { assertThat(loadedConfig.getDelimiter()).isEqualTo(","); List configs = new ArrayList<>(); - configs.add(FileAttributeConfig.builder().csvColumnHeader("Date").primaryAttribute(true).label("Date").type(FileAttributeType.DATE).build()); - configs.add(FileAttributeConfig.builder().csvColumnHeader("Number").primaryAttribute(true).label("Number").type(FileAttributeType.NUMBER).build()); - configs.add(FileAttributeConfig.builder().csvColumnHeader("Text").primaryAttribute(true).label("Text").type(FileAttributeType.TEXT).build()); + configs.add(FileAttributeConfig.builder().csvColumnHeader("Date").primaryAttribute(true).label("Date").type(FileAttributeType.DATE) + .build()); + configs.add(FileAttributeConfig.builder().csvColumnHeader("Number").primaryAttribute(true).label("Number").type(FileAttributeType.NUMBER) + .build()); + configs.add(FileAttributeConfig.builder().csvColumnHeader("Text").primaryAttribute(true).label("Text").type(FileAttributeType.TEXT) + .build()); generalConfig.setFileAttributeConfigs(configs); @@ -267,15 +287,26 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest { assertThat(fileAttributes.get(loadedConfigs.get(1).getId())).isEqualTo("12345"); assertThat(fileAttributes.get(loadedConfigs.get(2).getId())).isEqualTo("Free Text 123"); - var e = assertThrows(FeignException.class, () -> fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(loadedConfigs.get(0).getId(), "random/text")))); + var e = assertThrows(FeignException.class, + () -> fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(loadedConfigs.get(0).getId(), "random/text")))); assertEquals(400, e.status()); - assertThrows(FeignException.class, () -> fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(loadedConfigs.get(0).getId(), "2023-12-32")))); + assertThrows(FeignException.class, + () -> fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(loadedConfigs.get(0).getId(), "2023-12-32")))); assertEquals(400, e.status()); - assertThrows(FeignException.class, () -> fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(loadedConfigs.get(0).getId(), "2023-02-30")))); + assertThrows(FeignException.class, + () -> fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(loadedConfigs.get(0).getId(), "2023-02-30")))); assertEquals(400, e.status()); - assertThrows(FeignException.class, () -> fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(loadedConfigs.get(1).getId(), "abc")))); + assertThrows(FeignException.class, + () -> fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(loadedConfigs.get(0).getId(), "")))); assertEquals(400, e.status()); - assertThrows(FeignException.class, () -> fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(loadedConfigs.get(1).getId(), "1-2-3-4")))); + assertThrows(FeignException.class, + () -> fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(loadedConfigs.get(1).getId(), "abc")))); + assertEquals(400, e.status()); + assertThrows(FeignException.class, + () -> fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(loadedConfigs.get(1).getId(), "1-2-3-4")))); + assertEquals(400, e.status()); + assertThrows(FeignException.class, + () -> fileAttributeClient.setFileAttributes(dossier.getId(), file.getId(), new FileAttributes(Map.of(loadedConfigs.get(1).getId(), "")))); assertEquals(400, e.status()); } diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/dossier/DossierAttributeTypeFormats.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/dossier/DossierAttributeTypeFormats.java index 56cbaa854..b75823e41 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/dossier/DossierAttributeTypeFormats.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/dossier/DossierAttributeTypeFormats.java @@ -6,5 +6,5 @@ public class DossierAttributeTypeFormats { public static String DOSSIER_ATTRIBUTE_TYPE_IMAGE_REGEX = "data:image/(png|jpe?g);base64.*"; - public static String DOSSIER_ATTRIBUTE_TYPE_NUMBER_REGEX = "[0-9]*"; + public static String DOSSIER_ATTRIBUTE_TYPE_NUMBER_REGEX = "[0-9]+"; } diff --git a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/dossier/file/FileAttributeTypeFormats.java b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/dossier/file/FileAttributeTypeFormats.java index c81a64ffe..5228f10a6 100644 --- a/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/dossier/file/FileAttributeTypeFormats.java +++ b/persistence-service-v1/persistence-service-shared-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/model/dossiertemplate/dossier/file/FileAttributeTypeFormats.java @@ -4,5 +4,5 @@ public class FileAttributeTypeFormats { public static String FILE_ATTRIBUTE_TYPE_DATE_FORMAT = "yyyy-MM-dd"; - public static String FILE_ATTRIBUTE_TYPE_NUMBER_REGEX = "[0-9]*"; + public static String FILE_ATTRIBUTE_TYPE_NUMBER_REGEX = "[0-9]+"; } -- 2.47.2