void shouldCreateExcerpt()

in src/it/java/com/epam/digital/data/platform/excerpt/worker/listener/ExcerptListenerIT.java [53:78]


  void shouldCreateExcerpt() throws IOException {
    // given
    var template = TestUtils.readClassPathResource("/template.ftl");
    saveExcerptTemplateToDatabase("template", template);

    var requestJson = TestUtils.readClassPathResource("/json/request.json");
    var excerptEventDto = new ObjectMapper().readValue(requestJson, ExcerptEventDto.class);
    var excerptRecord = saveExcerptRecordToDatabase(excerptEventDto);

    excerptEventDto.setRecordId(excerptRecord.getId());
    
    // when
    excerptListener.generate(new Request<>(excerptEventDto));

    // then
    verify(datafactoryCephService).put(any(), any(), any(), any(), captor.capture());

    PDFTextStripper pdfTextStripper = new PDFTextStripper();
    var expectedPdf = pdfTextStripper.getText(PDDocument.load(new File("src/it/resources/expected.pdf")));
    var resultPdf = pdfTextStripper.getText(PDDocument.load(captor.getValue().readAllBytes()));

    var status = excerptRecordRepository.findById(excerptEventDto.getRecordId()).get().getStatus();

    assertThat(resultPdf).isEqualTo(expectedPdf);
    assertThat(status).isEqualTo(ExcerptProcessingStatus.COMPLETED);
  }