From 1a290b80db23cb6de7456faf40fb3f3cc65e75a9 Mon Sep 17 00:00:00 2001 From: Viktor Seifert Date: Mon, 15 Aug 2022 15:05:14 +0200 Subject: [PATCH] RED-4928: Added assertions to the license-report test to check basic properties of the result --- .../integration/tests/LicenseReportTest.java | 60 ++++++++++++++----- 1 file changed, 45 insertions(+), 15 deletions(-) diff --git a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LicenseReportTest.java b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LicenseReportTest.java index e398b6347..dd5042be5 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LicenseReportTest.java +++ b/persistence-service-v1/persistence-service-server-v1/src/test/java/com/iqser/red/service/peristence/v1/server/integration/tests/LicenseReportTest.java @@ -1,25 +1,31 @@ package com.iqser.red.service.peristence.v1.server.integration.tests; +import static org.assertj.core.api.Assertions.assertThat; + +import java.time.OffsetDateTime; +import java.time.temporal.ChronoUnit; +import java.util.stream.Collectors; + +import org.assertj.core.util.Lists; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + import com.iqser.red.service.peristence.v1.server.integration.client.LicenseReportClient; import com.iqser.red.service.peristence.v1.server.integration.service.DossierTemplateTesterAndProvider; 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 com.iqser.red.service.persistence.service.v1.api.model.dossiertemplate.dossier.Dossier; +import com.iqser.red.service.persistence.service.v1.api.model.license.LicenseReport; import com.iqser.red.service.persistence.service.v1.api.model.license.LicenseReportRequest; -import org.assertj.core.util.Lists; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - -import java.time.OffsetDateTime; -import java.time.temporal.ChronoUnit; - -import static org.assertj.core.api.Assertions.assertThat; public class LicenseReportTest extends AbstractPersistenceServerServiceTest { @Autowired private DossierTemplateTesterAndProvider dossierTemplateTesterAndProvider; + // No need for this warning here, since the test will fail if the client cannot be injected + @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection") @Autowired private LicenseReportClient licenseReportClient; @@ -32,16 +38,40 @@ public class LicenseReportTest extends AbstractPersistenceServerServiceTest { @Test public void testLicenseReport() { - var dossier = dossierTesterAndProvider.provideTestDossier(); + var template = dossierTemplateTesterAndProvider.provideTestTemplate(); - fileTesterAndProvider.testAndProvideFile(dossier); + var dossier1 = dossierTesterAndProvider.provideTestDossier(template, "Dossier1"); + + var file1 = fileTesterAndProvider.testAndProvideFile(dossier1, "test1.pdf"); + var file2 = fileTesterAndProvider.testAndProvideFile(dossier1, "test2.pdf"); + + var dossier2 = dossierTesterAndProvider.provideTestDossier(template, "Dossier2"); + + var file3 = fileTesterAndProvider.testAndProvideFile(dossier2, "test3.pdf"); + var file4 = fileTesterAndProvider.testAndProvideFile(dossier2, "test4.pdf"); + + var dossiers = Lists.newArrayList(dossier1, dossier2); + var files = Lists.newArrayList(file1, file2, file3, file4); LicenseReportRequest request = new LicenseReportRequest(); - request.setDossierIds(Lists.newArrayList(dossier.getId())); - request.setStartDate(OffsetDateTime.now().minusHours(10).toInstant().truncatedTo(ChronoUnit.MILLIS)); - request.setEndDate(OffsetDateTime.now().plusHours(10).toInstant().truncatedTo(ChronoUnit.MILLIS)); - request.setRequestId("123"); - assertThat(licenseReportClient.getLicenseReport(request, 0, 20)).isNotNull(); + request.setDossierIds(dossiers.stream().map(Dossier::getId).collect(Collectors.toList())); + + var startDate = OffsetDateTime.now().minusHours(10).toInstant().truncatedTo(ChronoUnit.MILLIS); + request.setStartDate(startDate); + + var endDate = OffsetDateTime.now().plusHours(10).toInstant().truncatedTo(ChronoUnit.MILLIS); + request.setEndDate(endDate); + + String requestId = "123"; + request.setRequestId(requestId); + + LicenseReport licenseReport = licenseReportClient.getLicenseReport(request, 0, 20); + + assertThat(licenseReport.getNumberOfDossiers()).isEqualTo(dossiers.size()); + assertThat(licenseReport.getNumberOfAnalyzedFiles()).isEqualTo(files.size()); + assertThat(licenseReport.getRequestId()).isEqualTo(requestId); + assertThat(licenseReport.getStartDate()).isEqualTo(startDate); + assertThat(licenseReport.getEndDate()).isEqualTo(endDate); } }