From a85fc61971c078c6be5648cfe1508f8bb9ce8978 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Sun, 19 Sep 2021 23:14:43 +0300 Subject: [PATCH] manual red test --- .../v1/api/resources/DictionaryResource.java | 2 +- .../AddRedactionPersistenceService.java | 1 + .../DictionaryPersistenceService.java | 5 +- .../tests/ManualRedactionTest.java | 50 +++++++++++-------- .../v1/server/integration/tests/TypeTest.java | 18 +++++++ 5 files changed, 51 insertions(+), 25 deletions(-) diff --git a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DictionaryResource.java b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DictionaryResource.java index 846946b46..3c9d71128 100644 --- a/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DictionaryResource.java +++ b/persistence-service-v1/persistence-service-api-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/resources/DictionaryResource.java @@ -46,7 +46,7 @@ public interface DictionaryResource { @ResponseStatus(HttpStatus.NO_CONTENT) - @PostMapping(value = TYPE_PATH + TYPE_PATH_VARIABLE + DOSSIER_TEMPLATE_PATH_VARIABLE, consumes = MediaType.APPLICATION_JSON_VALUE) + @PostMapping(value = TYPE_PATH + TYPE_PATH_VARIABLE , consumes = MediaType.APPLICATION_JSON_VALUE) void updateTypeValue(@PathVariable(TYPE_PARAMETER_NAME) String typeId, @RequestBody Type typeValue); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/AddRedactionPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/AddRedactionPersistenceService.java index e6bf7ad59..afe0a16e6 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/AddRedactionPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/AddRedactionPersistenceService.java @@ -30,6 +30,7 @@ public class AddRedactionPersistenceService { BeanUtils.copyProperties(addRedactionRequest, manualRedactionEntry); manualRedactionEntry.setRequestDate(OffsetDateTime.now()); manualRedactionEntry.setPositions(addRedactionRequest.getPositions()); + manualRedactionEntry.setTypeId(addRedactionRequest.getType()); manualRedactionRepository.save(manualRedactionEntry); diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java index 3bebb407e..4156b34c0 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/persistence/DictionaryPersistenceService.java @@ -62,8 +62,9 @@ public class DictionaryPersistenceService { public void updateType(String typeId, Type typeValueRequest) { typeRepository.findById(typeId).ifPresent((type) -> { + type.setVersion(type.getVersion() + 1); checkRankAlreadyExists(type.getType(), type.getDossierTemplate().getId(), typeValueRequest.getRank(), type.getDossier() == null ? null : type.getDossier().getId()); - BeanUtils.copyProperties(typeValueRequest, type); + BeanUtils.copyProperties(typeValueRequest, type, "dossierTemplateId", "dossierId", "entries", "dossierTemplate", "dossier", "id", "version"); }); } @@ -101,7 +102,7 @@ public class DictionaryPersistenceService { public Type getType(String typeId) { - return typeRepository.findById(typeId).orElseThrow(() -> new NotFoundException("No color found for type : " + typeId)); + return typeRepository.findById(typeId).orElseThrow(() -> new NotFoundException("Type: " + typeId + " not found")); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java index 5e050f755..faf6719e3 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/ManualRedactionTest.java @@ -1,23 +1,16 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; -import static org.assertj.core.api.Assertions.assertThat; - -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - import com.iqser.red.service.peristence.v1.server.integration.client.ManualRedactionClient; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.FileTesterAndProvider; import com.iqser.red.service.peristence.v1.server.integration.service.TypeProvider; import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; -import com.iqser.red.service.persistence.service.v1.api.model.AddRedactionRequest; -import com.iqser.red.service.persistence.service.v1.api.model.CommentRequest; -import com.iqser.red.service.persistence.service.v1.api.model.ForceRedactionRequest; -import com.iqser.red.service.persistence.service.v1.api.model.ImageRecategorizationRequest; -import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive; -import com.iqser.red.service.persistence.service.v1.api.model.LegalBasisChangeRequest; -import com.iqser.red.service.persistence.service.v1.api.model.RemoveRedactionRequest; +import com.iqser.red.service.persistence.service.v1.api.model.*; import com.iqser.red.service.persistence.service.v1.api.model.data.annotations.AnnotationStatus; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import static org.assertj.core.api.Assertions.assertThat; public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { @@ -40,32 +33,45 @@ public class ManualRedactionTest extends AbstractPersistenceServerServiceTest { var file = fileTesterAndProvider.testAndProvideFile(dossier); - var type = typeProvider.testAndProvideType(dossier.getDossierTemplate()); + var type = typeProvider.testAndProvideType(dossier.getDossierTemplate(), "manual"); + var comment = manualRedactionClient.addComment(dossier.getId(), file.getId(), "1", CommentRequest.builder().text("test").user("1").build()); var loadedComment = manualRedactionClient.getComment(comment.getId()); assertThat(loadedComment.getText()).isEqualTo("test"); - var addRedaction = manualRedactionClient.addAddRedaction(dossier.getId(), file.getId(), AddRedactionRequest.builder().addToDictionary(true).addToDossierDictionary(false).status(AnnotationStatus.REQUESTED).type("manual").user("user").reason("1").value("1").legalBasis("1").build()); + + var addRedaction = manualRedactionClient.addAddRedaction(dossier.getId(), file.getId(), AddRedactionRequest.builder().addToDictionary(true) + .addToDossierDictionary(false).status(AnnotationStatus.REQUESTED).type(type.getId()).user("user").reason("1").value("1").legalBasis("1").build()); var loadedAddRedaction = manualRedactionClient.getAddRedaction(file.getId(), addRedaction.getAnnotationId()); assertThat(loadedAddRedaction.getUser()).isEqualTo("user"); - assertThat(loadedAddRedaction.getTypeId()).isEqualTo("manual"); + assertThat(loadedAddRedaction.getTypeId()).contains("manual"); - var removeRedaction = manualRedactionClient.addRemoveRedaction(dossier.getId(), file.getId(), RemoveRedactionRequest.builder().annotationId(addRedaction.getAnnotationId()).comment("commi").removeFromDictionary(false).build()); + + var removeRedaction = manualRedactionClient.addRemoveRedaction(dossier.getId(), file.getId(), RemoveRedactionRequest.builder() + .annotationId(addRedaction.getAnnotationId()).comment("comment").status(AnnotationStatus.REQUESTED).user("test").removeFromDictionary(false).build()); manualRedactionClient.updateRemoveRedactionStatus(dossier.getId(), file.getId(), removeRedaction.getAnnotationId(), JSONPrimitive.of(AnnotationStatus.REQUESTED)); var loadedRemoveRedaction = manualRedactionClient.getRemoveRedaction(file.getId(), removeRedaction.getAnnotationId()); assertThat(loadedRemoveRedaction.isRemoveFromDictionary()).isEqualTo(false); - assertThat(loadedRemoveRedaction.getSoftDeletedTime()).isNotEqualTo(null); + assertThat(loadedRemoveRedaction.getSoftDeletedTime()).isNull(); - var forceRedaction = manualRedactionClient.addForceRedaction(dossier.getId(), file.getId(), ForceRedactionRequest.builder().annotationId(addRedaction.getAnnotationId()).comment("commi").legalBasis("1").build()); + + var forceRedaction = manualRedactionClient.addForceRedaction(dossier.getId(), file.getId(), ForceRedactionRequest.builder() + .annotationId(addRedaction.getAnnotationId()).comment("comment").status(AnnotationStatus.REQUESTED).user("test").legalBasis("1").build()); var loadedForceRedaction = manualRedactionClient.getForceRedaction(file.getId(), forceRedaction.getAnnotationId()); assertThat(loadedForceRedaction.getLegalBasis()).isEqualTo("1"); - var legalBasisChange = manualRedactionClient.addLegalBasisChange(dossier.getId(), file.getId(), new LegalBasisChangeRequest()); //TODO: fill - var loadedLegalBasisChange = manualRedactionClient.getLegalBasisChange(file.getId(), addRedaction.getAnnotationId()); - assertThat(loadedLegalBasisChange.getId()).isEqualTo(legalBasisChange.getAnnotationId()); - var imageRecategorization = manualRedactionClient.addImageRecategorization(dossier.getId(), file.getId(), ImageRecategorizationRequest.builder().build());//TODO: fill + var legalBasisChange = manualRedactionClient.addLegalBasisChange(dossier.getId(), file.getId(), LegalBasisChangeRequest.builder() + .annotationId(addRedaction.getAnnotationId()).comment("comment").status(AnnotationStatus.REQUESTED).user("test").legalBasis("1").build()); + var loadedLegalBasisChange = manualRedactionClient.getLegalBasisChange(file.getId(), addRedaction.getAnnotationId()); + assertThat(loadedLegalBasisChange.getId().getId()).isEqualTo(legalBasisChange.getAnnotationId()); + + + var imageRecategorization = manualRedactionClient.addImageRecategorization(dossier.getId(), file.getId(), ImageRecategorizationRequest.builder() + .annotationId(addRedaction.getAnnotationId()).comment("comment").status(AnnotationStatus.REQUESTED).user("test").type("new-type").build()); + var loadedImageRecategorization = manualRedactionClient.getImageRecategorization(file.getId(), addRedaction.getAnnotationId()); + assertThat(loadedImageRecategorization.getId().getId()).isEqualTo(imageRecategorization.getAnnotationId()); } diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/TypeTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/TypeTest.java index f388fcf2a..8d89ab59d 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/TypeTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/TypeTest.java @@ -6,8 +6,10 @@ import com.iqser.red.service.peristence.v1.server.integration.service.TypeProvid import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest; import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Colors; import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.DictionaryEntry; +import com.iqser.red.service.persistence.service.v1.api.model.data.configuration.Type; import org.assertj.core.util.Lists; import org.junit.Test; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; @@ -49,6 +51,22 @@ public class TypeTest extends AbstractPersistenceServerServiceTest { assertThat(loadedType.getVersion()).isGreaterThan(type.getVersion() + 1); + var request = new Type(); + BeanUtils.copyProperties(type, request); + request.setRank(99); + dictionaryClient.updateTypeValue(type.getId(), request); + + loadedType = dictionaryClient.getDictionaryForType(type.getId()); + assertThat(loadedType.getVersion()).isGreaterThan(type.getVersion() + 2); + assertThat(loadedType.getRank()).isEqualTo(99); + + + dictionaryClient.deleteType(type.getId()); + + + var typesForTemplate = dictionaryClient.getAllTypesForDossierTemplate(loadedType.getDossierTemplateId()); + assertThat(typesForTemplate).isEmpty(); + } @Test