Tests for Manual Redaction

This commit is contained in:
aoezyetimoglu 2021-09-24 10:35:38 +02:00
parent 63137b84c2
commit 262e894669

View File

@ -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<String> 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);
}
}