Pull request #103: RED-2508 empty pdf file
Merge in RED/persistence-service from bugfix/RED-2508 to master * commit '10287b658e490a21330eaa20ad28a1c1b02e448a': RED-2508 empty pdf file
This commit is contained in:
commit
cd460af9a6
@ -6,6 +6,7 @@ import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronOptimizeReque
|
||||
import com.iqser.red.service.pdftron.redaction.v1.api.model.PdfTronOptimizeResponse;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.client.PDFTronRedactionClient;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.entity.dossier.FileEntity;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.ConflictException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.*;
|
||||
@ -68,6 +69,9 @@ public class FileService {
|
||||
|
||||
try {
|
||||
PdfTronOptimizeResponse optimized = pdfTronRedactionClient.optimize(new PdfTronOptimizeRequest(request.getData()));
|
||||
if (optimized.getNumberOfPages() == 0) {
|
||||
throw new BadRequestException("Empty document");
|
||||
}
|
||||
// if successful update request with linearized PDF
|
||||
request.setData(optimized.getDocument());
|
||||
} catch (Exception e) {
|
||||
|
||||
@ -2,6 +2,8 @@ package com.iqser.red.service.peristence.v1.server.integration.tests;
|
||||
|
||||
|
||||
import com.google.common.collect.Sets;
|
||||
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.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;
|
||||
@ -10,17 +12,20 @@ import com.iqser.red.service.peristence.v1.server.integration.service.DossierTes
|
||||
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.management.v1.processor.exception.BadRequestException;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.annotations.*;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.common.JSONPrimitive;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.BinaryFileRequest;
|
||||
import com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.file.WorkflowStatus;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.mockito.Mockito;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
public class FileTest extends AbstractPersistenceServerServiceTest {
|
||||
|
||||
@ -45,6 +50,18 @@ public class FileTest extends AbstractPersistenceServerServiceTest {
|
||||
@Autowired
|
||||
private ManualRedactionClient manualRedactionClient;
|
||||
|
||||
@Test
|
||||
public void testEmptyFile() {
|
||||
var dossier = dossierTesterAndProvider.provideTestDossier();
|
||||
BinaryFileRequest upload = new BinaryFileRequest("".getBytes(StandardCharsets.UTF_8), "emptyFile.pdf", dossier.getId(), "1");
|
||||
|
||||
try {
|
||||
uploadClient.upload(upload);
|
||||
} catch (BadRequestException e) {
|
||||
assertThat(e.getMessage().startsWith("empty")).isTrue();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFile() {
|
||||
var dossier = dossierTesterAndProvider.provideTestDossier();
|
||||
|
||||
@ -114,8 +114,11 @@ public abstract class AbstractPersistenceServerServiceTest {
|
||||
doNothing().when(pdfTronRedactionClient).testDigitalCurrentSignature(Mockito.any());
|
||||
|
||||
when(amqpAdmin.getQueueInfo(Mockito.any())).thenReturn(null);
|
||||
when(pdfTronRedactionClient.optimize(Mockito.any())).thenAnswer((args) ->
|
||||
new PdfTronOptimizeResponse(((PdfTronOptimizeRequest) args.getArguments()[0]).getDocument()));
|
||||
when(pdfTronRedactionClient.optimize(Mockito.any())).thenAnswer((args) -> {
|
||||
PdfTronOptimizeRequest request = (PdfTronOptimizeRequest) args.getArguments()[0];
|
||||
int numberOfPages = (request.getDocument().length == 0? 0: 10);
|
||||
return new PdfTronOptimizeResponse(request.getDocument(), numberOfPages);
|
||||
});
|
||||
when(pdfTronRedactionClient.redact(Mockito.any())).thenAnswer((args) ->
|
||||
new PdfTronRedactionResult(((PdfTronRedactionRequest) args.getArguments()[0]).getDocument()));
|
||||
when(pdfTronRedactionClient.redactionPreview(Mockito.any())).thenAnswer((args) ->
|
||||
|
||||
@ -50,7 +50,7 @@
|
||||
<dependency>
|
||||
<groupId>com.iqser.red.service</groupId>
|
||||
<artifactId>pdftron-redaction-service-api-v1</artifactId>
|
||||
<version>3.13.0</version>
|
||||
<version>3.16.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user