RED-8432: Return 400 if invalid date for file attributes is set #346
@ -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<DossierAttribute> 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<DossierAttribute> 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<DossierAttribute> 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<DossierAttribute> 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<DossierAttribute> 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());
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -82,34 +82,42 @@ public class FileAttributeTest extends AbstractPersistenceServerServiceTest {
|
||||
assertThat(loadedConfig.getEncoding()).isEqualTo(ASCII_ENCODING);
|
||||
|
||||
List<FileAttributeConfig> 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<FileAttributeConfig> 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<String, String> 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<String, String> 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<FileAttributeConfig> 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<String, String> 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<FileAttributeConfig> 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());
|
||||
|
||||
}
|
||||
|
||||
@ -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]+";
|
||||
}
|
||||
|
||||
@ -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]+";
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user