in ddm-bpm-extension/src/it/java/com/epam/digital/data/platform/bpms/extension/it/DataFactoryConnectorDelegateIT.java [169:200]
public void testDataFactoryConnectorUpdateDelegate() {
formDataStorageService.putFormData("cephKey", FormDataDto.builder()
.accessToken("token").build());
dataFactoryMockServer.addStubMapping(
stubFor(put(urlPathEqualTo("/mock-server/laboratory/id"))
.withHeader("Content-Type", equalTo("application/json"))
.withHeader("X-Source-System", equalTo("Low-code Platform"))
.withHeader("X-Source-Application", equalTo("ddm-bpm-extension"))
.withHeader("X-Digital-Signature-Derived", equalTo("cephKey"))
.withRequestBody(equalTo("{\"var\":\"value\"}"))
.willReturn(aResponse().withHeader("Content-Type", "application/json")
.withStatus(422).withBody("{\"traceId\":\"traceId1\",\"code\":\"VALIDATION_ERROR\","
+ "\"details\":{\"errors\":[{\"field\":\"field1\",\"value\":\"value1\","
+ "\"message\":\"message1\"}]}}"))));
Map<String, Object> variables = ImmutableMap
.of("secure-sys-var-ref-task-form-data-testActivity", "cephKey");
var ex = assertThrows(ValidationException.class, () -> runtimeService
.startProcessInstanceByKey("testDataFactoryConnectorUpdateDelegate_key", variables));
assertThat(ex).isNotNull();
assertThat(ex.getTraceId()).isEqualTo("traceId1");
assertThat(ex.getCode()).isEqualTo("VALIDATION_ERROR");
assertThat(ex.getMessage()).isNull();
assertThat(ex.getDetails()).isNotNull();
assertThat(ex.getDetails().getErrors()).hasSize(1);
assertThat(ex.getDetails().getErrors().get(0).getMessage())
.isEqualTo("Значення змінної не відповідає правилам вказаним в домені");
assertThat(ex.getDetails().getErrors().get(0).getField()).isEqualTo("field1");
assertThat(ex.getDetails().getErrors().get(0).getValue()).isEqualTo("value1");
}