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\"}");
}