RED-6310: Updated test for download preparation test to execute all preparation steps.

Previously the last step was not executed.
This commit is contained in:
Viktor Seifert 2023-03-10 17:39:53 +01:00
parent 751cc93453
commit 1e2388dcae
3 changed files with 57 additions and 5 deletions

View File

@ -143,7 +143,7 @@ public class DownloadPreparationService {
addReports(reportResultMessage.getDownloadId(), storedFileInformations, fileSystemBackedArchiver);
storeZipFile(downloadStatus, fileSystemBackedArchiver);
downloadStatusPersistenceService.updateStatus(downloadStatus.getStorageId(), DownloadStatusValue.READY, fileSystemBackedArchiver.getContentLength());
updateStatusToReady(downloadStatus, fileSystemBackedArchiver);
notificationPersistenceService.insertNotification(AddNotificationRequest.builder()
.userId(downloadStatus.getUserId())
@ -163,6 +163,15 @@ public class DownloadPreparationService {
}
private void updateStatusToReady(DownloadStatusEntity downloadStatus, FileSystemBackedArchiver fileSystemBackedArchiver) {
downloadStatusPersistenceService.updateStatus(downloadStatus.getStorageId(), DownloadStatusValue.READY, fileSystemBackedArchiver.getContentLength());
if (!Objects.equals(downloadStatus.getStatus(), DownloadStatusValue.READY)) {
downloadStatus.setStatus(DownloadStatusValue.READY);
}
}
private void generateAndAddFiles(DownloadStatusEntity downloadStatus, RedactionResultMessage reportResultMessage, FileSystemBackedArchiver fileSystemBackedArchiver) {
int i = 1;

View File

@ -40,6 +40,12 @@ public class RedactionResultMessageReceiver {
redactionResultMessage.getDownloadId()));
}
receive(redactionResultMessage);
}
public void receive(RedactionResultMessage redactionResultMessage) {
log.info("Received redaction results for downloadId:{}", redactionResultMessage.getDownloadId());
downloadPreparationService.createDownload(redactionResultMessage);

View File

@ -5,6 +5,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import java.io.ByteArrayInputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@ -12,6 +13,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mock.web.MockMultipartFile;
import com.iqser.red.service.pdftron.redaction.v1.api.model.RedactionResultMessage;
import com.iqser.red.service.peristence.v1.server.integration.client.DossierClient;
import com.iqser.red.service.peristence.v1.server.integration.client.DownloadClient;
import com.iqser.red.service.peristence.v1.server.integration.client.FileClient;
@ -21,11 +23,13 @@ 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.utils.AbstractPersistenceServerServiceTest;
import com.iqser.red.service.persistence.management.v1.processor.service.download.DownloadReportMessageReceiver;
import com.iqser.red.service.persistence.management.v1.processor.service.download.RedactionResultMessageReceiver;
import com.iqser.red.service.persistence.management.v1.processor.utils.multitenancy.TenantContext;
import com.iqser.red.service.persistence.service.v1.api.shared.model.DossierRequest;
import com.iqser.red.service.persistence.service.v1.api.shared.model.PrepareDownloadWithOptionRequest;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.DownloadFileType;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.ReportTemplate;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.FileModel;
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.dossier.file.WorkflowStatus;
import com.iqser.red.service.redaction.report.v1.api.model.ReportResultMessage;
import com.iqser.red.service.redaction.report.v1.api.model.StoredFileInformation;
@ -38,6 +42,9 @@ public class DownloadPreparationTest extends AbstractPersistenceServerServiceTes
@Autowired
private DownloadReportMessageReceiver downloadReportMessageReceiver;
@Autowired
private RedactionResultMessageReceiver redactionResultMessageReceiver;
@Autowired
private StorageService storageService;
@ -63,10 +70,19 @@ public class DownloadPreparationTest extends AbstractPersistenceServerServiceTes
private FileClient fileClient;
@Before
public void before() {
TenantContext.setTenantId("redaction");
}
@Test
@SneakyThrows
public void testReceiveDownloadPackage() {
String userId = "1";
var dossierTemplate = dossierTemplateTesterAndProvider.provideTestTemplate();
var dossier = dossierTesterAndProvider.provideTestDossier(dossierTemplate);
@ -113,17 +129,38 @@ public class DownloadPreparationTest extends AbstractPersistenceServerServiceTes
assertThat(statuses.getDownloadStatus()).isNotEmpty();
assertThat(statuses.getDownloadStatus().iterator().next().getLastDownload()).isNull();
// FIXME Check if this is still needed.
// This variable seems to do nothing, if it is not needed it can be removed.
String downloadId = statuses.iterator().next().getStorageId();
addStoredFileInformationToStorage(file, availableTemplates, downloadId);
ReportResultMessage reportResultMessage = new ReportResultMessage();
reportResultMessage.setUserId(userId);
reportResultMessage.setDownloadId(downloadId);
downloadReportMessageReceiver.receive(reportResultMessage);
redactionResultMessageReceiver.receive(RedactionResultMessage.builder()
.downloadId(downloadId)
.dossierId(dossier.getId())
.redactionResultDetails(Collections.emptyList())
.build());
}
@SneakyThrows
private void addStoredFileInformationToStorage(FileModel file, List<ReportTemplate> availableTemplates, String downloadId) {
String reportStorageId = "XYZ";
var storedFileInformationstorageId = downloadId.substring(0, downloadId.length() - 3) + "/REPORT_INFO.json";
var sivList = new ArrayList<StoredFileInformation>();
var siv = new StoredFileInformation();
siv.setFileId(file.getId());
siv.setStorageId("XYZ");
siv.setStorageId(reportStorageId);
siv.setTemplateId(availableTemplates.iterator().next().getTemplateId());
sivList.add(siv);
// FIXME Check if this is still needed.
storageService.storeObject(TenantContext.getTenantId(), "XYZ", new ByteArrayInputStream(new byte[]{1, 2, 3, 4}));
ReportResultMessage reportResultMessage = new ReportResultMessage();