public void testDigitalSignatureConnectorDelegate()

in ddm-bpm-extension/src/it/java/com/epam/digital/data/platform/bpms/extension/it/DigitalSystemSignatureDelegateIT.java [46:79]


  public void testDigitalSignatureConnectorDelegate() throws JsonProcessingException {
    var response = SignResponseDto.builder().signature("test").build();
    digitalSignatureMockServer.addStubMapping(
        stubFor(post(urlPathEqualTo("/api/eseal/sign"))
            .withHeader("Content-Type", equalTo("application/json"))
            .withHeader("X-Access-Token", equalTo(validAccessToken))
            .withRequestBody(equalTo("{\"data\":\"{\\\"name\\\":\\\"John\\\"}\"}"))
            .willReturn(
                aResponse().withHeader("Content-Type", "application/json").withStatus(200)
                    .withBody(objectMapper.writeValueAsString(response)))));

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

    var cephKey = formDataKeyProvider
        .generateKey("testActivity", processInstance.getProcessInstanceId());
    formDataStorageService.putFormData(cephKey, FormDataDto.builder().accessToken(validAccessToken)
        .data(new LinkedHashMap<>()).build());

    String taskId = taskService.createTaskQuery().taskDefinitionKey("waitConditionTaskForDso")
        .singleResult().getId();
    taskService.complete(taskId);

    BpmnAwareTests.assertThat(processInstance).isEnded();

    var key = String.format(FormDataKeyProviderImpl.SYSTEM_SIGNATURE_STORAGE_KEY,
        processInstance.getId(),
        processInstance.getId());
    var signedFormData = formDataStorageService.getFormData(key);
    assertThat(signedFormData).isPresent();
    assertThat(signedFormData.get().getSignature()).isEqualTo(response.getSignature());
    assertThat(objectMapper.writeValueAsString(signedFormData.get().getData()))
        .isEqualTo("{\"name\":\"John\"}");
  }