in ddm-bpm-extension/src/it/java/com/epam/digital/data/platform/bpms/extension/it/DataFactoryConnectorDelegateIT.java [99:124]
public void testValidationErrorDataFactoryConnectorReadDelegate() {
dataFactoryMockServer.addStubMapping(
stubFor(get(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"))
.willReturn(aResponse().withStatus(422)
.withBody("{\"traceId\":\"traceId1\",\"code\":\"VALIDATION_ERROR\","
+ "\"message\":\"Validation error\","
+ "\"details\":{\"errors\":[{\"field\":\"field1\",\"value\":\"value1\","
+ "\"message\":\"message1\"}]}}"))));
var ex = assertThrows(ValidationException.class, () -> runtimeService
.startProcessInstanceByKey("testDataFactoryConnectorReadDelegate_key"));
assertThat(ex).isNotNull();
assertThat(ex.getTraceId()).isEqualTo("traceId1");
assertThat(ex.getCode()).isEqualTo("VALIDATION_ERROR");
assertThat(ex.getMessage()).isEqualTo("Validation error");
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");
}