Merge branch 'RED-9349-dossier' into 'master'
RED-9349 - Add check for dossier template length Closes RED-9349 See merge request redactmanager/persistence-service!567
This commit is contained in:
commit
6c857290b8
@ -54,6 +54,8 @@ public class DossierService {
|
|||||||
throw new BadRequestException("Dossier template is not active.");
|
throw new BadRequestException("Dossier template is not active.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
validateDossierName(createOrUpdateDossierRequest);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return dossierPersistenceService.insert(createOrUpdateDossierRequest);
|
return dossierPersistenceService.insert(createOrUpdateDossierRequest);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -68,6 +70,14 @@ public class DossierService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void validateDossierName(CreateOrUpdateDossierRequest createOrUpdateDossierRequest) {
|
||||||
|
|
||||||
|
if (createOrUpdateDossierRequest.getDossierName().length() > 254) {
|
||||||
|
throw new BadRequestException("Dossier name can not be longer than 254 characters");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public DossierEntity updateDossier(CreateOrUpdateDossierRequest dossierRequest, String dossierId) {
|
public DossierEntity updateDossier(CreateOrUpdateDossierRequest dossierRequest, String dossierId) {
|
||||||
|
|
||||||
var dossierTemplate = dossierTemplatePersistenceService.getDossierTemplate(dossierRequest.getDossierTemplateId());
|
var dossierTemplate = dossierTemplatePersistenceService.getDossierTemplate(dossierRequest.getDossierTemplateId());
|
||||||
@ -143,6 +153,7 @@ public class DossierService {
|
|||||||
return dossierPersistenceService.findAllDossiersForDossierTemplateId(dossierTemplateId);
|
return dossierPersistenceService.findAllDossiersForDossierTemplateId(dossierTemplateId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Set<String> getAllDossierIdsForDossierTemplateId(String dossierTemplateId) {
|
public Set<String> getAllDossierIdsForDossierTemplateId(String dossierTemplateId) {
|
||||||
|
|
||||||
return dossierPersistenceService.findAllDossierIdsForDossierTemplateId(dossierTemplateId);
|
return dossierPersistenceService.findAllDossierIdsForDossierTemplateId(dossierTemplateId);
|
||||||
|
|||||||
@ -2,6 +2,8 @@ package com.iqser.red.service.peristence.v1.server.integration.tests;
|
|||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
|
|
||||||
import java.time.OffsetDateTime;
|
import java.time.OffsetDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -13,6 +15,7 @@ import org.junit.jupiter.api.Test;
|
|||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.mock.web.MockMultipartFile;
|
import org.springframework.mock.web.MockMultipartFile;
|
||||||
|
import org.testcontainers.shaded.org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import com.iqser.red.service.peristence.v1.server.integration.client.DictionaryClient;
|
import com.iqser.red.service.peristence.v1.server.integration.client.DictionaryClient;
|
||||||
@ -522,4 +525,20 @@ public class DossierTest extends AbstractPersistenceServerServiceTest {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCreateDossierWithNameLongerThan254Characters() {
|
||||||
|
|
||||||
|
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
|
||||||
|
dossierTemplateTesterAndProvider.provideDefaultColors(dossierTemplate.getId());
|
||||||
|
|
||||||
|
String validName = StringUtils.repeat("a", 254);
|
||||||
|
dossierTesterAndProvider.provideTestDossier(dossierTemplate, validName);
|
||||||
|
String invalidName = StringUtils.repeat("a", 255);
|
||||||
|
|
||||||
|
var result = assertThrows(FeignException.class, () -> dossierTesterAndProvider.provideTestDossier(dossierTemplate, invalidName));
|
||||||
|
assertTrue(result.getMessage().contains("Dossier name can not be longer than 254 characters"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user