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