more tests
This commit is contained in:
parent
ddee07b55d
commit
2496d39d11
@ -0,0 +1,17 @@
|
||||
package com.iqser.red.service.configuration.v1.api.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
// TODO remove this - compatibility for classpath error
|
||||
public class LegalBasisMapping {
|
||||
|
||||
private String name;
|
||||
private String description;
|
||||
private String reason;
|
||||
|
||||
}
|
||||
@ -44,7 +44,6 @@ public class UploadController implements UploadResource {
|
||||
private final PDFTronRedactionClient pdfTronRedactionClient;
|
||||
private final FileManagementStorageService fileManagementStorageService;
|
||||
private final RedactionClient redactionClient;
|
||||
private final DossierPersistenceService dossierPersistenceService;
|
||||
|
||||
@Override
|
||||
public JSONPrimitive<String> upload(@RequestBody BinaryFileRequest request) {
|
||||
@ -135,11 +134,13 @@ public class UploadController implements UploadResource {
|
||||
var fileStatus = fileStatusService.getStatus(fileId);
|
||||
var dossier = dossierService.getDossierById(dossierId);
|
||||
|
||||
PdfTronRedactionResult pdfTronRedactionResult = pdfTronRedactionClient.redact(PdfTronRedactionRequest.builder()
|
||||
var request = PdfTronRedactionRequest.builder()
|
||||
.dossierTemplateId(dossier.getDossierTemplateId())
|
||||
.document(fileManagementStorageService.getStoredObjectBytes(dossierId, fileId, FileType.ORIGIN))
|
||||
.redactionLog(fileManagementStorageService.getRedactionLog(dossierId, fileId))
|
||||
.build());
|
||||
.build();
|
||||
|
||||
PdfTronRedactionResult pdfTronRedactionResult = pdfTronRedactionClient.redact(request);
|
||||
|
||||
return new BinaryFileResult(pdfTronRedactionResult.getDocument(), fileStatus.getFilename());
|
||||
}
|
||||
|
||||
@ -0,0 +1,9 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.client;
|
||||
|
||||
import com.iqser.red.service.persistence.service.v1.api.resources.RedactionLogResource;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
|
||||
|
||||
@FeignClient(name = "RedactionLogClient", url = "http://localhost:${server.port}")
|
||||
public interface RedactionLogClient extends RedactionLogResource {
|
||||
}
|
||||
@ -1,12 +1,20 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.service;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.FileClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.UploadClient;
|
||||
import com.iqser.red.service.peristence.v1.server.service.FileManagementStorageService;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.BinaryFileRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.FileType;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.Dossier;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.File;
|
||||
import com.iqser.red.service.redaction.v1.model.RedactionLog;
|
||||
import com.iqser.red.service.redaction.v1.model.SectionGrid;
|
||||
import com.iqser.red.storage.commons.service.StorageService;
|
||||
import lombok.SneakyThrows;
|
||||
import org.assertj.core.util.Lists;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -18,6 +26,11 @@ import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
|
||||
public class FileTesterAndProvider {
|
||||
|
||||
|
||||
@Autowired
|
||||
private FileManagementStorageService fileManagementStorageService;
|
||||
|
||||
@Autowired
|
||||
private ObjectMapper objectMapper;
|
||||
|
||||
@Autowired
|
||||
private UploadClient uploadClient;
|
||||
@ -26,6 +39,7 @@ public class FileTesterAndProvider {
|
||||
private FileClient fileClient;
|
||||
|
||||
|
||||
@SneakyThrows
|
||||
public File testAndProvideFile(Dossier dossier){
|
||||
|
||||
|
||||
@ -38,6 +52,9 @@ public class FileTesterAndProvider {
|
||||
|
||||
assertThat(fileClient.getDossierStatus(dossier.getId()).size()).isEqualTo(1);
|
||||
|
||||
fileManagementStorageService.storeObject(dossier.getId(),file.getId(), FileType.REDACTION_LOG, objectMapper.writeValueAsBytes(new RedactionLog(1, Lists.newArrayList(), Lists.newArrayList(),0,0,0,0)));
|
||||
fileManagementStorageService.storeObject(dossier.getId(),file.getId(), FileType.SECTION_GRID, objectMapper.writeValueAsBytes(new SectionGrid()));
|
||||
|
||||
return file;
|
||||
}
|
||||
|
||||
|
||||
@ -9,6 +9,7 @@ import com.iqser.red.service.peristence.v1.server.integration.service.FileTester
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.JSONPrimitive;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.data.dossier.FileStatus;
|
||||
import org.assertj.core.util.Lists;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@ -55,15 +56,6 @@ public class FileTest extends AbstractPersistenceServerServiceTest {
|
||||
assertThat(loadedFile.getExcludedPages()).isEmpty();
|
||||
|
||||
|
||||
fileClient.toggleExclusion(dossier.getId(),file.getId(),true);
|
||||
loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId());
|
||||
assertThat(loadedFile.isExcluded()).isTrue();
|
||||
|
||||
|
||||
fileClient.toggleExclusion(dossier.getId(),file.getId(),false);
|
||||
loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId());
|
||||
assertThat(loadedFile.isExcluded()).isFalse();
|
||||
|
||||
|
||||
fileClient.setCurrentFileReviewer(dossier.getId(), file.getId(), JSONPrimitive.of("1"));
|
||||
loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId());
|
||||
@ -91,18 +83,41 @@ public class FileTest extends AbstractPersistenceServerServiceTest {
|
||||
assertThat(loadedFile.getStatus()).isEqualTo(FileStatus.APPROVED);
|
||||
|
||||
|
||||
fileClient.setStatusUnderReview(dossier.getId(), file.getId());
|
||||
uploadClient.deleteFile(dossier.getId(),file.getId());
|
||||
assertThat(uploadClient.getOriginal(dossier.getId(),file.getId())).isNotNull();
|
||||
assertThat(uploadClient.getRedacted(dossier.getId(),file.getId())).isNotNull();
|
||||
assertThat(uploadClient.getFlatRedacted(dossier.getId(),file.getId())).isNotNull();
|
||||
assertThat(uploadClient.getPreview(dossier.getId(),file.getId())).isNotNull();
|
||||
assertThat(uploadClient.getAnnotated(dossier.getId(),file.getId())).isNotNull();
|
||||
|
||||
|
||||
fileClient.setStatusUnderReview(dossier.getId(), file.getId());
|
||||
|
||||
|
||||
fileClient.toggleExclusion(dossier.getId(),file.getId(),true);
|
||||
loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId());
|
||||
assertThat(loadedFile.isExcluded()).isTrue();
|
||||
|
||||
|
||||
fileClient.toggleExclusion(dossier.getId(),file.getId(),false);
|
||||
loadedFile = fileClient.getFileStatus(dossier.getId(), file.getId());
|
||||
assertThat(loadedFile.isExcluded()).isFalse();
|
||||
|
||||
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);
|
||||
@ -111,5 +126,8 @@ public class FileTest extends AbstractPersistenceServerServiceTest {
|
||||
assertThat(activeFiles.size()).isEqualTo(0);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,8 @@ package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.NotificationClient;
|
||||
import com.iqser.red.service.peristence.v1.server.integration.utils.AbstractPersistenceServerServiceTest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.data.audit.AddNotificationRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.data.notification.Notification;
|
||||
import org.assertj.core.util.Lists;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@ -20,8 +22,48 @@ public class NotificationTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
notificationClient.addNotification(AddNotificationRequest.builder().notificationType("test").issuerId("1").userId("1").target(Map.of("test", "test")).build());
|
||||
|
||||
var notification = getNotification();
|
||||
|
||||
|
||||
assertThat(notification.getReadDate()).isNull();
|
||||
notificationClient.toggleRead("1", Lists.newArrayList(notification.getId()), true);
|
||||
notification = getNotification();
|
||||
assertThat(notification.getReadDate()).isNotNull();
|
||||
|
||||
|
||||
|
||||
assertThat(notification.getSeenDate()).isNull();
|
||||
notificationClient.toggleSeen("1", Lists.newArrayList(notification.getId()), true);
|
||||
notification = getNotification();
|
||||
assertThat(notification.getSeenDate()).isNotNull();
|
||||
|
||||
var currentNotifications = notificationClient.getNotifications("1", false);
|
||||
assertThat(currentNotifications).isEmpty();
|
||||
|
||||
|
||||
|
||||
notificationClient.toggleRead("1", Lists.newArrayList(notification.getId()), false);
|
||||
notification = getNotification();
|
||||
assertThat(notification.getReadDate()).isNull();
|
||||
|
||||
|
||||
|
||||
notificationClient.toggleSeen("1", Lists.newArrayList(notification.getId()), false);
|
||||
notification = getNotification();
|
||||
assertThat(notification.getSeenDate()).isNull();
|
||||
|
||||
|
||||
|
||||
notificationClient.softDelete("1",Lists.newArrayList(notification.getId()));
|
||||
currentNotifications = notificationClient.getNotifications("1", true);
|
||||
assertThat(currentNotifications).isEmpty();
|
||||
|
||||
}
|
||||
|
||||
private Notification getNotification() {
|
||||
var currentNotifications = notificationClient.getNotifications("1", true);
|
||||
assertThat(currentNotifications.size()).isEqualTo(1);
|
||||
|
||||
return currentNotifications.iterator().next();
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,34 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.RedactionLogClient;
|
||||
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.utils.AbstractPersistenceServerServiceTest;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class RedactionLogTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
@Autowired
|
||||
private FileTesterAndProvider fileTesterAndProvider;
|
||||
|
||||
@Autowired
|
||||
private DossierTesterAndProvider dossierTesterAndProvider;
|
||||
|
||||
@Autowired
|
||||
private RedactionLogClient redactionLogClient;
|
||||
|
||||
@Test
|
||||
public void testRedactionLog() {
|
||||
|
||||
var dossier = dossierTesterAndProvider.provideTestDossier();
|
||||
var file = fileTesterAndProvider.testAndProvideFile(dossier);
|
||||
|
||||
assertThat(redactionLogClient.getSectionGrid(dossier.getId(), file.getId())).isNotNull();
|
||||
assertThat(redactionLogClient.getRedactionLog(dossier.getId(), file.getId(), true)).isNotNull();
|
||||
assertThat(redactionLogClient.getRedactionLog(dossier.getId(), file.getId(), false)).isNotNull();
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,6 @@
|
||||
package com.iqser.red.service.peristence.v1.server.integration.utils;
|
||||
|
||||
import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronOptimizeRequest;
|
||||
import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronOptimizeResponse;
|
||||
import com.iqser.red.service.pdftron.redaction.v1.api.model.*;
|
||||
import com.iqser.red.service.peristence.v1.server.Application;
|
||||
import com.iqser.red.service.peristence.v1.server.client.RedactionClient;
|
||||
import com.iqser.red.service.peristence.v1.server.client.SearchClient;
|
||||
@ -9,8 +8,13 @@ import com.iqser.red.service.peristence.v1.server.controller.LicenseReportContro
|
||||
import com.iqser.red.service.peristence.v1.server.integration.client.FileClient;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.*;
|
||||
import com.iqser.red.service.redaction.v1.model.AnnotateRequest;
|
||||
import com.iqser.red.service.redaction.v1.model.AnnotateResponse;
|
||||
import com.iqser.red.service.redaction.v1.model.RedactionLog;
|
||||
import com.iqser.red.service.redaction.v1.model.RedactionResult;
|
||||
import com.iqser.red.storage.commons.StorageAutoConfiguration;
|
||||
import com.iqser.red.storage.commons.service.StorageService;
|
||||
import org.assertj.core.util.Lists;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.runner.RunWith;
|
||||
@ -77,6 +81,17 @@ public abstract class AbstractPersistenceServerServiceTest {
|
||||
public void setupOptimize() {
|
||||
when(pdfTronRedactionClient.optimize(Mockito.any())).thenAnswer((args) ->
|
||||
new PdfTronOptimizeResponse(((PdfTronOptimizeRequest) args.getArguments()[0]).getDocument()));
|
||||
when(pdfTronRedactionClient.redact(Mockito.any())).thenAnswer((args) ->
|
||||
new PdfTronRedactionResult(((PdfTronRedactionRequest) args.getArguments()[0]).getDocument()));
|
||||
when(pdfTronRedactionClient.redactionPreview(Mockito.any())).thenAnswer((args) ->
|
||||
new PdfTronRedactionResult(((PdfTronRedactionRequest) args.getArguments()[0]).getDocument()));
|
||||
|
||||
when(pdfTronRedactionClient.flatDocument(Mockito.any())).thenAnswer((args) ->
|
||||
new PdfTronFlattenResponse(((PdfTronFlattenRequest) args.getArguments()[0]).getDocument()));
|
||||
|
||||
when(redactionClient.annotate(Mockito.any())).thenReturn(new AnnotateResponse("document".getBytes()));
|
||||
when(redactionClient.sections(Mockito.any())).thenReturn(new RedactionResult());
|
||||
when(redactionClient.getRedactionLog(Mockito.any())).thenReturn(new RedactionLog(1, Lists.newArrayList(),Lists.newArrayList(),0,0,0,0));
|
||||
}
|
||||
|
||||
@Configuration
|
||||
@ -90,6 +105,7 @@ public abstract class AbstractPersistenceServerServiceTest {
|
||||
return new FileSystemBackedStorageService();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@After
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user