public void shouldGenerateExcerpt()

in ddm-bpm-extension/src/it/java/com/epam/digital/data/platform/bpms/extension/it/ExcerptConnectorGenerateDelegateIT.java [45:96]


  public void shouldGenerateExcerpt() throws Exception {
    var requestDto = new ExcerptEventDto();
    requestDto.setExcerptType("subject-laboratories-accreditation-excerpt");
    requestDto.setExcerptInputData(Map.of("subjectId", "1234"));
    requestDto.setRequiresSystemSignature(true);

    var requestBody = objectMapper.writeValueAsString(requestDto);

    var dsoResponse = SignResponseDto.builder().signature("sign").build();
    digitalSignatureMockServer.addStubMapping(
        stubFor(
            post(urlPathEqualTo("/api/eseal/sign"))
                .withHeader("Content-Type", equalTo("application/json"))
                .withRequestBody(
                    equalTo(
                        objectMapper.writeValueAsString(
                            SignRequestDto.builder().data(requestBody).build())))
                .willReturn(
                    aResponse()
                        .withHeader("Content-Type", "application/json")
                        .withStatus(200)
                        .withBody(objectMapper.writeValueAsString(dsoResponse)))));

    excerptServiceWireMock.addStubMapping(
        stubFor(
            post(urlPathEqualTo("/excerpt-mock-service/excerpts"))
                .withHeader(
                    PlatformHttpHeader.X_DIGITAL_SIGNATURE_DERIVED.getName(),
                    matching("lowcode_.*_system_signature_ceph_key"))
                .withRequestBody(equalTo(requestBody))
                .willReturn(
                    aResponse()
                        .withBody(
                            objectMapper.writeValueAsString(
                                new ExcerptEntityId(
                                    UUID.fromString("d564f2ab-eec6-11eb-9efa-0a580a820439"))))
                        .withStatus(200))));

    var processInstance = runtimeService
        .startProcessInstanceByKey("test_generate_excerpt");

    var processInstanceList = runtimeService.createProcessInstanceQuery()
        .processInstanceId(processInstance.getId()).list();
    Assertions.assertThat(CollectionUtils.isEmpty(processInstanceList)).isTrue();

    var derivedSignatureCephKey = String.format(FormDataKeyProviderImpl.SYSTEM_SIGNATURE_STORAGE_KEY,
            processInstance.getId(),
            processInstance.getId());
    var signedFormData = formDataStorageService.getFormData(derivedSignatureCephKey);
    assertThat(signedFormData).isPresent();
    assertThat(signedFormData.get().getSignature()).isEqualTo(dsoResponse.getSignature());
  }