Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

testcontainer fails with ClassNotFoundException for StringUtils causing DEADLINE_EXCEEDED in client #300

Closed
falko opened this issue Apr 8, 2022 · 5 comments

Comments

@falko
Copy link
Member

falko commented Apr 8, 2022

Description

After switching a test that runs on JDK 17 to JDK 11 with testcontainer, it fails with a ClassNotFoundException for StringUtils causing a DEADLINE_EXCEEDED exception in the client.

Expected behaviour

The test succeeds as in JDK 17.

Reproduction steps

Test code
import static io.camunda.zeebe.process.test.assertions.BpmnAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;

import java.time.Duration;
import java.util.Map;

import org.junit.jupiter.api.Test;

import io.camunda.zeebe.client.ZeebeClient;
import io.camunda.zeebe.client.api.response.ActivateJobsResponse;
import io.camunda.zeebe.client.api.response.ProcessInstanceEvent;
import io.camunda.zeebe.client.api.worker.JobHandler;
import io.camunda.zeebe.process.test.api.ZeebeTestEngine;
import io.camunda.zeebe.process.test.extension.testcontainer.ZeebeProcessTest;

/**
 * @see https://docs.camunda.io/docs/components/best-practices/development/testing-process-definitions/#writing-process-tests-in-java
 */
@ZeebeProcessTest
public class SimpleJavaTest {

    private ZeebeClient client;
    private ZeebeTestEngine engine;

    private static boolean calledCreateCase = false;

    @Test
    public void testKYCHappyPath() throws Exception {
        assertThat(
            client.newDeployCommand() //TODO use newDeployResourceCommand() once it is supported in the testing library (see: https://github.com/camunda/zeebe-process-test/issues/298)
            .addResourceFromClasspath("models/kyc-process.bpmn")
            .addResourceFromClasspath("models/document-request-process.bpmn")
            .addResourceFromClasspath("models/evaluate-documents.dmn")
            .send()
            .join()
        );

        final Map<String, Object> variables = Map.of(
            "firstName", "Teddy",
            "lastName", "Brielle",
            "address", "12 rue des Landelles 35510 Cesson-Sévigné",
            "clientId", "demo");

        ProcessInstanceEvent processInstance = client.newCreateInstanceCommand()
            .bpmnProcessId("KYCProcess")
            .latestVersion()
            .variables(variables)
            .send()
            .join();
        engine.waitForIdleState(Duration.ofMillis(1000L));
        assertThat(processInstance).isStarted();

        assertAndExecuteJob("createCase", (jobCclient, job) -> {
            calledCreateCase = true;
            System.out.println("Create case called");
            Map<String, Object> jobVariables = job.getVariablesAsMap();
            String firstName = (String) jobVariables.get("firstName");
            // TODO invoke mock service
            //job.getVariablesAsType(KYCVariables.class);
            String dossierId = "23";
            jobCclient.newCompleteCommand(job.getKey())
                .variables(Map.of("dossierId", dossierId))
                .send()
                .join();
        });
        engine.waitForIdleState(Duration.ofMillis(1000L));
        assertTrue(calledCreateCase);

        //IncidentAssert incident = BpmnAssert.assertThat(processInstance).extractLatestIncident();
       
        //assertThat(processInstance).isCompleted();
    }

    private void assertAndExecuteJob(String taskType, JobHandler handler) throws Exception {
        ActivateJobsResponse job = this.client.newActivateJobsCommand()
                .jobType(taskType)
                .maxJobsToActivate(1)
                .send().join();
        handler.handle(client, job.getJobs().get(0));
    }
}
Process
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:zeebe="http://camunda.org/schema/zeebe/1.0" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:modeler="http://camunda.org/schema/modeler/1.0" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.0.0-nightly.20220405" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="1.3.0" camunda:diagramRelationId="204af0f1-4b10-463a-852c-b03d7fb36503">
  <bpmn:process id="KYCProcess" name="KYC" isExecutable="true">
    <bpmn:extensionElements>
      <zeebe:userTaskForm id="userTaskForm_18vc15n">{
  "components": [
    {
      "text": "# Validate case",
      "type": "text",
      "id": "Field_0c6flzj"
    },
    {
      "label": "Extracted First name",
      "type": "textfield",
      "id": "Field_1hxta0c",
      "key": "extractedFirstName",
      "disabled": true
    },
    {
      "label": "Extracted Last name",
      "type": "textfield",
      "id": "Field_0ixaffq",
      "key": "extractedLastName",
      "disabled": true
    },
    {
      "label": "Extracted Address",
      "type": "textfield",
      "id": "Field_137uuq9",
      "key": "extractedAddress"
    },
    {
      "values": [
        {
          "label": "Yes",
          "value": "true"
        },
        {
          "label": "No",
          "value": "false"
        }
      ],
      "label": "Is the case valid?",
      "type": "radio",
      "id": "Field_171gspo",
      "key": "isCaseValid",
      "validate": {
        "required": true
      }
    }
  ],
  "type": "default",
  "id": "Form_05v165b",
  "executionPlatform": "Camunda Cloud",
  "executionPlatformVersion": "8.0.0",
  "exporter": {
    "name": "Camunda Modeler",
    "version": "5.0.0-nightly.20220405"
  },
  "schemaVersion": 4
}</zeebe:userTaskForm>
    </bpmn:extensionElements>
    <bpmn:serviceTask id="Activity_0rks80k" name="Create case">
      <bpmn:extensionElements>
        <zeebe:taskDefinition type="createCase" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_10fxcc4</bpmn:incoming>
      <bpmn:outgoing>Flow_1bvs91u</bpmn:outgoing>
    </bpmn:serviceTask>
    <bpmn:sequenceFlow id="Flow_10fxcc4" sourceRef="StartEvent_1" targetRef="Activity_0rks80k" />
    <bpmn:sequenceFlow id="Flow_1bvs91u" sourceRef="Activity_0rks80k" targetRef="Activity_0zjg09y" />
    <bpmn:serviceTask id="Activity_151uxyu" name="Verify case completeness">
      <bpmn:extensionElements>
        <zeebe:taskDefinition type="mock" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_11s1tca</bpmn:incoming>
      <bpmn:outgoing>Flow_1xnn5cx</bpmn:outgoing>
    </bpmn:serviceTask>
    <bpmn:sequenceFlow id="Flow_1xnn5cx" sourceRef="Activity_151uxyu" targetRef="Gateway_1wal06s" />
    <bpmn:exclusiveGateway id="Gateway_1wal06s" name="Case complete?">
      <bpmn:incoming>Flow_1xnn5cx</bpmn:incoming>
      <bpmn:outgoing>Flow_0gxykp1</bpmn:outgoing>
      <bpmn:outgoing>Flow_09980q7</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:sequenceFlow id="Flow_0gxykp1" name="yes" sourceRef="Gateway_1wal06s" targetRef="Activity_09f8nny">
      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">= true</bpmn:conditionExpression>
    </bpmn:sequenceFlow>
    <bpmn:endEvent id="Event_1t9d0yn" name="Case&#10;failed due to incompletness">
      <bpmn:incoming>Flow_09980q7</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="Flow_09980q7" name="no" sourceRef="Gateway_1wal06s" targetRef="Event_1t9d0yn">
      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">= false</bpmn:conditionExpression>
    </bpmn:sequenceFlow>
    <bpmn:userTask id="Activity_09f8nny" name="Validate&#10;case">
      <bpmn:extensionElements>
        <zeebe:assignmentDefinition candidateGroups="validator" />
        <zeebe:formDefinition formKey="camunda-forms:bpmn:userTaskForm_18vc15n" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_0gxykp1</bpmn:incoming>
      <bpmn:outgoing>Flow_0vqlw0o</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:exclusiveGateway id="Gateway_18j5on4" name="Case validated?">
      <bpmn:incoming>Flow_0vqlw0o</bpmn:incoming>
      <bpmn:outgoing>Flow_0r4728o</bpmn:outgoing>
      <bpmn:outgoing>Flow_1cydzrv</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:sequenceFlow id="Flow_0vqlw0o" sourceRef="Activity_09f8nny" targetRef="Gateway_18j5on4" />
    <bpmn:sequenceFlow id="Flow_0r4728o" name="yes" sourceRef="Gateway_18j5on4" targetRef="Activity_0v567pz">
      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">= isCaseValid = true</bpmn:conditionExpression>
    </bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="Flow_1cydzrv" name="no" sourceRef="Gateway_18j5on4" targetRef="Activity_1hobs3a">
      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">= isCaseValid = false</bpmn:conditionExpression>
    </bpmn:sequenceFlow>
    <bpmn:endEvent id="Event_1tysx66" name="Case&#10;accepted">
      <bpmn:incoming>Flow_1j8vwf7</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="Flow_1j8vwf7" sourceRef="Activity_0v567pz" targetRef="Event_1tysx66" />
    <bpmn:endEvent id="Event_0jxupdo" name="Case&#10;rejected">
      <bpmn:incoming>Flow_072bjml</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="Flow_072bjml" sourceRef="Activity_1hobs3a" targetRef="Event_0jxupdo" />
    <bpmn:startEvent id="StartEvent_1" name="Case&#10;received">
      <bpmn:outgoing>Flow_10fxcc4</bpmn:outgoing>
    </bpmn:startEvent>
    <bpmn:businessRuleTask id="Activity_0zjg09y" name="Evaluate needed&#10;documents">
      <bpmn:extensionElements>
        <zeebe:calledDecision decisionId="evaluateDocumentsDecision" resultVariable="neededDocuments" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_1bvs91u</bpmn:incoming>
      <bpmn:outgoing>Flow_11auiir</bpmn:outgoing>
    </bpmn:businessRuleTask>
    <bpmn:sendTask id="Activity_0v567pz" name="Inform about&#10;acceptance">
      <bpmn:extensionElements>
        <zeebe:taskDefinition type="mock" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_0r4728o</bpmn:incoming>
      <bpmn:outgoing>Flow_1j8vwf7</bpmn:outgoing>
    </bpmn:sendTask>
    <bpmn:sendTask id="Activity_1hobs3a" name="Inform about&#10;rejection">
      <bpmn:extensionElements>
        <zeebe:taskDefinition type="mock" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_1cydzrv</bpmn:incoming>
      <bpmn:outgoing>Flow_072bjml</bpmn:outgoing>
    </bpmn:sendTask>
    <bpmn:callActivity id="Activity_09ewhny" name="Document&#10;request process">
      <bpmn:extensionElements>
        <zeebe:calledElement processId="DocumentRequestProcess" propagateAllChildVariables="false" />
        <zeebe:ioMapping>
          <zeebe:output source="= if (extractedFirstName != null) then extractedFirstName else null" target="extractedFirstName" />
          <zeebe:output source="= if (extractedLastName != null) then extractedLastName else null" target="extractedLastName" />
          <zeebe:output source="= if (extractedAddress != null) then extractedAddress else null" target="extractedAddress" />
        </zeebe:ioMapping>
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_11auiir</bpmn:incoming>
      <bpmn:outgoing>Flow_11s1tca</bpmn:outgoing>
      <bpmn:multiInstanceLoopCharacteristics>
        <bpmn:extensionElements>
          <zeebe:loopCharacteristics inputCollection="= neededDocuments" inputElement="expectedDocumentFamily" outputCollection="documents" outputElement="= filename" />
        </bpmn:extensionElements>
      </bpmn:multiInstanceLoopCharacteristics>
    </bpmn:callActivity>
    <bpmn:sequenceFlow id="Flow_11s1tca" sourceRef="Activity_09ewhny" targetRef="Activity_151uxyu" />
    <bpmn:sequenceFlow id="Flow_11auiir" sourceRef="Activity_0zjg09y" targetRef="Activity_09ewhny" />
    <bpmn:textAnnotation id="TextAnnotation_14tg2zo">
      <bpmn:text>- call DCRT-API with Document</bpmn:text>
    </bpmn:textAnnotation>
    <bpmn:association id="Association_0mpfhc7" sourceRef="Activity_0rks80k" targetRef="TextAnnotation_14tg2zo" />
    <bpmn:textAnnotation id="TextAnnotation_0yk3d6j">
      <bpmn:text>per document needed</bpmn:text>
    </bpmn:textAnnotation>
    <bpmn:textAnnotation id="TextAnnotation_0vspub5">
      <bpmn:text>Result:
- number of needed documents
- case reference (needs to be passed)
- info: there is an API-endpoint for needed documents (maybe to call later)</bpmn:text>
    </bpmn:textAnnotation>
    <bpmn:association id="Association_1ruie27" sourceRef="Activity_0rks80k" targetRef="TextAnnotation_0vspub5" />
    <bpmn:textAnnotation id="TextAnnotation_1j0dgnc">
      <bpmn:text>- Check DMN usecase
- check if all requested documents are there AND if they valid</bpmn:text>
    </bpmn:textAnnotation>
    <bpmn:association id="Association_0f2z1ph" sourceRef="Activity_151uxyu" targetRef="TextAnnotation_1j0dgnc" />
    <bpmn:association id="Association_0u9hsf9" sourceRef="Activity_09ewhny" targetRef="TextAnnotation_0yk3d6j" />
  </bpmn:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="KYCProcess">
      <bpmndi:BPMNEdge id="Flow_11auiir_di" bpmnElement="Flow_11auiir">
        <di:waypoint x="520" y="250" />
        <di:waypoint x="580" y="250" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_072bjml_di" bpmnElement="Flow_072bjml">
        <di:waypoint x="1550" y="360" />
        <di:waypoint x="1672" y="360" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1j8vwf7_di" bpmnElement="Flow_1j8vwf7">
        <di:waypoint x="1550" y="250" />
        <di:waypoint x="1672" y="250" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1cydzrv_di" bpmnElement="Flow_1cydzrv">
        <di:waypoint x="1310" y="275" />
        <di:waypoint x="1310" y="360" />
        <di:waypoint x="1450" y="360" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1373" y="343" width="13" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0r4728o_di" bpmnElement="Flow_0r4728o">
        <di:waypoint x="1335" y="250" />
        <di:waypoint x="1450" y="250" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1372" y="232" width="18" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0vqlw0o_di" bpmnElement="Flow_0vqlw0o">
        <di:waypoint x="1170" y="250" />
        <di:waypoint x="1285" y="250" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_09980q7_di" bpmnElement="Flow_09980q7">
        <di:waypoint x="960" y="275" />
        <di:waypoint x="960" y="460" />
        <di:waypoint x="1672" y="460" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1023" y="433" width="13" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0gxykp1_di" bpmnElement="Flow_0gxykp1">
        <di:waypoint x="985" y="250" />
        <di:waypoint x="1070" y="250" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1022" y="232" width="18" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1xnn5cx_di" bpmnElement="Flow_1xnn5cx">
        <di:waypoint x="870" y="250" />
        <di:waypoint x="935" y="250" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_11s1tca_di" bpmnElement="Flow_11s1tca">
        <di:waypoint x="680" y="250" />
        <di:waypoint x="770" y="250" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1bvs91u_di" bpmnElement="Flow_1bvs91u">
        <di:waypoint x="360" y="250" />
        <di:waypoint x="420" y="250" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_10fxcc4_di" bpmnElement="Flow_10fxcc4">
        <di:waypoint x="188" y="250" />
        <di:waypoint x="260" y="250" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="Activity_05xflo9_di" bpmnElement="Activity_0rks80k">
        <dc:Bounds x="260" y="210" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1uua8y2_di" bpmnElement="Activity_09ewhny">
        <dc:Bounds x="580" y="210" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1tvuqvd_di" bpmnElement="Activity_151uxyu">
        <dc:Bounds x="770" y="210" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Gateway_1wal06s_di" bpmnElement="Gateway_1wal06s" isMarkerVisible="true">
        <dc:Bounds x="935" y="225" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="920" y="193" width="80" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_1t9d0yn_di" bpmnElement="Event_1t9d0yn">
        <dc:Bounds x="1672" y="442" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1655" y="485" width="71" height="40" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0twi517_di" bpmnElement="Activity_09f8nny">
        <dc:Bounds x="1070" y="210" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Gateway_18j5on4_di" bpmnElement="Gateway_18j5on4" isMarkerVisible="true">
        <dc:Bounds x="1285" y="225" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1270" y="193" width="79" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_1tysx66_di" bpmnElement="Event_1tysx66">
        <dc:Bounds x="1672" y="232" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1668" y="275" width="45" height="27" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_0jxupdo_di" bpmnElement="Event_0jxupdo">
        <dc:Bounds x="1672" y="342" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1670" y="385" width="40" height="27" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_1bscc30_di" bpmnElement="StartEvent_1">
        <dc:Bounds x="152" y="232" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="149" y="275" width="42" height="27" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0bjoucf_di" bpmnElement="Activity_0zjg09y">
        <dc:Bounds x="420" y="210" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1mt34y6_di" bpmnElement="Activity_0v567pz">
        <dc:Bounds x="1450" y="210" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1rupex5_di" bpmnElement="Activity_1hobs3a">
        <dc:Bounds x="1450" y="320" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="TextAnnotation_14tg2zo_di" bpmnElement="TextAnnotation_14tg2zo">
        <dc:Bounds x="180" y="80" width="190" height="30" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="TextAnnotation_0yk3d6j_di" bpmnElement="TextAnnotation_0yk3d6j">
        <dc:Bounds x="660" y="130" width="100" height="41" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="TextAnnotation_0vspub5_di" bpmnElement="TextAnnotation_0vspub5">
        <dc:Bounds x="230" y="330" width="140" height="140" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="TextAnnotation_1j0dgnc_di" bpmnElement="TextAnnotation_1j0dgnc">
        <dc:Bounds x="780" y="80" width="290" height="70" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="Association_0mpfhc7_di" bpmnElement="Association_0mpfhc7">
        <di:waypoint x="290" y="210" />
        <di:waypoint x="238" y="110" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Association_0u9hsf9_di" bpmnElement="Association_0u9hsf9">
        <di:waypoint x="661" y="210" />
        <di:waypoint x="690" y="171" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Association_1ruie27_di" bpmnElement="Association_1ruie27">
        <di:waypoint x="297" y="290" />
        <di:waypoint x="283" y="330" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Association_0f2z1ph_di" bpmnElement="Association_0f2z1ph">
        <di:waypoint x="825" y="210" />
        <di:waypoint x="833" y="150" />
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn:definitions>
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:zeebe="http://camunda.org/schema/zeebe/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:modeler="http://camunda.org/schema/modeler/1.0" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.0.0-nightly.20220405" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="1.3.0" camunda:diagramRelationId="475a48ba-16fe-4383-aebd-027e215b89b2">
  <bpmn:process id="DocumentRequestProcess" name="Document Request" isExecutable="true">
    <bpmn:extensionElements>
      <zeebe:userTaskForm id="userTaskForm_1meuh1j">{
  "components": [
    {
      "text": "The document provided by the customer has not been recognized automatically.",
      "type": "text",
      "id": "Field_1ld1l49"
    },
    {
      "label": "Document",
      "type": "textfield",
      "id": "Field_0r1urax",
      "key": "filename",
      "disabled": true
    },
    {
      "label": "Expected Document Family",
      "type": "textfield",
      "id": "Field_1ix6f83",
      "key": "expectedDocumentFamily",
      "description": "The type of document that is required.",
      "disabled": true
    },
    {
      "values": [
        {
          "label": "Yes",
          "value": "true"
        },
        {
          "label": "No",
          "value": "false"
        }
      ],
      "label": "Is it the expected document?",
      "type": "radio",
      "id": "Field_1owbpx8",
      "key": "isExpectedDocument",
      "validate": {
        "required": true
      }
    },
    {
      "label": "First Name",
      "type": "textfield",
      "id": "Field_1yfx0we",
      "key": "extractedFirstName"
    },
    {
      "label": "Last Name",
      "type": "textfield",
      "id": "Field_0ey0qq1",
      "key": "extractedLastName"
    },
    {
      "label": "Address",
      "type": "textfield",
      "id": "Field_1rxq884",
      "key": "extractedAddress"
    }
  ],
  "type": "default",
  "id": "Form_0o8riah",
  "executionPlatform": "Camunda Cloud",
  "executionPlatformVersion": "8.0.0",
  "exporter": {
    "name": "Camunda Modeler",
    "version": "5.0.0-nightly.20220405"
  },
  "schemaVersion": 4
}</zeebe:userTaskForm>
      <zeebe:userTaskForm id="userTaskForm_0v0fsur">{
  "components": [
    {
      "text": "# Upload document",
      "type": "text",
      "id": "Field_0uyavzu"
    },
    {
      "label": "Please provide the following document:",
      "type": "textfield",
      "id": "Field_0p3dwx5",
      "key": "expectedDocumentFamily",
      "disabled": true
    },
    {
      "values": [
        {
          "label": "albert_specimen_facture_box.png",
          "value": "albert_specimen_facture_box.png"
        },
        {
          "label": "albert_specimen_cni_recto.png",
          "value": "albert_specimen_cni_recto.png"
        },
        {
          "label": "albert_specimen_cni_verso.png",
          "value": "albert_specimen_cni_verso.png"
        },
        {
          "label": "cat.jpg",
          "value": "cat.jpg"
        }
      ],
      "label": "Select file",
      "type": "select",
      "id": "Field_11tdsg7",
      "key": "filename",
      "defaultValue": "albert_specimen_facture_box.png",
      "validate": {
        "required": true
      }
    },
    {
      "action": "submit",
      "label": "Upload document",
      "type": "button",
      "id": "Field_1cecubl",
      "key": "field_0i6k5eu"
    }
  ],
  "type": "default",
  "id": "Form_131an01",
  "executionPlatform": "Camunda Cloud",
  "executionPlatformVersion": "8.0.0",
  "exporter": {
    "name": "Camunda Modeler",
    "version": "5.0.0-nightly.20220405"
  },
  "schemaVersion": 4
}</zeebe:userTaskForm>
    </bpmn:extensionElements>
    <bpmn:startEvent id="StartEvent_1" name="Document requested">
      <bpmn:outgoing>Flow_0z7fyf6</bpmn:outgoing>
    </bpmn:startEvent>
    <bpmn:sequenceFlow id="Flow_0z7fyf6" sourceRef="StartEvent_1" targetRef="Activity_04xulz1" />
    <bpmn:userTask id="Activity_04xulz1" name="Upload&#10;document">
      <bpmn:extensionElements>
        <zeebe:assignmentDefinition assignee="= clientId" />
        <zeebe:formDefinition formKey="camunda-forms:bpmn:userTaskForm_0v0fsur" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_0z7fyf6</bpmn:incoming>
      <bpmn:incoming>Flow_1wsuuen</bpmn:incoming>
      <bpmn:outgoing>Flow_0ejkm43</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:sequenceFlow id="Flow_0ejkm43" sourceRef="Activity_04xulz1" targetRef="Activity_0shph5w" />
    <bpmn:serviceTask id="Activity_0shph5w" name="Type&#10;document">
      <bpmn:extensionElements>
        <zeebe:taskDefinition type="typeDocument" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_0ejkm43</bpmn:incoming>
      <bpmn:outgoing>Flow_10yzmot</bpmn:outgoing>
    </bpmn:serviceTask>
    <bpmn:exclusiveGateway id="Gateway_0zyij3e" name="Expected document?" default="Flow_15jvpfh">
      <bpmn:incoming>Flow_10yzmot</bpmn:incoming>
      <bpmn:outgoing>Flow_1wruj63</bpmn:outgoing>
      <bpmn:outgoing>Flow_15jvpfh</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:userTask id="Activity_10g7hf0" name="Recognize document and extract data">
      <bpmn:extensionElements>
        <zeebe:assignmentDefinition candidateGroups="operator" />
        <zeebe:ioMapping>
          <zeebe:input source="= firstName" target="extractedFirstName" />
          <zeebe:input source="= lastName" target="extractedLastName" />
          <zeebe:input source="= address" target="extractedAddress" />
        </zeebe:ioMapping>
        <zeebe:formDefinition formKey="camunda-forms:bpmn:userTaskForm_1meuh1j" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_1c0fwfk</bpmn:incoming>
      <bpmn:outgoing>Flow_1fq5k2q</bpmn:outgoing>
    </bpmn:userTask>
    <bpmn:exclusiveGateway id="Gateway_1bji5ty" name="Expected document?" default="Flow_0sld3sp">
      <bpmn:incoming>Flow_1fq5k2q</bpmn:incoming>
      <bpmn:outgoing>Flow_1aao0jr</bpmn:outgoing>
      <bpmn:outgoing>Flow_0sld3sp</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:sequenceFlow id="Flow_1fq5k2q" sourceRef="Activity_10g7hf0" targetRef="Gateway_1bji5ty" />
    <bpmn:sequenceFlow id="Flow_1wruj63" name="yes" sourceRef="Gateway_0zyij3e" targetRef="Activity_14h2wmp">
      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">= expectedDocumentFamily = documentFamily</bpmn:conditionExpression>
    </bpmn:sequenceFlow>
    <bpmn:endEvent id="Event_02138gh" name="Document successfully processed automatically">
      <bpmn:incoming>Flow_1ppx1k2</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="Flow_1ppx1k2" sourceRef="Activity_14h2wmp" targetRef="Event_02138gh" />
    <bpmn:serviceTask id="Activity_14h2wmp" name="Extract data">
      <bpmn:extensionElements>
        <zeebe:taskDefinition type="extractData" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_1wruj63</bpmn:incoming>
      <bpmn:outgoing>Flow_1ppx1k2</bpmn:outgoing>
    </bpmn:serviceTask>
    <bpmn:endEvent id="Event_0tstu3y" name="Document succesfully processed with Operator">
      <bpmn:incoming>Flow_1aao0jr</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="Flow_1aao0jr" name="yes" sourceRef="Gateway_1bji5ty" targetRef="Event_0tstu3y">
      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">= isExpectedDocument = "true"</bpmn:conditionExpression>
    </bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="Flow_15jvpfh" name="no" sourceRef="Gateway_0zyij3e" targetRef="Activity_0tzpvqe" />
    <bpmn:sequenceFlow id="Flow_0sld3sp" name="no" sourceRef="Gateway_1bji5ty" targetRef="Activity_0tzpvqe" />
    <bpmn:sequenceFlow id="Flow_1wsuuen" sourceRef="Activity_0tzpvqe" targetRef="Activity_04xulz1" />
    <bpmn:boundaryEvent id="Event_0gj3oh9" name="Document not recognized" attachedToRef="Activity_0shph5w">
      <bpmn:outgoing>Flow_1c0fwfk</bpmn:outgoing>
      <bpmn:errorEventDefinition id="ErrorEventDefinition_06i47dz" errorRef="Error_0fwf97y" />
    </bpmn:boundaryEvent>
    <bpmn:sequenceFlow id="Flow_1c0fwfk" sourceRef="Event_0gj3oh9" targetRef="Activity_10g7hf0" />
    <bpmn:sequenceFlow id="Flow_10yzmot" sourceRef="Activity_0shph5w" targetRef="Gateway_0zyij3e" />
    <bpmn:sendTask id="Activity_0tzpvqe" name="Inform end user about refusal">
      <bpmn:extensionElements>
        <zeebe:taskDefinition type="mock" />
      </bpmn:extensionElements>
      <bpmn:incoming>Flow_15jvpfh</bpmn:incoming>
      <bpmn:incoming>Flow_0sld3sp</bpmn:incoming>
      <bpmn:outgoing>Flow_1wsuuen</bpmn:outgoing>
    </bpmn:sendTask>
    <bpmn:textAnnotation id="TextAnnotation_1450hg6">
      <bpmn:text>via DCRT service API
- 1st step: typing (1st call)
- 2nd step: polling for the result (2nd call)
- check if to model it via BPMN as a better result</bpmn:text>
    </bpmn:textAnnotation>
    <bpmn:association id="Association_0auzwxo" sourceRef="Activity_0shph5w" targetRef="TextAnnotation_1450hg6" />
    <bpmn:textAnnotation id="TextAnnotation_19wlgi3">
      <bpmn:text>To Do: Check if DMN candidate?</bpmn:text>
    </bpmn:textAnnotation>
    <bpmn:association id="Association_11w3ite" sourceRef="Gateway_0zyij3e" targetRef="TextAnnotation_19wlgi3" />
    <bpmn:textAnnotation id="TextAnnotation_12f6v0x">
      <bpmn:text>e.g. via email</bpmn:text>
    </bpmn:textAnnotation>
    <bpmn:association id="Association_0byo4ys" sourceRef="Activity_0tzpvqe" targetRef="TextAnnotation_12f6v0x" />
  </bpmn:process>
  <bpmn:error id="Error_0fwf97y" name="Error_Document_Not_Recognized" errorCode="Error_Document_Not_Recognized" />
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="DocumentRequestProcess">
      <bpmndi:BPMNEdge id="Flow_10yzmot_di" bpmnElement="Flow_10yzmot">
        <di:waypoint x="540" y="260" />
        <di:waypoint x="675" y="260" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1c0fwfk_di" bpmnElement="Flow_1c0fwfk">
        <di:waypoint x="490" y="318" />
        <di:waypoint x="490" y="560" />
        <di:waypoint x="650" y="560" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1wsuuen_di" bpmnElement="Flow_1wsuuen">
        <di:waypoint x="1070" y="420" />
        <di:waypoint x="1410" y="420" />
        <di:waypoint x="1410" y="700" />
        <di:waypoint x="320" y="700" />
        <di:waypoint x="320" y="300" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0sld3sp_di" bpmnElement="Flow_0sld3sp">
        <di:waypoint x="860" y="535" />
        <di:waypoint x="860" y="440" />
        <di:waypoint x="970" y="440" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="869" y="485" width="13" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_15jvpfh_di" bpmnElement="Flow_15jvpfh">
        <di:waypoint x="700" y="285" />
        <di:waypoint x="700" y="400" />
        <di:waypoint x="970" y="400" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="709" y="340" width="13" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1aao0jr_di" bpmnElement="Flow_1aao0jr">
        <di:waypoint x="885" y="560" />
        <di:waypoint x="1172" y="560" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1021" y="542" width="18" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1ppx1k2_di" bpmnElement="Flow_1ppx1k2">
        <di:waypoint x="910" y="260" />
        <di:waypoint x="1172" y="260" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1wruj63_di" bpmnElement="Flow_1wruj63">
        <di:waypoint x="725" y="260" />
        <di:waypoint x="810" y="260" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="760" y="242" width="17" height="14" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_1fq5k2q_di" bpmnElement="Flow_1fq5k2q">
        <di:waypoint x="750" y="560" />
        <di:waypoint x="835" y="560" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0ejkm43_di" bpmnElement="Flow_0ejkm43">
        <di:waypoint x="370" y="260" />
        <di:waypoint x="440" y="260" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Flow_0z7fyf6_di" bpmnElement="Flow_0z7fyf6">
        <di:waypoint x="218" y="260" />
        <di:waypoint x="270" y="260" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
        <dc:Bounds x="182" y="242" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="175" y="285" width="51" height="27" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0mfyi2z_di" bpmnElement="Activity_04xulz1">
        <dc:Bounds x="270" y="220" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_08rg5su_di" bpmnElement="Activity_0shph5w">
        <dc:Bounds x="440" y="220" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Gateway_0zyij3e_di" bpmnElement="Gateway_0zyij3e" isMarkerVisible="true">
        <dc:Bounds x="675" y="235" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="672" y="198" width="55" height="27" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_0865p4o_di" bpmnElement="Activity_10g7hf0">
        <dc:Bounds x="650" y="520" width="100" height="80" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Gateway_1bji5ty_di" bpmnElement="Gateway_1bji5ty" isMarkerVisible="true">
        <dc:Bounds x="835" y="535" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="833" y="592" width="55" height="27" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_02138gh_di" bpmnElement="Event_02138gh">
        <dc:Bounds x="1172" y="242" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1158" y="285" width="65" height="53" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_15nlf41_di" bpmnElement="Activity_14h2wmp">
        <dc:Bounds x="810" y="220" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_0tstu3y_di" bpmnElement="Event_0tstu3y">
        <dc:Bounds x="1172" y="542" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1153" y="585" width="74" height="53" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Activity_1eqecix_di" bpmnElement="Activity_0tzpvqe">
        <dc:Bounds x="970" y="380" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="TextAnnotation_1450hg6_di" bpmnElement="TextAnnotation_1450hg6">
        <dc:Bounds x="420" y="80" width="190" height="70" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="TextAnnotation_19wlgi3_di" bpmnElement="TextAnnotation_19wlgi3">
        <dc:Bounds x="580" y="290" width="100" height="40" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="TextAnnotation_12f6v0x_di" bpmnElement="TextAnnotation_12f6v0x">
        <dc:Bounds x="1020" y="320" width="100" height="30" />
        <bpmndi:BPMNLabel />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="Event_0l3qgp5_di" bpmnElement="Event_0gj3oh9">
        <dc:Bounds x="472" y="282" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="455" y="325" width="70" height="27" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="Association_0auzwxo_di" bpmnElement="Association_0auzwxo">
        <di:waypoint x="495" y="220" />
        <di:waypoint x="503" y="150" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Association_11w3ite_di" bpmnElement="Association_11w3ite">
        <di:waypoint x="685" y="270" />
        <di:waypoint x="657" y="290" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="Association_0byo4ys_di" bpmnElement="Association_0byo4ys">
        <di:waypoint x="1044" y="380" />
        <di:waypoint x="1061" y="350" />
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn:definitions>
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/" xmlns:dmndi="https://www.omg.org/spec/DMN/20191111/DMNDI/" xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_0h7zujf" name="DRD" namespace="http://camunda.org/schema/1.0/dmn" exporter="Camunda Modeler" exporterVersion="5.0.0-nightly.20220405" modeler:executionPlatform="Camunda Cloud" modeler:executionPlatformVersion="8.0.0">
  <decision id="evaluateDocumentsDecision" name="Evaluate documents">
    <decisionTable id="DecisionTable_1dj5tvz" hitPolicy="COLLECT">
      <input id="Input_1" label="User type">
        <inputExpression id="InputExpression_1" typeRef="string">
          <text>userType</text>
        </inputExpression>
      </input>
      <output id="Output_1" label="Needed documents" typeRef="string" />
      <rule id="DecisionRule_1lm2ch6">
        <inputEntry id="UnaryTests_0ozcw9l">
          <text>"natural person"</text>
        </inputEntry>
        <outputEntry id="LiteralExpression_17hzkib">
          <text>"identity"</text>
        </outputEntry>
      </rule>
      <rule id="DecisionRule_1u7h8t9">
        <inputEntry id="UnaryTests_1eaz59s">
          <text>"natural person"</text>
        </inputEntry>
        <outputEntry id="LiteralExpression_1ooco67">
          <text>"address_proof"</text>
        </outputEntry>
      </rule>
      <rule id="DecisionRule_02hlq50">
        <inputEntry id="UnaryTests_16gq0f4">
          <text>"legal person"</text>
        </inputEntry>
        <outputEntry id="LiteralExpression_15cmctc">
          <text>"identity"</text>
        </outputEntry>
      </rule>
      <rule id="DecisionRule_10fxym3">
        <inputEntry id="UnaryTests_0rjudmb">
          <text>"legal person"</text>
        </inputEntry>
        <outputEntry id="LiteralExpression_195dvan">
          <text>"kbis"</text>
        </outputEntry>
      </rule>
      <rule id="DecisionRule_058iypx">
        <inputEntry id="UnaryTests_0rtro73">
          <text>"association"</text>
        </inputEntry>
        <outputEntry id="LiteralExpression_0x7rncv">
          <text>"identity"</text>
        </outputEntry>
      </rule>
      <rule id="DecisionRule_1xdwat1">
        <inputEntry id="UnaryTests_0mr1hdd">
          <text>"association"</text>
        </inputEntry>
        <outputEntry id="LiteralExpression_1s6krbj">
          <text>"address_proof"</text>
        </outputEntry>
      </rule>
      <rule id="DecisionRule_18sfiwx">
        <inputEntry id="UnaryTests_15nr2jf">
          <text>"association"</text>
        </inputEntry>
        <outputEntry id="LiteralExpression_1o3k8fg">
          <text>"assocation_proof"</text>
        </outputEntry>
      </rule>
    </decisionTable>
  </decision>
  <dmndi:DMNDI>
    <dmndi:DMNDiagram>
      <dmndi:DMNShape dmnElementRef="evaluateDocumentsDecision">
        <dc:Bounds height="80" width="180" x="160" y="100" />
      </dmndi:DMNShape>
    </dmndi:DMNDiagram>
  </dmndi:DMNDI>
</definitions>

Environment

  • OS: Linux
  • Version: 8.0.0
@falko falko added the Type: Bug label Apr 8, 2022
@falko
Copy link
Member Author

falko commented Apr 8, 2022

Log:
testcontainer.log.txt

@falko
Copy link
Member Author

falko commented Apr 8, 2022

Client stacktrace:

io.camunda.zeebe.client.api.command.ClientStatusException: deadline exceeded after 9.994810447s. [closed=[], open=[[buffered_nanos=3622321, remote_addr=localhost/127.0.0.1:49170]]]
 at io.camunda.zeebe.client.impl.ZeebeClientFutureImpl.transformExecutionException([ZeebeClientFutureImpl.java:93](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at io.camunda.zeebe.client.impl.ZeebeClientFutureImpl.join([ZeebeClientFutureImpl.java:50](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at SimpleJavaTest.testKYCHappyPath([SimpleJavaTest.java:33](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke([NativeMethodAccessorImpl.java:62](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke([DelegatingMethodAccessorImpl.java:43](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at java.base/java.lang.reflect.Method.invoke([Method.java:566](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.commons.util.ReflectionUtils.invokeMethod([ReflectionUtils.java:725](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.execution.MethodInvocation.proceed([MethodInvocation.java:60](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed([InvocationInterceptorChain.java:131](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.extension.TimeoutExtension.intercept([TimeoutExtension.java:149](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod([TimeoutExtension.java:140](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod([TimeoutExtension.java:84](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0([ExecutableInvoker.java:115](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0([ExecutableInvoker.java:105](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed([InvocationInterceptorChain.java:106](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed([InvocationInterceptorChain.java:64](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke([InvocationInterceptorChain.java:45](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke([InvocationInterceptorChain.java:37](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke([ExecutableInvoker.java:104](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke([ExecutableInvoker.java:98](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7([TestMethodTestDescriptor.java:214](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute([ThrowableCollector.java:73](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod([TestMethodTestDescriptor.java:210](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute([TestMethodTestDescriptor.java:135](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute([TestMethodTestDescriptor.java:66](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6([NodeTestTask.java:151](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute([ThrowableCollector.java:73](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8([NodeTestTask.java:141](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.Node.around([Node.java:137](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9([NodeTestTask.java:139](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute([ThrowableCollector.java:73](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively([NodeTestTask.java:138](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute([NodeTestTask.java:95](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at java.base/java.util.ArrayList.forEach([ArrayList.java:1541](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll([SameThreadHierarchicalTestExecutorService.java:41](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6([NodeTestTask.java:155](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute([ThrowableCollector.java:73](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8([NodeTestTask.java:141](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.Node.around([Node.java:137](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9([NodeTestTask.java:139](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute([ThrowableCollector.java:73](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively([NodeTestTask.java:138](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute([NodeTestTask.java:95](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at java.base/java.util.ArrayList.forEach([ArrayList.java:1541](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll([SameThreadHierarchicalTestExecutorService.java:41](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6([NodeTestTask.java:155](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute([ThrowableCollector.java:73](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8([NodeTestTask.java:141](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.Node.around([Node.java:137](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9([NodeTestTask.java:139](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute([ThrowableCollector.java:73](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively([NodeTestTask.java:138](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute([NodeTestTask.java:95](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit([SameThreadHierarchicalTestExecutorService.java:35](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute([HierarchicalTestExecutor.java:57](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute([HierarchicalTestEngine.java:54](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute([EngineExecutionOrchestrator.java:107](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute([EngineExecutionOrchestrator.java:88](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0([EngineExecutionOrchestrator.java:54](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams([EngineExecutionOrchestrator.java:67](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute([EngineExecutionOrchestrator.java:52](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.launcher.core.DefaultLauncher.execute([DefaultLauncher.java:114](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.launcher.core.DefaultLauncher.execute([DefaultLauncher.java:95](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute([DefaultLauncherSession.java:91](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute([SessionPerRequestLauncher.java:60](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run([JUnit5TestReference.java:98](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.eclipse.jdt.internal.junit.runner.TestExecution.run([TestExecution.java:40](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests([RemoteTestRunner.java:529](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests([RemoteTestRunner.java:756](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run([RemoteTestRunner.java:452](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main([RemoteTestRunner.java:210](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
Caused by: java.util.concurrent.ExecutionException: io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED: deadline exceeded after 9.994810447s. [closed=[], open=[[buffered_nanos=3622321, remote_addr=localhost/127.0.0.1:49170]]]
 at java.base/java.util.concurrent.CompletableFuture.reportGet([CompletableFuture.java:395](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at java.base/java.util.concurrent.CompletableFuture.get([CompletableFuture.java:1999](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at io.camunda.zeebe.client.impl.ZeebeClientFutureImpl.join([ZeebeClientFutureImpl.java:48](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 ... 70 more
Caused by: io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED: deadline exceeded after 9.994810447s. [closed=[], open=[[buffered_nanos=3622321, remote_addr=localhost/127.0.0.1:49170]]]
 at io.grpc.Status.asRuntimeException([Status.java:535](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose([ClientCalls.java:478](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at io.grpc.internal.DelayedClientCall$DelayedListener$3.run([DelayedClientCall.java:463](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute([DelayedClientCall.java:427](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at io.grpc.internal.DelayedClientCall$DelayedListener.onClose([DelayedClientCall.java:460](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at io.grpc.internal.ClientCallImpl.closeObserver([ClientCallImpl.java:562](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at io.grpc.internal.ClientCallImpl.access$300([ClientCallImpl.java:70](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal([ClientCallImpl.java:743](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext([ClientCallImpl.java:722](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at io.grpc.internal.ContextRunnable.run([ContextRunnable.java:37](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at io.grpc.internal.SerializingExecutor.run([SerializingExecutor.java:133](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker([ThreadPoolExecutor.java:1128](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run([ThreadPoolExecutor.java:628](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))
 at java.base/java.lang.Thread.run([Thread.java:829](vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/workbench/workbench.html#))

@remcowesterhoud
Copy link
Contributor

Fixed in #317. This will be part of the 8.0.1 release.

@falko
Copy link
Member Author

falko commented Apr 20, 2022

@remcowesterhoud when will 8.0.1 be released?

@remcowesterhoud
Copy link
Contributor

We are following the same release cadence as Zeebe. @npepinpe wanted to do a Zeebe patch release this week, so we will do ZPT at the same time. I can't give you an exact date at the moment, but maybe @npepinpe can.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants