RED-4928: Added assertions to the license-report test to check basic properties of the result

This commit is contained in:
Viktor Seifert 2022-08-15 15:05:14 +02:00
parent ca218e7bb3
commit 1a290b80db

View File

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