From 262e8946697392238fa8701f7fce9c1205bc5b48 Mon Sep 17 00:00:00 2001 From: aoezyetimoglu Date: Fri, 24 Sep 2021 10:35:38 +0200 Subject: [PATCH] Tests for Manual Redaction --- .../v1/server/integration/tests/FileTest.java | 70 ++++++++++++++++++- 1 file changed, 68 insertions(+), 2 deletions(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java index f06fecb84..3b6ca08a4 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/FileTest.java @@ -3,11 +3,20 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; import com.google.common.collect.Sets; import com.iqser.red.service.peristence.v1.server.integration.client.FileClient; +import com.iqser.red.service.peristence.v1.server.integration.client.ManualRedactionClient; import com.iqser.red.service.peristence.v1.server.integration.client.UploadClient; 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.BinaryFileRequest; +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.data.annotations.AnnotationStatus; import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus; import org.assertj.core.util.Lists; import org.junit.Test; @@ -15,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired; import static org.assertj.core.api.Assertions.assertThat; +import java.nio.charset.StandardCharsets; public class FileTest extends AbstractPersistenceServerServiceTest { @@ -24,12 +34,18 @@ public class FileTest extends AbstractPersistenceServerServiceTest { @Autowired private DossierTesterAndProvider dossierTesterAndProvider; + @Autowired + private TypeProvider typeProvider; + @Autowired private FileClient fileClient; @Autowired private UploadClient uploadClient; + @Autowired + private ManualRedactionClient manualRedactionClient; + @Test public void testFile() { var dossier = dossierTesterAndProvider.provideTestDossier(); @@ -132,12 +148,62 @@ public class FileTest extends AbstractPersistenceServerServiceTest { } @Test - public void testFileAlternative() { + public void testFilewithRedactions() { var dossier = dossierTesterAndProvider.provideTestDossier(); + String dossierId = dossier.getId(); var file = fileTesterAndProvider.testAndProvideFile(dossier); + String fileId = file.getId(); - var loadedFile = fileTesterAndProvider.testAndProvideFile(dossier); + var type = typeProvider.testAndProvideType(dossier.getDossierTemplate(), null, "manual"); + String typeId = type.getId(); + + assertThat(fileClient.getAllStatuses().size()).isEqualTo(1); + + BinaryFileRequest upload = new BinaryFileRequest("test".getBytes(StandardCharsets.UTF_8), "test.pdf", dossier.getId(), "1"); + JSONPrimitive uploadResult = uploadClient.upload(upload); + var secondFile = fileClient.getFileStatus(dossier.getId(), uploadResult.getValue()); + + + var addRedaction = manualRedactionClient.addAddRedaction(dossierId, fileId, AddRedactionRequest.builder().addToDictionary(true) + .addToDossierDictionary(false).comment("comment").status(AnnotationStatus.REQUESTED).type(typeId).user("user").reason("1").value("test").legalBasis("1").build()); + var removeRedaction = manualRedactionClient.addRemoveRedaction(dossierId, fileId, RemoveRedactionRequest.builder() + .annotationId("removeRedactionAnnotation").comment("comment").status(AnnotationStatus.REQUESTED).user("test").removeFromDictionary(false).build()); + var forceRedaction = manualRedactionClient.addForceRedaction(dossierId, fileId, ForceRedactionRequest.builder() + .annotationId("forceRedactionAnnotation").comment("comment").status(AnnotationStatus.REQUESTED).user("test").legalBasis("1").build()); + var legalBasisChange = manualRedactionClient.addLegalBasisChange(dossierId, fileId, LegalBasisChangeRequest.builder() + .annotationId("legalBasisChangeAnnotation").comment("comment").status(AnnotationStatus.REQUESTED).user("test").legalBasis("1").build()); + var imageRecategorization = manualRedactionClient.addImageRecategorization(dossierId, fileId, ImageRecategorizationRequest.builder() + .annotationId("imageRecategorizationAnnotation").comment("comment").status(AnnotationStatus.REQUESTED).user("test").type("new-type").build()); + + var loadedFile = fileClient.getFileStatus(dossierId, fileId); + + assertThat(loadedFile.isHasAnnotationComments()).isEqualTo(true); + assertThat(manualRedactionClient.getAddRedaction(fileId, addRedaction.getAnnotationId()).getId().getFileId()).isEqualTo(loadedFile.getId()); + assertThat(manualRedactionClient.getRemoveRedaction(fileId, removeRedaction.getAnnotationId()).getId().getFileId()).isEqualTo(loadedFile.getId()); + assertThat(manualRedactionClient.getForceRedaction(fileId, forceRedaction.getAnnotationId()).getId().getFileId()).isEqualTo(loadedFile.getId()); + assertThat(manualRedactionClient.getLegalBasisChange(fileId, legalBasisChange.getAnnotationId()).getId().getFileId()).isEqualTo(loadedFile.getId()); + assertThat(manualRedactionClient.getImageRecategorization(fileId, imageRecategorization.getAnnotationId()).getId().getFileId()).isEqualTo(loadedFile.getId()); + + + uploadClient.deleteFile(dossier.getId(),file.getId()); + var softDeletedFiles = fileClient.getSoftDeletedDossierStatus(dossier.getId()); + assertThat(softDeletedFiles.size()).isEqualTo(1); + var activeFiles = fileClient.getDossierStatus(dossier.getId()); + assertThat(activeFiles.size()).isEqualTo(0); + + uploadClient.undeleteFiles(dossier.getId(), Sets.newHashSet(file.getId())); + softDeletedFiles = fileClient.getSoftDeletedDossierStatus(dossier.getId()); + assertThat(softDeletedFiles.size()).isEqualTo(0); + activeFiles = fileClient.getDossierStatus(dossier.getId()); + assertThat(activeFiles.size()).isEqualTo(1); + + uploadClient.hardDeleteFiles(dossier.getId(), Sets.newHashSet(file.getId())); + softDeletedFiles = fileClient.getSoftDeletedDossierStatus(dossier.getId()); + assertThat(softDeletedFiles.size()).isEqualTo(0); + + activeFiles = fileClient.getDossierStatus(dossier.getId()); + assertThat(activeFiles.size()).isEqualTo(0); } }