diff --git a/.codacy.yml b/.codacy.yml new file mode 100644 index 00000000..0b422286 --- /dev/null +++ b/.codacy.yml @@ -0,0 +1,5 @@ +--- +exclude_paths: + - '.github/**' + - 'docs/**' + - '**/packages.md' diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 00000000..36219d48 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,3 @@ +Please use one of the following templates: + +https://github.com/holunda-io/camunda-bpm-data/issues/new/choose diff --git a/.github/ISSUE_TEMPLATE/1_bug_report.md b/.github/ISSUE_TEMPLATE/1_bug_report.md new file mode 100644 index 00000000..dc549c03 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/1_bug_report.md @@ -0,0 +1,23 @@ +--- +name: 'Bug report' +about: 'Report a bug in camunda-bpm-data' +title: +labels: 'type: bug :bug:' +assignees: zambrovski + +--- + +### Steps to reproduce + +* camunda-bpm-data version: +* Camunda BPM version: +* JDK version: +* Operating system: +* Complete executable reproducer: (e.g. GitHub Repo) +* Steps: (what exactly are you doing with the above reproducer?) + +### Expected behaviour + +### Actual behaviour + +(In case of exceptions provide full stack trace) diff --git a/.github/ISSUE_TEMPLATE/2_feature_request.md b/.github/ISSUE_TEMPLATE/2_feature_request.md new file mode 100644 index 00000000..be7f9547 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/2_feature_request.md @@ -0,0 +1,20 @@ +--- +name: 'Feature request' +about: 'Suggest a feature for camunda-bpm-data' +title: +labels: 'type: enhancement' +assignees: zambrovski + +--- + +### Scenario + +* camunda-bpm-data version: +* Camunda BPM version: +* Description of your use case: (detailed description or executable reproducer, e.g. GitHub repo) + +### Current Behaviour + +### Wanted Behaviour + +### Possible Workarounds diff --git a/.github/workflows/default.yml b/.github/workflows/default.yml index 471d25df..a10a27cb 100644 --- a/.github/workflows/default.yml +++ b/.github/workflows/default.yml @@ -35,12 +35,9 @@ jobs: - name: Build run: ./mvnw clean package - - name: Run integration tests + - name: Run integration tests and generate coverage reports run: ./mvnw -Pitest verify - - name: Create coverage reports - run: ./mvnw jacoco:report-aggregate - - name: Upload coverage to Codecov uses: codecov/codecov-action@v1.0.2 with: diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 109a255d..3080fd22 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -32,12 +32,9 @@ jobs: - name: Build run: ./mvnw clean package - - name: Run integration tests + - name: Run integration tests and generate coverage reports run: ./mvnw -Pitest verify - - name: Create coverage reports - run: ./mvnw jacoco:report-aggregate - - name: Import GPG Owner Trust run: echo ${{secrets.GPG_OWNERTRUST}} | base64 --decode | gpg --import-ownertrust diff --git a/README.adoc b/README.adoc index a02edd02..e65eb220 100644 --- a/README.adoc +++ b/README.adoc @@ -55,7 +55,7 @@ If you just want to start using the library, put the following dependency into y ---- -If you are using Gradle Kotlin DSL add to your `build.gradle`: +If you are using Gradle Kotlin DSL add to your `build.gradle.kts`: [source,kotlin] ---- implementation("io.holunda.data:camunda-bpm-data:1.0.1") @@ -155,7 +155,7 @@ Please put the following dependency into your `pom.xml`: io.holunda.data camunda-bpm-data-test - 1.0.0 + 1.0.1 test ---- diff --git a/docs/pom.xml b/docs/pom.xml index 6be0c499..145e16aa 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -6,7 +6,7 @@ io.holunda.data camunda-bpm-data-parent - 1.0.1 + 1.0.2 camunda-bpm-data-docs diff --git a/docs/src/orchid/resources/changelog/1.0/1.0.1.ad b/docs/src/orchid/resources/changelog/1.0/1.0.1.ad index e500e080..afab680b 100644 --- a/docs/src/orchid/resources/changelog/1.0/1.0.1.ad +++ b/docs/src/orchid/resources/changelog/1.0/1.0.1.ad @@ -1,5 +1,5 @@ --- -version: 1.0.0 +version: 1.0.1 --- == Bugfixes diff --git a/docs/src/orchid/resources/changelog/1.0/1.0.2.ad b/docs/src/orchid/resources/changelog/1.0/1.0.2.ad new file mode 100644 index 00000000..5ae58413 --- /dev/null +++ b/docs/src/orchid/resources/changelog/1.0/1.0.2.ad @@ -0,0 +1,9 @@ +--- +version: 1.0.2 +--- + +== Enhancement + +* Read/write adapter for CaseService context, see #59 +* Supports variables via DelegateCaseExecution +* Implement `CaseServiceVariableMockBuilder` and `CaseServiceVerifier`, see #59 diff --git a/docs/src/orchid/resources/config.yml b/docs/src/orchid/resources/config.yml index 541573a1..589f1cdb 100644 --- a/docs/src/orchid/resources/config.yml +++ b/docs/src/orchid/resources/config.yml @@ -3,6 +3,7 @@ site: siteName: Camunda BPM Data siteDescription: Beautiful process data handling for Camunda BPM. avatar: 'assets/media/favicon.png' + version: 1.0.2 allPages: components: diff --git a/docs/src/orchid/resources/pages/quick-start.ad b/docs/src/orchid/resources/pages/quick-start.ad index 5d2e5595..aeb82222 100644 --- a/docs/src/orchid/resources/pages/quick-start.ad +++ b/docs/src/orchid/resources/pages/quick-start.ad @@ -16,20 +16,20 @@ In Apache Maven add to your `pom.xml`: io.holunda.data camunda-bpm-data - 1.0.1 + {{ site:version }} ---- -For Gradle Kotlin DSL add to your `build.gradle`: +For Gradle Kotlin DSL add to your `build.gradle.kts`: [source,kotlin] ---- -implementation("io.holunda.data:camunda-bpm-data:1.0.1") +implementation("io.holunda.data:camunda-bpm-data:{{ site:version }}") ---- For Gradle Groovy DSL add to your `build.gradle`: [source,groovy] ---- -implementation 'io.holunda.data:camunda-bpm-data:1.0.1' +implementation 'io.holunda.data:camunda-bpm-data:{{ site:version }}' ---- === Declare process variable factories @@ -128,7 +128,7 @@ Please put the following dependency into your `pom.xml`: io.holunda.data camunda-bpm-data-test - 1.0.0 + 1.0.2 test ---- diff --git a/docs/src/orchid/resources/wiki/user-guide/features.ad b/docs/src/orchid/resources/wiki/user-guide/features.ad index 6cc2bd77..0a017cb0 100644 --- a/docs/src/orchid/resources/wiki/user-guide/features.ad +++ b/docs/src/orchid/resources/wiki/user-guide/features.ad @@ -7,12 +7,13 @@ title: Features * Process Variables - The library provides a way to construct a generic adapter for every process variable. - The adapter contains variable type. -- The adapter can be applied in any context (`RuntimeService`, `TaskService`, `DelegateExecution`, `DelegateTask`, `VariableMap`). +- The adapter can be applied in any context (`RuntimeService`, `TaskService`, `CaseService`, `DelegateExecution`, `DelegateTask`, `DelegateCaseExecution`, `VariableMap`). - The adapter offers methods to read, write, update and remove variable values. - The adapter works for all types supported by Camunda BPM. This includes primitive types, object and container types ( `List`, `Set`, `Map` ). - The adapter supports global / local variables. - The adapter support transient variables. - Fluent API helper are available in order to set, remove or update multiple variables in the same context (`VariableMapBuilder`, `VariableReader` and `GlobalVariableWriter`). + * Process Variable Guards - Generic support for `VariableGuard` for evaluation of a list of `VariableCondition`s - Condition to check if variable exists. @@ -22,6 +23,7 @@ title: Features - Condition to check if variable matches condition specified by a custom function. - `DefaultGuardTaskListener` to construct variable conditions guards easily. - `DefaultGuardExecutionListener` to construct variable conditions guards easily. + * Anti-Corruption-Layer - Generic support for `AntiCorruptionLayer` for protection and influence of variable modification in signalling and message correlation. - Helper methods for the client to wrap variables in a transient carrier. @@ -29,8 +31,11 @@ title: Features - Task listener to handle `VariableGuard`-based conditions and `VariableMapTransformer`-based modifications. - Factory methods to create `AntiCorruptionLayer` with a `VariableGuard` (see `CamundaBpmDataACL`) - Factory methods to create `AntiCorruptionLayer` without a `VariableGuard` (see `CamundaBpmDataMapper`) -* Testing variable access and mocking `RuntimeService` and `TaskService`. + +* Testing variable access and mocking `RuntimeService`, `TaskService` and `CaseService`. - Builder to create Mockito-based behaviour of `RuntimeService` accessing variables. - Builder to create Mockito-based behaviour of `TaskServiceService` accessing variables. +- Builder to create Mockito-based behaviour of `CaseServiceService` accessing variables. - Verifier to check correct access to variables in `RuntimeService` - Verifier to check correct access to variables in `TaskService` +- Verifier to check correct access to variables in `CaseService` diff --git a/example/coverage-report-aggregator/pom.xml b/example/coverage-report-aggregator/pom.xml new file mode 100644 index 00000000..46d1fc13 --- /dev/null +++ b/example/coverage-report-aggregator/pom.xml @@ -0,0 +1,59 @@ + + + 4.0.0 + + + io.holunda.data.example + camunda-bpm-data-example-parent + 1.0.2 + + + camunda-bpm-data-coverage-report + ${project.artifactId} + pom + + + false + + + + + io.holunda.data + camunda-bpm-data + ${project.version} + compile + + + io.holunda.data + camunda-bpm-data-test + ${project.version} + compile + + + io.holunda.data.example + camunda-bpm-data-integration-test + ${project.version} + compile + + + + + + + org.jacoco + jacoco-maven-plugin + + + report-aggregate + verify + + report-aggregate + + + + + + + + diff --git a/example/example-java/pom.xml b/example/example-java/pom.xml index d0a3c0ae..c8d355ac 100644 --- a/example/example-java/pom.xml +++ b/example/example-java/pom.xml @@ -6,7 +6,7 @@ io.holunda.data.example camunda-bpm-data-example-parent - 1.0.1 + 1.0.2 camunda-bpm-data-example-java @@ -74,13 +74,45 @@ jackson-module-kotlin + + com.h2database + h2 + org.codehaus.groovy - groovy-all + groovy - com.h2database - h2 + org.codehaus.groovy + groovy-datetime + + + org.codehaus.groovy + groovy-jmx + + + org.codehaus.groovy + groovy-json + + + org.codehaus.groovy + groovy-jsr223 + + + org.codehaus.groovy + groovy-macro + + + org.codehaus.groovy + groovy-nio + + + org.codehaus.groovy + groovy-templates + + + org.codehaus.groovy + groovy-xml diff --git a/example/example-java/src/main/java/io/holunda/camunda/bpm/data/example/rest/ApproveOrderTaskController.java b/example/example-java/src/main/java/io/holunda/camunda/bpm/data/example/rest/ApproveOrderTaskController.java index e02ce445..a7c8202c 100644 --- a/example/example-java/src/main/java/io/holunda/camunda/bpm/data/example/rest/ApproveOrderTaskController.java +++ b/example/example-java/src/main/java/io/holunda/camunda/bpm/data/example/rest/ApproveOrderTaskController.java @@ -4,12 +4,7 @@ import org.camunda.bpm.engine.TaskService; import org.camunda.bpm.engine.variable.VariableMap; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; @@ -20,25 +15,25 @@ @RequestMapping("/task/approve-order") public class ApproveOrderTaskController { - private final TaskService taskService; - - public ApproveOrderTaskController(TaskService taskService) { - this.taskService = taskService; - } - - @GetMapping("/{taskId}") - public ResponseEntity loadTask(@PathVariable("taskId") String taskId) { - final Order order = ORDER.from(taskService, taskId).get(); - final BigDecimal orderTotal = ORDER_TOTAL.from(taskService, taskId).get(); - return ResponseEntity.ok(new ApproveTaskDto(order, orderTotal)); - } - - @PostMapping("/{taskId}") - public ResponseEntity completeTask(@PathVariable("taskId") String taskId, @RequestBody ApproveTaskCompleteDto userInput) { - VariableMap vars = builder() - .set(ORDER_APPROVED, userInput.getApproved()) - .build(); - taskService.complete(taskId, vars); - return ResponseEntity.noContent().build(); - } + private final TaskService taskService; + + public ApproveOrderTaskController(TaskService taskService) { + this.taskService = taskService; + } + + @GetMapping("/{taskId}") + public ResponseEntity loadTask(@PathVariable("taskId") String taskId) { + final Order order = ORDER.from(taskService, taskId).get(); + final BigDecimal orderTotal = ORDER_TOTAL.from(taskService, taskId).get(); + return ResponseEntity.ok(new ApproveTaskDto(order, orderTotal)); + } + + @PostMapping("/{taskId}") + public ResponseEntity completeTask(@PathVariable("taskId") String taskId, @RequestBody ApproveTaskCompleteDto userInput) { + VariableMap vars = builder() + .set(ORDER_APPROVED, userInput.getApproved()) + .build(); + taskService.complete(taskId, vars); + return ResponseEntity.noContent().build(); + } } diff --git a/example/example-java/src/test/java/io/holunda/camunda/bpm/data/example/process/OrderApprovalProcessTest.java b/example/example-java/src/test/java/io/holunda/camunda/bpm/data/example/process/OrderApprovalProcessTest.java index 96679ce0..543ed685 100644 --- a/example/example-java/src/test/java/io/holunda/camunda/bpm/data/example/process/OrderApprovalProcessTest.java +++ b/example/example-java/src/test/java/io/holunda/camunda/bpm/data/example/process/OrderApprovalProcessTest.java @@ -19,113 +19,115 @@ import java.sql.Date; import java.time.Instant; -import static io.holunda.camunda.bpm.data.example.process.OrderApproval.*; import static io.holunda.camunda.bpm.data.example.process.OrderApproval.Elements.*; +import static io.holunda.camunda.bpm.data.example.process.OrderApproval.*; import static org.camunda.bpm.engine.test.assertions.bpmn.BpmnAwareTests.*; -import static org.junit.Assert.assertTrue; @Deployment(resources = "order_approval.bpmn") public class OrderApprovalProcessTest { - @Rule - public final ProcessEngineRule rule = new StandaloneInMemoryTestConfiguration( - Lists.newArrayList(new SpinProcessEnginePlugin()) - ).rule(); + @Rule + public final ProcessEngineRule rule = new StandaloneInMemoryTestConfiguration( + Lists.newArrayList(new SpinProcessEnginePlugin()) + ).rule(); - private OrderApprovalInstanceFactory factory; + private OrderApprovalInstanceFactory factory; - @Before - public void register() { - factory = new OrderApprovalInstanceFactory(rule.getRuntimeService()); - OrderApproval config = new OrderApproval(); - Mocks.register("guardExecutionListener", config.guardExecutionListener()); - Mocks.register("guardTaskListener", config.guardTaskListener()); - Mocks.register("orderApproval", new MockOrderApproval()); - } + @Before + public void register() { + factory = new OrderApprovalInstanceFactory(rule.getRuntimeService()); + OrderApproval config = new OrderApproval(); + Mocks.register("guardExecutionListener", config.guardExecutionListener()); + Mocks.register("guardTaskListener", config.guardTaskListener()); + Mocks.register("orderApproval", new MockOrderApproval()); + } - @Test - public void shouldDeploy() { - // empty method body checks deployment - } + @Test + public void shouldDeploy() { + // empty method body checks deployment + } - @Test - public void shouldStartAsync() { - OrderApprovalInstance instance = factory.start("1"); + @Test + public void shouldStartAsync() { + OrderApprovalInstance instance = factory.start("1"); - assertThat(instance.get()).isStarted(); - assertThat(instance.get()).isWaitingAt(element(start_order_created)); - } + assertThat(instance.get()).isStarted(); + assertThat(instance.get()).isWaitingAt(element(start_order_created)); + } - @Test - public void shouldStartAndWaitInUserTask() { - OrderApprovalInstance instance = factory.start("1"); + @Test + public void shouldStartAndWaitInUserTask() { + OrderApprovalInstance instance = factory.start("1"); - assertThat(instance.get()).isStarted(); + assertThat(instance.get()).isStarted(); - // pass async on start - execute(job()); + // pass async on start + execute(job()); - assertThat(instance.get()).isWaitingAt(element(user_approve_order)); - } + assertThat(instance.get()).isWaitingAt(element(user_approve_order)); + } - @Test - public void shouldStartAndWaitInUserTaskAndApprove() { - OrderApprovalInstance instance = factory.start("1"); + @Test + public void shouldStartAndWaitInUserTaskAndApprove() { + OrderApprovalInstance instance = factory.start("1"); - assertThat(instance.get()).isStarted(); + assertThat(instance.get()).isStarted(); - // pass async on start - execute(job()); + // pass async on start + execute(job()); - // complete user task - complete(task(), new VariableMapBuilder().set(ORDER_APPROVED, true).build()); - // pass async oafter user task - execute(job()); + // complete user task + complete(task(), new VariableMapBuilder().set(ORDER_APPROVED, true).build()); + // pass async oafter user task + execute(job()); - assertThat(instance.get()).isEnded(); - assertThat(instance.get()).hasPassed(element(end_order_approved)); - } + assertThat(instance.get()).isEnded(); + assertThat(instance.get()).hasPassed(element(end_order_approved)); + } + + @Test + public void shouldStartAndWaitInUserTaskAndReject() { + OrderApprovalInstance instance = factory.start("1"); - @Test - public void shouldStartAndWaitInUserTaskAndReject() { - OrderApprovalInstance instance = factory.start("1"); + assertThat(instance.get()).isStarted(); - assertThat(instance.get()).isStarted(); + // pass async on start + execute(job()); - // pass async on start - execute(job()); + // complete user task + complete(task(), new VariableMapBuilder().set(ORDER_APPROVED, false).build()); + // pass async oafter user task + execute(job()); - // complete user task - complete(task(), new VariableMapBuilder().set(ORDER_APPROVED, false).build()); - // pass async oafter user task - execute(job()); + assertThat(instance.get()).isEnded(); + assertThat(instance.get()).hasPassed(element(end_order_rejected)); + } - assertThat(instance.get()).isEnded(); - assertThat(instance.get()).hasPassed(element(end_order_rejected)); + + /** + * Stub for the test. + */ + static class MockOrderApproval { + public JavaDelegate loadOrder() { + return execution -> { + ORDER.on(execution).set(new Order("1", Date.from(Instant.now()), Lists.newArrayList( + new OrderPosition("Pencil", BigDecimal.valueOf(1.99), 3L), + new OrderPosition("Sheet", BigDecimal.valueOf(0.17), 3L) + ))); + }; } + public JavaDelegate calculateOrderPositions() { + return execution -> { + ORDER_TOTAL.on(execution).set(BigDecimal.valueOf(6.48)); + }; + } - /** - * Stub for the test. - */ - static class MockOrderApproval { - public JavaDelegate loadOrder() { - return execution -> { - ORDER.on(execution).set(new Order("1", Date.from(Instant.now()), Lists.newArrayList( - new OrderPosition("Pencil", BigDecimal.valueOf(1.99), 3L), - new OrderPosition("Sheet", BigDecimal.valueOf(0.17), 3L) - ))); - }; - } - - public JavaDelegate calculateOrderPositions() { - return execution -> { - ORDER_TOTAL.on(execution).set(BigDecimal.valueOf(6.48)); - }; - } - - public JavaDelegate writeOrderTotal() { return execution -> {}; } + public JavaDelegate writeOrderTotal() { + return execution -> { + }; } + } } diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterITest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterITest.json deleted file mode 100644 index 6f4c6dd0..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterITest.json +++ /dev/null @@ -1,533 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterITest", - "name": "Runtime Service Adapter I", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterITest", - "testMethodName": "should write to variables-map and read runtime adapter", - "description": "should write to variables-map and read runtime adapter", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with user task is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with user task is deployed" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - } - ], - "status": "PASSED", - "durationInNanos": 4898100 - }, - { - "name": "get process definition", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 223200 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Fri Dec 13 15:36:48 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Fri Dec 13 15:36:48 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 286369000 - }, - { - "name": "execution is accessed in wait state", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "execution is accessed in wait state" - }, - { - "value": "(org.camunda.bpm.engine.RuntimeService, kotlin.String) -\u003e kotlin.Unit", - "argumentInfo": { - "argumentName": "runtimeServiceExecutionCallback", - "formattedValue": "(org.camunda.bpm.engine.RuntimeService, kotlin.String) -\u003e kotlin.Unit" - } - } - ], - "status": "PASSED", - "durationInNanos": 238924000 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}, Date Variable\u003dFri Dec 13 15:36:48 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}, Date Variable\u003dFri Dec 13 15:36:48 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1ab21633, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@59aa1d1c, Fri Dec 13 15:36:48 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@169d4aba, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@612bb755, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6ba226cd, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@62e99458, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1eddca25, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@22f057b4, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@581e8969, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@767b9d66, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@687fd6e, {Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1ab21633, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@59aa1d1c, Fri Dec 13 15:36:48 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@169d4aba, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@612bb755, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6ba226cd, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@62e99458, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1eddca25, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@22f057b4, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@581e8969, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@767b9d66, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@687fd6e, {Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 114454300 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 1787880400 - } - ], - "durationInNanos": 1787880400, - "executionStatus": "SUCCESS" - }, - { - "className": "io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterITest", - "testMethodName": "should write to task service adapter", - "description": "should write to task service adapter", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with user task and delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with user task and delegate is deployed" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - }, - { - "value": "${readFromVariableScope}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readFromVariableScope}" - } - } - ], - "status": "PASSED", - "durationInNanos": 53900 - }, - { - "name": "get process definition", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 250000 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "{\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 43600 - }, - { - "name": "process waits in task", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "process waits in task" - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - } - ], - "status": "PASSED", - "durationInNanos": 59823400 - }, - { - "name": "execution is accessed in wait state", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "execution is accessed in wait state" - }, - { - "value": "(org.camunda.bpm.engine.RuntimeService, kotlin.String) -\u003e kotlin.Unit", - "argumentInfo": { - "argumentName": "runtimeServiceExecutionCallback", - "formattedValue": "(org.camunda.bpm.engine.RuntimeService, kotlin.String) -\u003e kotlin.Unit" - } - } - ], - "status": "PASSED", - "durationInNanos": 43700 - }, - { - "name": "task is completed", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "task is completed" - } - ], - "status": "PASSED", - "durationInNanos": 67051200 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}, Date Variable\u003dFri Dec 13 15:36:48 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}, Date Variable\u003dFri Dec 13 15:36:48 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1ab21633, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@59aa1d1c, Fri Dec 13 15:36:48 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@169d4aba, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@612bb755, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6ba226cd, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@62e99458, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1eddca25, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@22f057b4, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@581e8969, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@767b9d66, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@687fd6e, {Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1ab21633, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@59aa1d1c, Fri Dec 13 15:36:48 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@169d4aba, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@612bb755, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6ba226cd, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@62e99458, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1eddca25, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@22f057b4, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@581e8969, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@767b9d66, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@687fd6e, {Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 1208600 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 371153400 - } - ], - "durationInNanos": 371153400, - "executionStatus": "SUCCESS" - }, - { - "className": "io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterITest", - "testMethodName": "should remove on runtime service adapter", - "description": "should remove on runtime service adapter", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with user task and delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with user task and delegate is deployed" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - }, - { - "value": "${readOptionalFromVariableScope}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readOptionalFromVariableScope}" - } - } - ], - "status": "PASSED", - "durationInNanos": 57100 - }, - { - "name": "get process definition", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 237200 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Fri Dec 13 15:36:48 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Fri Dec 13 15:36:48 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 42800 - }, - { - "name": "process waits in task", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "process waits in task" - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - } - ], - "status": "PASSED", - "durationInNanos": 13553200 - }, - { - "name": "execution is accessed in wait state", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "execution is accessed in wait state" - }, - { - "value": "(org.camunda.bpm.engine.RuntimeService, kotlin.String) -\u003e kotlin.Unit", - "argumentInfo": { - "argumentName": "runtimeServiceExecutionCallback", - "formattedValue": "(org.camunda.bpm.engine.RuntimeService, kotlin.String) -\u003e kotlin.Unit" - } - } - ], - "status": "PASSED", - "durationInNanos": 63200 - }, - { - "name": "task is completed", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "task is completed" - } - ], - "status": "PASSED", - "durationInNanos": 42352900 - }, - { - "name": "variables had not value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had not value" - }, - { - "value": "{Double Variable\u003dOptional[12.0], Complex Variable\u003dOptional[ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)], List Of String Variable\u003dOptional.empty, Short Variable\u003dOptional[11], Map Of String to Date Variable\u003dOptional.empty, Date Variable\u003dOptional[Fri Dec 13 15:36:48 CET 2019], Long Variable\u003dOptional[812], Set Of String Variable\u003dOptional.empty, Int Variable\u003dOptional[123], String Variable\u003dOptional.empty, Boolean Variable\u003dOptional[true]}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003dOptional[12.0], Complex Variable\u003dOptional[ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)], List Of String Variable\u003dOptional.empty, Short Variable\u003dOptional[11], Map Of String to Date Variable\u003dOptional.empty, Date Variable\u003dOptional[Fri Dec 13 15:36:48 CET 2019], Long Variable\u003dOptional[812], Set Of String Variable\u003dOptional.empty, Int Variable\u003dOptional[123], String Variable\u003dOptional.empty, Boolean Variable\u003dOptional[true]}" - } - }, - { - "value": "io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1ab21633, io.holunda.camunda.bpm.data.factory.ListVariableFactory@581e8969, io.holunda.camunda.bpm.data.factory.SetVariableFactory@767b9d66, io.holunda.camunda.bpm.data.factory.MapVariableFactory@687fd6e", - "argumentInfo": { - "argumentName": "variableWithValue", - "formattedValue": "io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1ab21633, io.holunda.camunda.bpm.data.factory.ListVariableFactory@581e8969, io.holunda.camunda.bpm.data.factory.SetVariableFactory@767b9d66, io.holunda.camunda.bpm.data.factory.MapVariableFactory@687fd6e" - } - } - ], - "status": "PASSED", - "durationInNanos": 46000 - }, - { - "name": "variables had value", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003dOptional[12.0], Complex Variable\u003dOptional[ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)], List Of String Variable\u003dOptional.empty, Short Variable\u003dOptional[11], Map Of String to Date Variable\u003dOptional.empty, Date Variable\u003dOptional[Fri Dec 13 15:36:48 CET 2019], Long Variable\u003dOptional[812], Set Of String Variable\u003dOptional.empty, Int Variable\u003dOptional[123], String Variable\u003dOptional.empty, Boolean Variable\u003dOptional[true]}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003dOptional[12.0], Complex Variable\u003dOptional[ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)], List Of String Variable\u003dOptional.empty, Short Variable\u003dOptional[11], Map Of String to Date Variable\u003dOptional.empty, Date Variable\u003dOptional[Fri Dec 13 15:36:48 CET 2019], Long Variable\u003dOptional[812], Set Of String Variable\u003dOptional.empty, Int Variable\u003dOptional[123], String Variable\u003dOptional.empty, Boolean Variable\u003dOptional[true]}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6ba226cd, Optional[812])]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6ba226cd, Optional[812])]" - } - } - ], - "status": "PASSED", - "durationInNanos": 815700 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 253528500 - } - ], - "durationInNanos": 253528500, - "executionStatus": "SUCCESS" - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterReadITest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterReadITest.json deleted file mode 100644 index 10742e30..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterReadITest.json +++ /dev/null @@ -1,145 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterReadITest", - "name": "Runtime Service Adapter Read I", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterReadITest", - "testMethodName": "should write to variables-map and read runtime adapter", - "description": "should write to variables-map and read runtime adapter", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with user task is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with user task is deployed" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - } - ], - "status": "PASSED", - "durationInNanos": 26750310 - }, - { - "name": "get process definition", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 288582 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Thu Dec 12 15:39:30 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Thu Dec 12 15:39:30 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 606476632 - }, - { - "name": "execution is accessed in wait state", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "execution is accessed in wait state" - }, - { - "value": "(org.camunda.bpm.engine.RuntimeService, kotlin.String) -\u003e kotlin.Unit", - "argumentInfo": { - "argumentName": "runtimeServiceExecutionCallback", - "formattedValue": "(org.camunda.bpm.engine.RuntimeService, kotlin.String) -\u003e kotlin.Unit" - } - } - ], - "status": "PASSED", - "durationInNanos": 180772065 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 93929227 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 1786046054 - } - ], - "durationInNanos": 1786046054, - "executionStatus": "SUCCESS" - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterWriteITest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterWriteITest.json deleted file mode 100644 index 21229b6c..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterWriteITest.json +++ /dev/null @@ -1,367 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterWriteITest", - "name": "Runtime Service Adapter Write I", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterWriteITest", - "testMethodName": "should write to task service adapter", - "description": "should write to task service adapter", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with user task and delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with user task and delegate is deployed" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - }, - { - "value": "${readFromVariableScope}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readFromVariableScope}" - } - } - ], - "status": "PASSED", - "durationInNanos": 42971 - }, - { - "name": "get process definition", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 245028 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "{\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 61149 - }, - { - "name": "process waits in task", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "process waits in task" - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - } - ], - "status": "PASSED", - "durationInNanos": 67641296 - }, - { - "name": "execution is accessed in wait state", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "execution is accessed in wait state" - }, - { - "value": "(org.camunda.bpm.engine.RuntimeService, kotlin.String) -\u003e kotlin.Unit", - "argumentInfo": { - "argumentName": "runtimeServiceExecutionCallback", - "formattedValue": "(org.camunda.bpm.engine.RuntimeService, kotlin.String) -\u003e kotlin.Unit" - } - } - ], - "status": "PASSED", - "durationInNanos": 57199 - }, - { - "name": "task is completed", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "task is completed" - } - ], - "status": "PASSED", - "durationInNanos": 68384422 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 1095880 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 378210213 - } - ], - "durationInNanos": 378210213, - "executionStatus": "SUCCESS" - }, - { - "className": "io.holunda.camunda.bpm.data.itest.RuntimeServiceAdapterWriteITest", - "testMethodName": "should remove on runtime service adapter", - "description": "should remove on runtime service adapter", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with user task and delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with user task and delegate is deployed" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - }, - { - "value": "${readOptionalFromVariableScope}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readOptionalFromVariableScope}" - } - } - ], - "status": "PASSED", - "durationInNanos": 40610 - }, - { - "name": "get process definition", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 174010 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "{\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 42084 - }, - { - "name": "process waits in task", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "process waits in task" - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - } - ], - "status": "PASSED", - "durationInNanos": 13368242 - }, - { - "name": "execution is accessed in wait state", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "execution is accessed in wait state" - }, - { - "value": "(org.camunda.bpm.engine.RuntimeService, kotlin.String) -\u003e kotlin.Unit", - "argumentInfo": { - "argumentName": "runtimeServiceExecutionCallback", - "formattedValue": "(org.camunda.bpm.engine.RuntimeService, kotlin.String) -\u003e kotlin.Unit" - } - } - ], - "status": "PASSED", - "durationInNanos": 43254 - }, - { - "name": "task is completed", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "task is completed" - } - ], - "status": "PASSED", - "durationInNanos": 21440160 - }, - { - "name": "variables had not value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had not value" - }, - { - "value": "{Double Variable\u003dOptional.empty, Complex Variable\u003dOptional.empty, List Of String Variable\u003dOptional.empty, Short Variable\u003dOptional.empty, Map Of String to Date Variable\u003dOptional.empty, Date Variable\u003dOptional.empty, Long Variable\u003dOptional.empty, Set Of String Variable\u003dOptional.empty, Int Variable\u003dOptional.empty, String Variable\u003dOptional.empty, Boolean Variable\u003dOptional.empty}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003dOptional.empty, Complex Variable\u003dOptional.empty, List Of String Variable\u003dOptional.empty, Short Variable\u003dOptional.empty, Map Of String to Date Variable\u003dOptional.empty, Date Variable\u003dOptional.empty, Long Variable\u003dOptional.empty, Set Of String Variable\u003dOptional.empty, Int Variable\u003dOptional.empty, String Variable\u003dOptional.empty, Boolean Variable\u003dOptional.empty}" - } - }, - { - "value": "io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821", - "argumentInfo": { - "argumentName": "variableWithValue", - "formattedValue": "io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821" - } - } - ], - "status": "PASSED", - "durationInNanos": 714269 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 142605141 - } - ], - "durationInNanos": 142605141, - "executionStatus": "SUCCESS" - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.TaskServiceAdapterITest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.TaskServiceAdapterITest.json deleted file mode 100644 index ea9dad62..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.TaskServiceAdapterITest.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.TaskServiceAdapterITest", - "name": "Task Service Adapter I", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.TaskServiceAdapterITest", - "testMethodName": "should write local variables to task service adapter", - "description": "should write local variables to task service adapter", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with user task and listener is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with user task and listener is deployed" - }, - { - "value": "process_with_user_task_and_listener", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task_and_listener" - } - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - }, - { - "value": "${readLocalFromDelegateTask}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readLocalFromDelegateTask}" - } - } - ], - "status": "PASSED", - "durationInNanos": 5695900 - }, - { - "name": "get process definition", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 322100 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_user_task_and_listener", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task_and_listener" - } - }, - { - "value": "{\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 36500 - }, - { - "name": "process waits in task", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "process waits in task" - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - } - ], - "status": "PASSED", - "durationInNanos": 143997500 - }, - { - "name": "task is accessed in user task", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "task is accessed in user task" - }, - { - "value": "(org.camunda.bpm.engine.TaskService, kotlin.String) -\u003e kotlin.Unit", - "argumentInfo": { - "argumentName": "taskServiceTaskCallback", - "formattedValue": "(org.camunda.bpm.engine.TaskService, kotlin.String) -\u003e kotlin.Unit" - } - } - ], - "status": "PASSED", - "durationInNanos": 47100 - }, - { - "name": "task is completed", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "task is completed" - } - ], - "status": "PASSED", - "durationInNanos": 93532600 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d14.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dfoobar, intValue\u003d12, dateValue\u003dThu Dec 12 16:31:48 CET 2019), List Of String Variable\u003d[Foo, Bar], Short Variable\u003d12, Map Of String to Date Variable\u003d{Ten\u003dThu Dec 12 16:31:48 CET 2019, Nine\u003dThu Dec 12 16:31:48 CET 2019}, Date Variable\u003dThu Dec 12 16:31:48 CET 2019, Long Variable\u003d815, Set Of String Variable\u003d[Homer, Marge], Int Variable\u003d124, String Variable\u003dlocalValue, Boolean Variable\u003dfalse}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d14.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dfoobar, intValue\u003d12, dateValue\u003dThu Dec 12 16:31:48 CET 2019), List Of String Variable\u003d[Foo, Bar], Short Variable\u003d12, Map Of String to Date Variable\u003d{Ten\u003dThu Dec 12 16:31:48 CET 2019, Nine\u003dThu Dec 12 16:31:48 CET 2019}, Date Variable\u003dThu Dec 12 16:31:48 CET 2019, Long Variable\u003d815, Set Of String Variable\u003d[Homer, Marge], Int Variable\u003d124, String Variable\u003dlocalValue, Boolean Variable\u003dfalse}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@5ccbeb64, localValue), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6d9f7a80, Thu Dec 12 16:31:48 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@59252cb6, 12), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@31d0e481, 124), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3243b914, 815), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@241e8ea6, 14.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@542e560f, false), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@626c44e7, ComplexDataStructure(stringValue\u003dfoobar, intValue\u003d12, dateValue\u003dThu Dec 12 16:31:48 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@4dc8caa7, [Foo, Bar]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@1d730606, [Homer, Marge]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@3bcbb589, {Ten\u003dThu Dec 12 16:31:48 CET 2019, Nine\u003dThu Dec 12 16:31:48 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@5ccbeb64, localValue), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6d9f7a80, Thu Dec 12 16:31:48 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@59252cb6, 12), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@31d0e481, 124), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3243b914, 815), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@241e8ea6, 14.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@542e560f, false), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@626c44e7, ComplexDataStructure(stringValue\u003dfoobar, intValue\u003d12, dateValue\u003dThu Dec 12 16:31:48 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@4dc8caa7, [Foo, Bar]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@1d730606, [Homer, Marge]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@3bcbb589, {Ten\u003dThu Dec 12 16:31:48 CET 2019, Nine\u003dThu Dec 12 16:31:48 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 17203300 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 1770058200 - } - ], - "durationInNanos": 1770058200, - "executionStatus": "SUCCESS" - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.TaskServiceAdapterReadITest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.TaskServiceAdapterReadITest.json deleted file mode 100644 index 8f93dcd8..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.TaskServiceAdapterReadITest.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.TaskServiceAdapterReadITest", - "name": "Task Service Adapter Read I", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.TaskServiceAdapterReadITest", - "testMethodName": "should write to variables-map and read runtime adapter", - "description": "should write to variables-map and read runtime adapter", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with user task is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with user task is deployed" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - } - ], - "status": "PASSED", - "durationInNanos": 46035 - }, - { - "name": "get process definition", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 174010 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Thu Dec 12 15:39:30 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Thu Dec 12 15:39:30 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 42908 - }, - { - "name": "process waits in task", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "process waits in task" - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - } - ], - "status": "PASSED", - "durationInNanos": 11300619 - }, - { - "name": "task is accessed in user task", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "task is accessed in user task" - }, - { - "value": "(org.camunda.bpm.engine.TaskService, kotlin.String) -\u003e kotlin.Unit", - "argumentInfo": { - "argumentName": "taskServiceTaskCallback", - "formattedValue": "(org.camunda.bpm.engine.TaskService, kotlin.String) -\u003e kotlin.Unit" - } - } - ], - "status": "PASSED", - "durationInNanos": 92949623 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 1281306 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 198211626 - } - ], - "durationInNanos": 198211626, - "executionStatus": "SUCCESS" - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.TaskServiceAdapterWriteITest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.TaskServiceAdapterWriteITest.json deleted file mode 100644 index 34d75dfc..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.TaskServiceAdapterWriteITest.json +++ /dev/null @@ -1,367 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.TaskServiceAdapterWriteITest", - "name": "Task Service Adapter Write I", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.TaskServiceAdapterWriteITest", - "testMethodName": "should remove on task service adapter", - "description": "should remove on task service adapter", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with user task and delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with user task and delegate is deployed" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - }, - { - "value": "${readOptionalFromVariableScope}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readOptionalFromVariableScope}" - } - } - ], - "status": "PASSED", - "durationInNanos": 67195 - }, - { - "name": "get process definition", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 249336 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "{\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 67422 - }, - { - "name": "process waits in task", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "process waits in task" - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - } - ], - "status": "PASSED", - "durationInNanos": 23784492 - }, - { - "name": "task is accessed in user task", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "task is accessed in user task" - }, - { - "value": "(org.camunda.bpm.engine.TaskService, kotlin.String) -\u003e kotlin.Unit", - "argumentInfo": { - "argumentName": "taskServiceTaskCallback", - "formattedValue": "(org.camunda.bpm.engine.TaskService, kotlin.String) -\u003e kotlin.Unit" - } - } - ], - "status": "PASSED", - "durationInNanos": 58553 - }, - { - "name": "task is completed", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "task is completed" - } - ], - "status": "PASSED", - "durationInNanos": 32818097 - }, - { - "name": "variables had not value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had not value" - }, - { - "value": "{Double Variable\u003dOptional.empty, Complex Variable\u003dOptional.empty, List Of String Variable\u003dOptional.empty, Short Variable\u003dOptional.empty, Map Of String to Date Variable\u003dOptional.empty, Date Variable\u003dOptional.empty, Long Variable\u003dOptional.empty, Set Of String Variable\u003dOptional.empty, Int Variable\u003dOptional.empty, String Variable\u003dOptional.empty, Boolean Variable\u003dOptional.empty}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003dOptional.empty, Complex Variable\u003dOptional.empty, List Of String Variable\u003dOptional.empty, Short Variable\u003dOptional.empty, Map Of String to Date Variable\u003dOptional.empty, Date Variable\u003dOptional.empty, Long Variable\u003dOptional.empty, Set Of String Variable\u003dOptional.empty, Int Variable\u003dOptional.empty, String Variable\u003dOptional.empty, Boolean Variable\u003dOptional.empty}" - } - }, - { - "value": "io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821", - "argumentInfo": { - "argumentName": "variableWithValue", - "formattedValue": "io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821" - } - } - ], - "status": "PASSED", - "durationInNanos": 867164 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 193179833 - } - ], - "durationInNanos": 193179833, - "executionStatus": "SUCCESS" - }, - { - "className": "io.holunda.camunda.bpm.data.itest.TaskServiceAdapterWriteITest", - "testMethodName": "should write to task service adapter", - "description": "should write to task service adapter", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with user task and delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with user task and delegate is deployed" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - }, - { - "value": "${readFromVariableScope}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readFromVariableScope}" - } - } - ], - "status": "PASSED", - "durationInNanos": 84686 - }, - { - "name": "get process definition", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 222484 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_user_task", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_user_task" - } - }, - { - "value": "{\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 48435 - }, - { - "name": "process waits in task", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "process waits in task" - }, - { - "value": "user_task", - "argumentInfo": { - "argumentName": "taskDefinitionKey", - "formattedValue": "user_task" - } - } - ], - "status": "PASSED", - "durationInNanos": 12295778 - }, - { - "name": "task is accessed in user task", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "task is accessed in user task" - }, - { - "value": "(org.camunda.bpm.engine.TaskService, kotlin.String) -\u003e kotlin.Unit", - "argumentInfo": { - "argumentName": "taskServiceTaskCallback", - "formattedValue": "(org.camunda.bpm.engine.TaskService, kotlin.String) -\u003e kotlin.Unit" - } - } - ], - "status": "PASSED", - "durationInNanos": 39111 - }, - { - "name": "task is completed", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "task is completed" - } - ], - "status": "PASSED", - "durationInNanos": 43051388 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 679176 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 247570515 - } - ], - "durationInNanos": 247570515, - "executionStatus": "SUCCESS" - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterITest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterITest.json deleted file mode 100644 index c8b4456f..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterITest.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.VariableAdapterITest", - "name": "Variable Adapter I", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.VariableAdapterITest", - "testMethodName": "should write to map and read from variable scope", - "description": "should write to map and read from variable scope", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with delegate is deployed" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "${myDelegate}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${myDelegate}" - } - } - ], - "status": "PASSED", - "durationInNanos": 439241507 - }, - { - "name": "get process definition", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 14897332 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "{\n Double Variable \u003d\u003e Value \u002712.0\u0027 of type \u0027PrimitiveValueType[double]\u0027, isTransient\u003dfalse\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 06 11:19:38 CET 2019)\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Value \u002711\u0027 of type \u0027PrimitiveValueType[short]\u0027, isTransient\u003dfalse\n Date Variable \u003d\u003e Value \u0027Fri Dec 06 11:19:38 CET 2019\u0027 of type \u0027PrimitiveValueType[date]\u0027, isTransient\u003dfalse\n Long Variable \u003d\u003e Value \u0027812\u0027 of type \u0027PrimitiveValueType[long]\u0027, isTransient\u003dfalse\n Int Variable \u003d\u003e Value \u0027123\u0027 of type \u0027PrimitiveValueType[integer]\u0027, isTransient\u003dfalse\n String Variable \u003d\u003e Value \u0027value\u0027 of type \u0027PrimitiveValueType[string]\u0027, isTransient\u003dfalse\n Boolean Variable \u003d\u003e Value \u0027true\u0027 of type \u0027PrimitiveValueType[boolean]\u0027, isTransient\u003dfalse\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n Double Variable \u003d\u003e Value \u002712.0\u0027 of type \u0027PrimitiveValueType[double]\u0027, isTransient\u003dfalse\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 06 11:19:38 CET 2019)\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Value \u002711\u0027 of type \u0027PrimitiveValueType[short]\u0027, isTransient\u003dfalse\n Date Variable \u003d\u003e Value \u0027Fri Dec 06 11:19:38 CET 2019\u0027 of type \u0027PrimitiveValueType[date]\u0027, isTransient\u003dfalse\n Long Variable \u003d\u003e Value \u0027812\u0027 of type \u0027PrimitiveValueType[long]\u0027, isTransient\u003dfalse\n Int Variable \u003d\u003e Value \u0027123\u0027 of type \u0027PrimitiveValueType[integer]\u0027, isTransient\u003dfalse\n String Variable \u003d\u003e Value \u0027value\u0027 of type \u0027PrimitiveValueType[string]\u0027, isTransient\u003dfalse\n Boolean Variable \u003d\u003e Value \u0027true\u0027 of type \u0027PrimitiveValueType[boolean]\u0027, isTransient\u003dfalse\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 66999656 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{\n Double Variable \u003d\u003e Value \u002712.0\u0027 of type \u0027PrimitiveValueType[double]\u0027, isTransient\u003dfalse\n Complex Variable \u003d\u003e ObjectValue [value\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 06 11:19:38 CET 2019), isDeserialized\u003dtrue, serializationDataFormat\u003dapplication/json, objectTypeName\u003dio.holunda.camunda.bpm.data.itest.ComplexDataStructure, serializedValue\u003d64 chars, isTransient\u003dfalse]\n Short Variable \u003d\u003e Value \u002711\u0027 of type \u0027PrimitiveValueType[short]\u0027, isTransient\u003dfalse\n Date Variable \u003d\u003e Value \u0027Fri Dec 06 11:19:38 CET 2019\u0027 of type \u0027PrimitiveValueType[date]\u0027, isTransient\u003dfalse\n Long Variable \u003d\u003e Value \u0027812\u0027 of type \u0027PrimitiveValueType[long]\u0027, isTransient\u003dfalse\n Int Variable \u003d\u003e Value \u0027123\u0027 of type \u0027PrimitiveValueType[integer]\u0027, isTransient\u003dfalse\n String Variable \u003d\u003e Value \u0027value\u0027 of type \u0027PrimitiveValueType[string]\u0027, isTransient\u003dfalse\n Boolean Variable \u003d\u003e Value \u0027true\u0027 of type \u0027PrimitiveValueType[boolean]\u0027, isTransient\u003dfalse\n}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{\n Double Variable \u003d\u003e Value \u002712.0\u0027 of type \u0027PrimitiveValueType[double]\u0027, isTransient\u003dfalse\n Complex Variable \u003d\u003e ObjectValue [value\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 06 11:19:38 CET 2019), isDeserialized\u003dtrue, serializationDataFormat\u003dapplication/json, objectTypeName\u003dio.holunda.camunda.bpm.data.itest.ComplexDataStructure, serializedValue\u003d64 chars, isTransient\u003dfalse]\n Short Variable \u003d\u003e Value \u002711\u0027 of type \u0027PrimitiveValueType[short]\u0027, isTransient\u003dfalse\n Date Variable \u003d\u003e Value \u0027Fri Dec 06 11:19:38 CET 2019\u0027 of type \u0027PrimitiveValueType[date]\u0027, isTransient\u003dfalse\n Long Variable \u003d\u003e Value \u0027812\u0027 of type \u0027PrimitiveValueType[long]\u0027, isTransient\u003dfalse\n Int Variable \u003d\u003e Value \u0027123\u0027 of type \u0027PrimitiveValueType[integer]\u0027, isTransient\u003dfalse\n String Variable \u003d\u003e Value \u0027value\u0027 of type \u0027PrimitiveValueType[string]\u0027, isTransient\u003dfalse\n Boolean Variable \u003d\u003e Value \u0027true\u0027 of type \u0027PrimitiveValueType[boolean]\u0027, isTransient\u003dfalse\n}" - } - }, - { - "value": "(io.holunda.camunda.bpm.data.factory.VariableFactory@4d204b30, value), (io.holunda.camunda.bpm.data.factory.VariableFactory@6600d07d, Fri Dec 06 11:19:38 CET 2019), (io.holunda.camunda.bpm.data.factory.VariableFactory@44103266, 11), (io.holunda.camunda.bpm.data.factory.VariableFactory@439b0198, 123), (io.holunda.camunda.bpm.data.factory.VariableFactory@c2dab10, 812), (io.holunda.camunda.bpm.data.factory.VariableFactory@6c4e11d0, 12.0), (io.holunda.camunda.bpm.data.factory.VariableFactory@29088d3d, true), (io.holunda.camunda.bpm.data.factory.VariableFactory@3284de45, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 06 11:19:38 CET 2019))", - "argumentInfo": { - "argumentName": "variableWithValue", - "formattedValue": "(io.holunda.camunda.bpm.data.factory.VariableFactory@4d204b30, value), (io.holunda.camunda.bpm.data.factory.VariableFactory@6600d07d, Fri Dec 06 11:19:38 CET 2019), (io.holunda.camunda.bpm.data.factory.VariableFactory@44103266, 11), (io.holunda.camunda.bpm.data.factory.VariableFactory@439b0198, 123), (io.holunda.camunda.bpm.data.factory.VariableFactory@c2dab10, 812), (io.holunda.camunda.bpm.data.factory.VariableFactory@6c4e11d0, 12.0), (io.holunda.camunda.bpm.data.factory.VariableFactory@29088d3d, true), (io.holunda.camunda.bpm.data.factory.VariableFactory@3284de45, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 06 11:19:38 CET 2019))" - } - } - ], - "status": "PASSED", - "durationInNanos": 48672695 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 624130760 - } - ], - "durationInNanos": 624130760, - "executionStatus": "SUCCESS" - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterReadITest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterReadITest.json deleted file mode 100644 index 26c8f7ef..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterReadITest.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.VariableAdapterReadITest", - "name": "Variable Adapter Read I", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.VariableAdapterReadITest", - "testMethodName": "should write to variables-map and read using adapter", - "description": "should write to variables-map and read using adapter", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with delegate is deployed" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "${readFromVariableScope}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readFromVariableScope}" - } - } - ], - "status": "PASSED", - "durationInNanos": 39922567 - }, - { - "name": "get process definition", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 151873 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Thu Dec 12 15:39:30 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Thu Dec 12 15:39:30 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 31650739 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 998319 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 77466105 - } - ], - "durationInNanos": 77466105, - "executionStatus": "SUCCESS" - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterVariableMapReadITest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterVariableMapReadITest.json deleted file mode 100644 index dd6b8a58..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterVariableMapReadITest.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.VariableAdapterVariableMapReadITest", - "name": "Variable Adapter Variable Map Read I", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.VariableAdapterVariableMapReadITest", - "testMethodName": "should write to variables-map and read using adapter", - "description": "should write to variables-map and read using adapter", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with delegate is deployed" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "${readFromVariableScope}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readFromVariableScope}" - } - } - ], - "status": "PASSED", - "durationInNanos": 43213282 - }, - { - "name": "get process definition", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 165056 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Thu Dec 12 15:39:30 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Thu Dec 12 15:39:30 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 29627270 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 697219 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 78155614 - } - ], - "durationInNanos": 78155614, - "executionStatus": "SUCCESS" - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterVariableMapWriteTest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterVariableMapWriteTest.json deleted file mode 100644 index 82bfc344..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterVariableMapWriteTest.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.VariableAdapterVariableMapWriteTest", - "name": "Variable Adapter Variable Map Write", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.VariableAdapterVariableMapWriteTest", - "testMethodName": "should write to map", - "description": "should write to map", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with delegate is deployed" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "${readFromVariableScope}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readFromVariableScope}" - } - } - ], - "status": "PASSED", - "durationInNanos": 37096023 - }, - { - "name": "get process definition", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 164265 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "{\n Double Variable \u003d\u003e Value \u002712.0\u0027 of type \u0027PrimitiveValueType[double]\u0027, isTransient\u003dfalse\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Value \u002711\u0027 of type \u0027PrimitiveValueType[short]\u0027, isTransient\u003dfalse\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Value \u0027Thu Dec 12 15:39:30 CET 2019\u0027 of type \u0027PrimitiveValueType[date]\u0027, isTransient\u003dfalse\n Long Variable \u003d\u003e Value \u0027812\u0027 of type \u0027PrimitiveValueType[long]\u0027, isTransient\u003dfalse\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Value \u0027123\u0027 of type \u0027PrimitiveValueType[integer]\u0027, isTransient\u003dfalse\n String Variable \u003d\u003e Value \u0027value\u0027 of type \u0027PrimitiveValueType[string]\u0027, isTransient\u003dfalse\n Boolean Variable \u003d\u003e Value \u0027true\u0027 of type \u0027PrimitiveValueType[boolean]\u0027, isTransient\u003dfalse\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n Double Variable \u003d\u003e Value \u002712.0\u0027 of type \u0027PrimitiveValueType[double]\u0027, isTransient\u003dfalse\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Value \u002711\u0027 of type \u0027PrimitiveValueType[short]\u0027, isTransient\u003dfalse\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Value \u0027Thu Dec 12 15:39:30 CET 2019\u0027 of type \u0027PrimitiveValueType[date]\u0027, isTransient\u003dfalse\n Long Variable \u003d\u003e Value \u0027812\u0027 of type \u0027PrimitiveValueType[long]\u0027, isTransient\u003dfalse\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Value \u0027123\u0027 of type \u0027PrimitiveValueType[integer]\u0027, isTransient\u003dfalse\n String Variable \u003d\u003e Value \u0027value\u0027 of type \u0027PrimitiveValueType[string]\u0027, isTransient\u003dfalse\n Boolean Variable \u003d\u003e Value \u0027true\u0027 of type \u0027PrimitiveValueType[boolean]\u0027, isTransient\u003dfalse\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 27761572 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 645924 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 72482788 - } - ], - "durationInNanos": 72482788, - "executionStatus": "SUCCESS" - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterWriteITest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterWriteITest.json deleted file mode 100644 index f59c6583..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableAdapterWriteITest.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.VariableAdapterWriteITest", - "name": "Variable Adapter Write I", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.VariableAdapterWriteITest", - "testMethodName": "should write to variable scope and read", - "description": "should write to variable scope and read", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with modifying delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with modifying delegate is deployed" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "${variableAdapterWriteITestModifyingUsingAdapterVariableScope}", - "argumentInfo": { - "argumentName": "modifyingDelegateExpression", - "formattedValue": "${variableAdapterWriteITestModifyingUsingAdapterVariableScope}" - } - }, - { - "value": "${variableAdapterWriteITestValueStoringUsingAdapterVariableScope}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${variableAdapterWriteITestValueStoringUsingAdapterVariableScope}" - } - } - ], - "status": "PASSED", - "durationInNanos": 49314185 - }, - { - "name": "get process definition", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 191376 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "{\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 31666689 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019}, Date Variable\u003dThu Dec 12 15:39:30 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6c851821, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4c0930c4, Thu Dec 12 15:39:30 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@75c0cd39, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@7cf66cf9, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@38f63756, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@3d7caf9c, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4e26040f, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1782896, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dThu Dec 12 15:39:30 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@8bde368, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@5065bdac, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@2e9dcdd3, {Twelve\u003dThu Dec 12 15:39:30 CET 2019, Eleven\u003dThu Dec 12 15:39:30 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 732199 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 86579347 - } - ], - "durationInNanos": 86579347, - "executionStatus": "SUCCESS" - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.json deleted file mode 100644 index 10769d6a..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.json +++ /dev/null @@ -1,2044 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "name": "Variable Map Adapter I", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should read from map", - "description": "should read from map", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with delegate is deployed" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "${readFromVariableMap}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readFromVariableMap}" - } - } - ], - "status": "PASSED", - "durationInNanos": 45779600 - }, - { - "name": "get process definition", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 159700 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Fri Dec 13 15:36:48 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Fri Dec 13 15:36:48 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n String Variable \u003d\u003e Untyped value \u0027value\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 35058200 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}, Date Variable\u003dFri Dec 13 15:36:48 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}, Date Variable\u003dFri Dec 13 15:36:48 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1ab21633, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@59aa1d1c, Fri Dec 13 15:36:48 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@169d4aba, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@612bb755, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6ba226cd, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@62e99458, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1eddca25, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@22f057b4, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@581e8969, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@767b9d66, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@687fd6e, {Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1ab21633, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@59aa1d1c, Fri Dec 13 15:36:48 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@169d4aba, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@612bb755, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6ba226cd, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@62e99458, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1eddca25, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@22f057b4, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@581e8969, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@767b9d66, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@687fd6e, {Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 983800 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 88278100 - } - ], - "durationInNanos": 88278100, - "executionStatus": "SUCCESS" - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct NSO on set removeLocal exception", - "description": "should throw correct NSO on set removeLocal exception", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "java.lang.UnsupportedOperationException: Can\u0027t set a local variable on a variable map", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterVariableMap.removeLocal(SetReadWriteAdapterVariableMap.java:56)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct NSO on set removeLocal exception(VariableMapAdapterITest.kt:145)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 8447700 - } - ], - "durationInNanos": 8447700 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on set target", - "description": "should throw correct WVT exception on set target", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading Set Of String Variable: Wrong set type detected, expected java.util.Date, but was not found in [Kermit, Piggy]", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.set.AbstractSetReadWriteAdapter.getOrNull(AbstractSetReadWriteAdapter.java:51)", - "io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterVariableMap.getOptional(SetReadWriteAdapterVariableMap.java:31)", - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.get(AbstractReadWriteAdapter.java:32)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on set target(VariableMapAdapterITest.kt:254)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 6992600 - } - ], - "durationInNanos": 6992600 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on map optional", - "description": "should throw correct WVT exception on map optional", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading String Variable: Couldn\u0027t read value of type Map from value", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.map.AbstractMapReadWriteAdapter.getOrNull(AbstractMapReadWriteAdapter.java:70)", - "io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterVariableMap.getOptional(MapReadWriteAdapterVariableMap.java:33)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on map optional(VariableMapAdapterITest.kt:289)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 8255200 - } - ], - "durationInNanos": 8255200 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on list optional", - "description": "should throw correct WVT exception on list optional", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading String Variable: Couldn\u0027t read value of type List from value", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.list.AbstractListReadWriteAdapter.getOrNull(AbstractListReadWriteAdapter.java:60)", - "io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterVariableMap.getOptional(ListReadWriteAdapterVariableMap.java:31)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on list optional(VariableMapAdapterITest.kt:199)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5150700 - } - ], - "durationInNanos": 5150700 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should remove from map", - "description": "should remove from map", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with delegate is deployed" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "${readOptionalFromVariableScope}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readOptionalFromVariableScope}" - } - } - ], - "status": "PASSED", - "durationInNanos": 53123900 - }, - { - "name": "get process definition", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 266000 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Fri Dec 13 15:36:48 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n Double Variable \u003d\u003e Untyped value \u002712.0\u0027, isTransient \u003d false\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Untyped value \u002711\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Untyped value \u0027Fri Dec 13 15:36:48 CET 2019\u0027, isTransient \u003d false\n Long Variable \u003d\u003e Untyped value \u0027812\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Untyped value \u0027123\u0027, isTransient \u003d false\n Boolean Variable \u003d\u003e Untyped value \u0027true\u0027, isTransient \u003d false\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 23509800 - }, - { - "name": "variables had not value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had not value" - }, - { - "value": "{Double Variable\u003dOptional[12.0], Complex Variable\u003dOptional[ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)], List Of String Variable\u003dOptional.empty, Short Variable\u003dOptional[11], Map Of String to Date Variable\u003dOptional.empty, Date Variable\u003dOptional[Fri Dec 13 15:36:48 CET 2019], Long Variable\u003dOptional[812], Set Of String Variable\u003dOptional.empty, Int Variable\u003dOptional[123], String Variable\u003dOptional.empty, Boolean Variable\u003dOptional[true]}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003dOptional[12.0], Complex Variable\u003dOptional[ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)], List Of String Variable\u003dOptional.empty, Short Variable\u003dOptional[11], Map Of String to Date Variable\u003dOptional.empty, Date Variable\u003dOptional[Fri Dec 13 15:36:48 CET 2019], Long Variable\u003dOptional[812], Set Of String Variable\u003dOptional.empty, Int Variable\u003dOptional[123], String Variable\u003dOptional.empty, Boolean Variable\u003dOptional[true]}" - } - }, - { - "value": "io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1ab21633, io.holunda.camunda.bpm.data.factory.ListVariableFactory@581e8969, io.holunda.camunda.bpm.data.factory.SetVariableFactory@767b9d66, io.holunda.camunda.bpm.data.factory.MapVariableFactory@687fd6e", - "argumentInfo": { - "argumentName": "variableWithValue", - "formattedValue": "io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1ab21633, io.holunda.camunda.bpm.data.factory.ListVariableFactory@581e8969, io.holunda.camunda.bpm.data.factory.SetVariableFactory@767b9d66, io.holunda.camunda.bpm.data.factory.MapVariableFactory@687fd6e" - } - } - ], - "status": "PASSED", - "durationInNanos": 82000 - }, - { - "name": "variables had value", - "words": [ - { - "value": "and", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003dOptional[12.0], Complex Variable\u003dOptional[ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)], List Of String Variable\u003dOptional.empty, Short Variable\u003dOptional[11], Map Of String to Date Variable\u003dOptional.empty, Date Variable\u003dOptional[Fri Dec 13 15:36:48 CET 2019], Long Variable\u003dOptional[812], Set Of String Variable\u003dOptional.empty, Int Variable\u003dOptional[123], String Variable\u003dOptional.empty, Boolean Variable\u003dOptional[true]}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003dOptional[12.0], Complex Variable\u003dOptional[ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)], List Of String Variable\u003dOptional.empty, Short Variable\u003dOptional[11], Map Of String to Date Variable\u003dOptional.empty, Date Variable\u003dOptional[Fri Dec 13 15:36:48 CET 2019], Long Variable\u003dOptional[812], Set Of String Variable\u003dOptional.empty, Int Variable\u003dOptional[123], String Variable\u003dOptional.empty, Boolean Variable\u003dOptional[true]}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6ba226cd, Optional[812])]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6ba226cd, Optional[812])]" - } - } - ], - "status": "PASSED", - "durationInNanos": 1003500 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 87038100 - } - ], - "durationInNanos": 87038100, - "executionStatus": "SUCCESS" - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on set target optional", - "description": "should throw correct WVT exception on set target optional", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading Set Of String Variable: Wrong set type detected, expected java.util.Date, but was not found in [Kermit, Piggy]", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.set.AbstractSetReadWriteAdapter.getOrNull(AbstractSetReadWriteAdapter.java:51)", - "io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterVariableMap.getOptional(SetReadWriteAdapterVariableMap.java:31)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on set target optional(VariableMapAdapterITest.kt:265)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5533600 - } - ], - "durationInNanos": 5533600 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct NSO on list removeLocal exception", - "description": "should throw correct NSO on list removeLocal exception", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "java.lang.UnsupportedOperationException: Can\u0027t set a local variable on a variable map", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterVariableMap.removeLocal(ListReadWriteAdapterVariableMap.java:56)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct NSO on list removeLocal exception(VariableMapAdapterITest.kt:139)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5866600 - } - ], - "durationInNanos": 5866600 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should write to map", - "description": "should write to map", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with delegate is deployed" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "${readFromVariableScope}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readFromVariableScope}" - } - } - ], - "status": "PASSED", - "durationInNanos": 46266200 - }, - { - "name": "get process definition", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 166200 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "{\n Double Variable \u003d\u003e Value \u002712.0\u0027 of type \u0027PrimitiveValueType[double]\u0027, isTransient\u003dfalse\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Value \u002711\u0027 of type \u0027PrimitiveValueType[short]\u0027, isTransient\u003dfalse\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Value \u0027Fri Dec 13 15:36:48 CET 2019\u0027 of type \u0027PrimitiveValueType[date]\u0027, isTransient\u003dfalse\n Long Variable \u003d\u003e Value \u0027812\u0027 of type \u0027PrimitiveValueType[long]\u0027, isTransient\u003dfalse\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Value \u0027123\u0027 of type \u0027PrimitiveValueType[integer]\u0027, isTransient\u003dfalse\n String Variable \u003d\u003e Value \u0027value\u0027 of type \u0027PrimitiveValueType[string]\u0027, isTransient\u003dfalse\n Boolean Variable \u003d\u003e Value \u0027true\u0027 of type \u0027PrimitiveValueType[boolean]\u0027, isTransient\u003dfalse\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n Double Variable \u003d\u003e Value \u002712.0\u0027 of type \u0027PrimitiveValueType[double]\u0027, isTransient\u003dfalse\n Complex Variable \u003d\u003e Untyped value \u0027ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)\u0027, isTransient \u003d false\n List Of String Variable \u003d\u003e Untyped value \u0027[Hello, World]\u0027, isTransient \u003d false\n Short Variable \u003d\u003e Value \u002711\u0027 of type \u0027PrimitiveValueType[short]\u0027, isTransient\u003dfalse\n Map Of String to Date Variable \u003d\u003e Untyped value \u0027{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}\u0027, isTransient \u003d false\n Date Variable \u003d\u003e Value \u0027Fri Dec 13 15:36:48 CET 2019\u0027 of type \u0027PrimitiveValueType[date]\u0027, isTransient\u003dfalse\n Long Variable \u003d\u003e Value \u0027812\u0027 of type \u0027PrimitiveValueType[long]\u0027, isTransient\u003dfalse\n Set Of String Variable \u003d\u003e Untyped value \u0027[Kermit, Piggy]\u0027, isTransient \u003d false\n Int Variable \u003d\u003e Value \u0027123\u0027 of type \u0027PrimitiveValueType[integer]\u0027, isTransient\u003dfalse\n String Variable \u003d\u003e Value \u0027value\u0027 of type \u0027PrimitiveValueType[string]\u0027, isTransient\u003dfalse\n Boolean Variable \u003d\u003e Value \u0027true\u0027 of type \u0027PrimitiveValueType[boolean]\u0027, isTransient\u003dfalse\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 33267700 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}, Date Variable\u003dFri Dec 13 15:36:48 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d12.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019), List Of String Variable\u003d[Hello, World], Short Variable\u003d11, Map Of String to Date Variable\u003d{Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}, Date Variable\u003dFri Dec 13 15:36:48 CET 2019, Long Variable\u003d812, Set Of String Variable\u003d[Kermit, Piggy], Int Variable\u003d123, String Variable\u003dvalue, Boolean Variable\u003dtrue}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1ab21633, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@59aa1d1c, Fri Dec 13 15:36:48 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@169d4aba, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@612bb755, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6ba226cd, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@62e99458, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1eddca25, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@22f057b4, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@581e8969, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@767b9d66, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@687fd6e, {Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1ab21633, value), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@59aa1d1c, Fri Dec 13 15:36:48 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@169d4aba, 11), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@612bb755, 123), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6ba226cd, 812), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@62e99458, 12.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@1eddca25, true), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@22f057b4, ComplexDataStructure(stringValue\u003dstring, intValue\u003d17, dateValue\u003dFri Dec 13 15:36:48 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@581e8969, [Hello, World]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@767b9d66, [Kermit, Piggy]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@687fd6e, {Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 1110000 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 87231700 - } - ], - "durationInNanos": 87231700, - "executionStatus": "SUCCESS" - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct NSO on list setLocal exception", - "description": "should throw correct NSO on list setLocal exception", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "java.lang.UnsupportedOperationException: Can\u0027t set a local variable on a variable map", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterVariableMap.setLocal(ListReadWriteAdapterVariableMap.java:46)", - "io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterVariableMap.setLocal(ListReadWriteAdapterVariableMap.java:13)", - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.setLocal(AbstractReadWriteAdapter.java:27)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct NSO on list setLocal exception(VariableMapAdapterITest.kt:115)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 6297000 - } - ], - "durationInNanos": 6297000 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on map value optional", - "description": "should throw correct WVT exception on map value optional", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading Map Of String to Date Variable: Wrong map type detected, expected Map\u003cjava.lang.String,java.lang.String, but was not found in {Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.map.AbstractMapReadWriteAdapter.getOrNull(AbstractMapReadWriteAdapter.java:64)", - "io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterVariableMap.getOptional(MapReadWriteAdapterVariableMap.java:33)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on map value optional(VariableMapAdapterITest.kt:332)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5566300 - } - ], - "durationInNanos": 5566300 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on basic optional", - "description": "should throw correct WVT exception on basic optional", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading String Variable: Couldn\u0027t read value of class java.lang.Integer from value", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.basic.AbstractBasicReadWriteAdapter.getOrNull(AbstractBasicReadWriteAdapter.java:43)", - "io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterVariableMap.getOptional(ReadWriteAdapterVariableMap.java:30)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on basic optional(VariableMapAdapterITest.kt:175)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5707100 - } - ], - "durationInNanos": 5707100 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on set optional", - "description": "should throw correct WVT exception on set optional", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading String Variable: Couldn\u0027t read value of type Set from value", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.set.AbstractSetReadWriteAdapter.getOrNull(AbstractSetReadWriteAdapter.java:56)", - "io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterVariableMap.getOptional(SetReadWriteAdapterVariableMap.java:31)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on set optional(VariableMapAdapterITest.kt:243)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5153300 - } - ], - "durationInNanos": 5153300 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on key map", - "description": "should throw correct WVT exception on key map", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading Map Of String to Date Variable: Wrong map type detected, expected Map\u003cjava.util.Date,java.util.Date, but was not found in {Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.map.AbstractMapReadWriteAdapter.getOrNull(AbstractMapReadWriteAdapter.java:64)", - "io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterVariableMap.getOptional(MapReadWriteAdapterVariableMap.java:33)", - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.get(AbstractReadWriteAdapter.java:32)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on key map(VariableMapAdapterITest.kt:300)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5277300 - } - ], - "durationInNanos": 5277300 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct NSO on basic removeLocal exception", - "description": "should throw correct NSO on basic removeLocal exception", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "java.lang.UnsupportedOperationException: Can\u0027t set a local variable on a variable map", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterVariableMap.removeLocal(ReadWriteAdapterVariableMap.java:55)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct NSO on basic removeLocal exception(VariableMapAdapterITest.kt:133)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5778500 - } - ], - "durationInNanos": 5778500 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct NSO on set setLocal exception", - "description": "should throw correct NSO on set setLocal exception", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "java.lang.UnsupportedOperationException: Can\u0027t set a local variable on a variable map", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterVariableMap.setLocal(SetReadWriteAdapterVariableMap.java:46)", - "io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterVariableMap.setLocal(SetReadWriteAdapterVariableMap.java:13)", - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.setLocal(AbstractReadWriteAdapter.java:27)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct NSO on set setLocal exception(VariableMapAdapterITest.kt:121)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5714000 - } - ], - "durationInNanos": 5714000 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on set ", - "description": "should throw correct WVT exception on set ", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading String Variable: Couldn\u0027t read value of type Set from value", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.set.AbstractSetReadWriteAdapter.getOrNull(AbstractSetReadWriteAdapter.java:56)", - "io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterVariableMap.getOptional(SetReadWriteAdapterVariableMap.java:31)", - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.get(AbstractReadWriteAdapter.java:32)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on set (VariableMapAdapterITest.kt:232)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 6002400 - } - ], - "durationInNanos": 6002400 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct NSO on map setLocal exception", - "description": "should throw correct NSO on map setLocal exception", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "java.lang.UnsupportedOperationException: Can\u0027t set a local variable on a variable map", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterVariableMap.setLocal(MapReadWriteAdapterVariableMap.java:48)", - "io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterVariableMap.setLocal(MapReadWriteAdapterVariableMap.java:14)", - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.setLocal(AbstractReadWriteAdapter.java:27)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct NSO on map setLocal exception(VariableMapAdapterITest.kt:127)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5029500 - } - ], - "durationInNanos": 5029500 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on value map", - "description": "should throw correct WVT exception on value map", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading Map Of String to Date Variable: Wrong map type detected, expected Map\u003cjava.lang.String,java.lang.String, but was not found in {Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.map.AbstractMapReadWriteAdapter.getOrNull(AbstractMapReadWriteAdapter.java:64)", - "io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterVariableMap.getOptional(MapReadWriteAdapterVariableMap.java:33)", - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.get(AbstractReadWriteAdapter.java:32)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on value map(VariableMapAdapterITest.kt:321)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5366200 - } - ], - "durationInNanos": 5366200 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on basic", - "description": "should throw correct WVT exception on basic", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading String Variable: Couldn\u0027t read value of class java.lang.Integer from value", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.basic.AbstractBasicReadWriteAdapter.getOrNull(AbstractBasicReadWriteAdapter.java:43)", - "io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterVariableMap.getOptional(ReadWriteAdapterVariableMap.java:30)", - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.get(AbstractReadWriteAdapter.java:32)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on basic(VariableMapAdapterITest.kt:163)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5296600 - } - ], - "durationInNanos": 5296600 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on list ", - "description": "should throw correct WVT exception on list ", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading String Variable: Couldn\u0027t read value of type List from value", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.list.AbstractListReadWriteAdapter.getOrNull(AbstractListReadWriteAdapter.java:60)", - "io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterVariableMap.getOptional(ListReadWriteAdapterVariableMap.java:31)", - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.get(AbstractReadWriteAdapter.java:32)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on list (VariableMapAdapterITest.kt:187)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5625600 - } - ], - "durationInNanos": 5625600 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on map key optional", - "description": "should throw correct WVT exception on map key optional", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading Map Of String to Date Variable: Wrong map type detected, expected Map\u003cjava.util.Date,java.util.Date, but was not found in {Twelve\u003dFri Dec 13 15:36:48 CET 2019, Eleven\u003dFri Dec 13 15:36:48 CET 2019}", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.map.AbstractMapReadWriteAdapter.getOrNull(AbstractMapReadWriteAdapter.java:64)", - "io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterVariableMap.getOptional(MapReadWriteAdapterVariableMap.java:33)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on map key optional(VariableMapAdapterITest.kt:310)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 6357300 - } - ], - "durationInNanos": 6357300 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct NSO on map removeLocal exception", - "description": "should throw correct NSO on map removeLocal exception", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "java.lang.UnsupportedOperationException: Can\u0027t set a local variable on a variable map", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterVariableMap.removeLocal(MapReadWriteAdapterVariableMap.java:58)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct NSO on map removeLocal exception(VariableMapAdapterITest.kt:151)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5086200 - } - ], - "durationInNanos": 5086200 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on map", - "description": "should throw correct WVT exception on map", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading String Variable: Couldn\u0027t read value of type Map from value", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.map.AbstractMapReadWriteAdapter.getOrNull(AbstractMapReadWriteAdapter.java:70)", - "io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterVariableMap.getOptional(MapReadWriteAdapterVariableMap.java:33)", - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.get(AbstractReadWriteAdapter.java:32)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on map(VariableMapAdapterITest.kt:277)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5182900 - } - ], - "durationInNanos": 5182900 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct VNF exception", - "description": "should throw correct VNF exception", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.VariableNotFoundException: Couldn\u0027t find required variable non-existent", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.lambda$get$0(AbstractReadWriteAdapter.java:32)", - "java.util.Optional.orElseThrow(Optional.java:290)", - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.get(AbstractReadWriteAdapter.java:32)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct VNF exception(VariableMapAdapterITest.kt:103)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5055000 - } - ], - "durationInNanos": 5055000 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on list target", - "description": "should throw correct WVT exception on list target", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading List Of String Variable: Wrong list type detected, expected java.util.Date, but was not found in [Hello, World]", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.list.AbstractListReadWriteAdapter.getOrNull(AbstractListReadWriteAdapter.java:55)", - "io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterVariableMap.getOptional(ListReadWriteAdapterVariableMap.java:31)", - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.get(AbstractReadWriteAdapter.java:32)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on list target(VariableMapAdapterITest.kt:211)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 4728700 - } - ], - "durationInNanos": 4728700 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct WVT exception on list target optional", - "description": "should throw correct WVT exception on list target optional", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "io.holunda.camunda.bpm.data.adapter.WrongVariableTypeException: Error reading List Of String Variable: Wrong list type detected, expected java.util.Date, but was not found in [Hello, World]", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.list.AbstractListReadWriteAdapter.getOrNull(AbstractListReadWriteAdapter.java:55)", - "io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterVariableMap.getOptional(ListReadWriteAdapterVariableMap.java:31)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct WVT exception on list target optional(VariableMapAdapterITest.kt:221)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5185500 - } - ], - "durationInNanos": 5185500 - }, - { - "className": "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest", - "testMethodName": "should throw correct NSO on basic setLocal exception", - "description": "should throw correct NSO on basic setLocal exception", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [], - "explicitArguments": [], - "derivedArguments": [], - "status": "FAILED", - "success": false, - "errorMessage": "java.lang.UnsupportedOperationException: Can\u0027t set a local variable on a variable map", - "stackTrace": [ - "io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterVariableMap.setLocal(ReadWriteAdapterVariableMap.java:45)", - "io.holunda.camunda.bpm.data.adapter.AbstractReadWriteAdapter.setLocal(AbstractReadWriteAdapter.java:27)", - "io.holunda.camunda.bpm.data.itest.VariableMapAdapterITest.should throw correct NSO on basic setLocal exception(VariableMapAdapterITest.kt:109)", - "org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)", - "org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)", - "org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)", - "org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)", - "org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)", - "org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)", - "org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)", - "org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)", - "com.tngtech.jgiven.junit.JGivenMethodRule$1.evaluate(JGivenMethodRule.java:73)", - "org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)", - "org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)", - "org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)", - "org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)", - "org.junit.rules.RunRules.evaluate(RunRules.java:20)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)", - "org.junit.runners.Suite.runChild(Suite.java:128)", - "org.junit.runners.Suite.runChild(Suite.java:27)", - "org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)", - "org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)", - "org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)", - "org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)", - "org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)", - "org.junit.runners.ParentRunner.run(ParentRunner.java:363)", - "org.junit.runner.JUnitCore.run(JUnitCore.java:137)", - "com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)", - "com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)", - "com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)", - "com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)" - ], - "durationInNanos": 5154400 - } - ], - "durationInNanos": 5154400 - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableScopeAdapterITest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableScopeAdapterITest.json deleted file mode 100644 index 42e86a16..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableScopeAdapterITest.json +++ /dev/null @@ -1,131 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.VariableScopeAdapterITest", - "name": "Variable Scope Adapter I", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.VariableScopeAdapterITest", - "testMethodName": "should write to local variable scope and read", - "description": "should write to local variable scope and read", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with modifying delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with modifying delegate is deployed" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "${writeVariablesToScopeAndLocal}", - "argumentInfo": { - "argumentName": "modifyingDelegateExpression", - "formattedValue": "${writeVariablesToScopeAndLocal}" - } - }, - { - "value": "${readLocalFromVariableScope}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${readLocalFromVariableScope}" - } - } - ], - "status": "PASSED", - "durationInNanos": 663699800 - }, - { - "name": "get process definition", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 5688800 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "{\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 209726200 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{Double Variable\u003d14.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dfoobar, intValue\u003d12, dateValue\u003dThu Dec 12 15:55:54 CET 2019), List Of String Variable\u003d[Foo, Bar], Short Variable\u003d12, Map Of String to Date Variable\u003d{Ten\u003dThu Dec 12 15:55:54 CET 2019, Nine\u003dThu Dec 12 15:55:54 CET 2019}, Date Variable\u003dThu Dec 12 15:55:54 CET 2019, Long Variable\u003d815, Set Of String Variable\u003d[Homer, Marge], Int Variable\u003d124, String Variable\u003dlocalValue, Boolean Variable\u003dfalse}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{Double Variable\u003d14.0, Complex Variable\u003dComplexDataStructure(stringValue\u003dfoobar, intValue\u003d12, dateValue\u003dThu Dec 12 15:55:54 CET 2019), List Of String Variable\u003d[Foo, Bar], Short Variable\u003d12, Map Of String to Date Variable\u003d{Ten\u003dThu Dec 12 15:55:54 CET 2019, Nine\u003dThu Dec 12 15:55:54 CET 2019}, Date Variable\u003dThu Dec 12 15:55:54 CET 2019, Long Variable\u003d815, Set Of String Variable\u003d[Homer, Marge], Int Variable\u003d124, String Variable\u003dlocalValue, Boolean Variable\u003dfalse}" - } - }, - { - "value": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@2df9b86, localValue), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@37654521, Thu Dec 12 15:55:54 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@15aab8c6, 12), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@33990a0c, 124), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4de4b452, 815), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@50b5ac82, 14.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@101952da, false), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6babf3bf, ComplexDataStructure(stringValue\u003dfoobar, intValue\u003d12, dateValue\u003dThu Dec 12 15:55:54 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@3059cbc, [Foo, Bar]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@7ea9e1e2, [Homer, Marge]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@24fcf36f, {Ten\u003dThu Dec 12 15:55:54 CET 2019, Nine\u003dThu Dec 12 15:55:54 CET 2019})]", - "argumentInfo": { - "argumentName": "variablesWithValue", - "formattedValue": "[(io.holunda.camunda.bpm.data.factory.BasicVariableFactory@2df9b86, localValue), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@37654521, Thu Dec 12 15:55:54 CET 2019), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@15aab8c6, 12), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@33990a0c, 124), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@4de4b452, 815), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@50b5ac82, 14.0), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@101952da, false), (io.holunda.camunda.bpm.data.factory.BasicVariableFactory@6babf3bf, ComplexDataStructure(stringValue\u003dfoobar, intValue\u003d12, dateValue\u003dThu Dec 12 15:55:54 CET 2019)), (io.holunda.camunda.bpm.data.factory.ListVariableFactory@3059cbc, [Foo, Bar]), (io.holunda.camunda.bpm.data.factory.SetVariableFactory@7ea9e1e2, [Homer, Marge]), (io.holunda.camunda.bpm.data.factory.MapVariableFactory@24fcf36f, {Ten\u003dThu Dec 12 15:55:54 CET 2019, Nine\u003dThu Dec 12 15:55:54 CET 2019})]" - } - } - ], - "status": "PASSED", - "durationInNanos": 97786200 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 1080737000 - } - ], - "durationInNanos": 1080737000, - "executionStatus": "SUCCESS" - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableScopeITest.json b/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableScopeITest.json deleted file mode 100644 index eb3e2a83..00000000 --- a/example/example-kotlin/jgiven-reports/io.holunda.camunda.bpm.data.itest.VariableScopeITest.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "className": "io.holunda.camunda.bpm.data.itest.VariableScopeITest", - "name": "Variable Scope I", - "scenarios": [ - { - "className": "io.holunda.camunda.bpm.data.itest.VariableScopeITest", - "testMethodName": "should read variables from variable scope", - "description": "should read variables from variable scope", - "tagIds": [], - "explicitParameters": [], - "derivedParameters": [], - "casesAsTable": false, - "scenarioCases": [ - { - "caseNr": 1, - "steps": [ - { - "name": "process with delegate is deployed", - "words": [ - { - "value": "Given", - "isIntroWord": true - }, - { - "value": "process with delegate is deployed" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "${myDelegate}", - "argumentInfo": { - "argumentName": "delegateExpression", - "formattedValue": "${myDelegate}" - } - } - ], - "status": "PASSED", - "durationInNanos": 471651984 - }, - { - "name": "get process definition", - "words": [ - { - "value": "When", - "isIntroWord": true - }, - { - "value": "get process definition" - } - ], - "status": "PASSED", - "durationInNanos": 10664097 - }, - { - "name": "process is started with variables", - "words": [ - { - "value": "process is started with variables" - }, - { - "value": "process_with_delegate", - "argumentInfo": { - "argumentName": "processDefinitionKey", - "formattedValue": "process_with_delegate" - } - }, - { - "value": "{\n FOO \u003d\u003e Value \u0027value\u0027 of type \u0027PrimitiveValueType[string]\u0027, isTransient\u003dfalse\n}", - "argumentInfo": { - "argumentName": "variables", - "formattedValue": "{\n FOO \u003d\u003e Value \u0027value\u0027 of type \u0027PrimitiveValueType[string]\u0027, isTransient\u003dfalse\n}" - } - } - ], - "status": "PASSED", - "durationInNanos": 35879047 - }, - { - "name": "variables had value", - "words": [ - { - "value": "Then", - "isIntroWord": true - }, - { - "value": "variables had value" - }, - { - "value": "{\n FOO \u003d\u003e Value \u0027value\u0027 of type \u0027PrimitiveValueType[string]\u0027, isTransient\u003dfalse\n}", - "argumentInfo": { - "argumentName": "readValues", - "formattedValue": "{\n FOO \u003d\u003e Value \u0027value\u0027 of type \u0027PrimitiveValueType[string]\u0027, isTransient\u003dfalse\n}" - } - }, - { - "value": "(io.holunda.camunda.bpm.data.factory.VariableFactory@b867869, value)", - "argumentInfo": { - "argumentName": "variableWithValue", - "formattedValue": "(io.holunda.camunda.bpm.data.factory.VariableFactory@b867869, value)" - } - } - ], - "status": "PASSED", - "durationInNanos": 52743474 - } - ], - "explicitArguments": [], - "derivedArguments": [], - "status": "SUCCESS", - "success": true, - "durationInNanos": 630090110 - } - ], - "durationInNanos": 630090110, - "executionStatus": "SUCCESS" - } - ], - "tagMap": {} -} \ No newline at end of file diff --git a/example/example-kotlin/pom.xml b/example/example-kotlin/pom.xml index 8c6479a7..19d919b0 100644 --- a/example/example-kotlin/pom.xml +++ b/example/example-kotlin/pom.xml @@ -6,14 +6,14 @@ io.holunda.data.example camunda-bpm-data-example-parent - 1.0.1 + 1.0.2 camunda-bpm-data-example-kotlin ${project.artifactId} - false + true @@ -66,14 +66,48 @@ jackson-module-kotlin + + com.h2database + h2 + + org.codehaus.groovy - groovy-all + groovy - com.h2database - h2 + org.codehaus.groovy + groovy-datetime + + org.codehaus.groovy + groovy-jmx + + + org.codehaus.groovy + groovy-json + + + org.codehaus.groovy + groovy-jsr223 + + + org.codehaus.groovy + groovy-macro + + + org.codehaus.groovy + groovy-nio + + + org.codehaus.groovy + groovy-templates + + + org.codehaus.groovy + groovy-xml + + diff --git a/example/example-kotlin/src/test/kotlin/itest/CamundaBpmDataITestBase.kt b/example/example-kotlin/src/test/kotlin/itest/CamundaBpmDataITestBase.kt deleted file mode 100644 index d6ad5b42..00000000 --- a/example/example-kotlin/src/test/kotlin/itest/CamundaBpmDataITestBase.kt +++ /dev/null @@ -1,628 +0,0 @@ -package io.holunda.camunda.bpm.data.itest - -import com.fasterxml.jackson.annotation.JsonIgnore -import com.tngtech.jgiven.Stage -import com.tngtech.jgiven.annotation.BeforeScenario -import com.tngtech.jgiven.annotation.ProvidedScenarioState -import com.tngtech.jgiven.base.ScenarioTestBase -import com.tngtech.jgiven.integration.spring.EnableJGiven -import com.tngtech.jgiven.integration.spring.JGivenStage -import com.tngtech.jgiven.integration.spring.SpringScenarioTest -import io.holunda.camunda.bpm.data.CamundaBpmData.* -import io.holunda.camunda.bpm.data.CamundaBpmDataKotlin.customVariable -import io.holunda.camunda.bpm.data.CamundaBpmDataKotlin.dateVariable -import io.holunda.camunda.bpm.data.CamundaBpmDataKotlin.listVariable -import io.holunda.camunda.bpm.data.CamundaBpmDataKotlin.mapVariable -import io.holunda.camunda.bpm.data.CamundaBpmDataKotlin.setVariable -import io.holunda.camunda.bpm.data.CamundaBpmDataKotlin.stringVariable -import io.holunda.camunda.bpm.data.factory.VariableFactory -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.BOOLEAN -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.BOOLEAN_LOCAL -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_LIST -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_LIST_LOCAL -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_LOCAL -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_MAP -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_MAP_LOCAL -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_SET -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_SET_LOCAL -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.DATE -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.DATE_LOCAL -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.DOUBLE -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.DOUBLE_LOCAL -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.INT -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.INT_LOCAL -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.LIST_STRING -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.LIST_STRING_LOCAL -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.LONG -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.LONG_LOCAL -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.MAP_STRING_DATE_LOCAL -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.MAP_STRING_LONG -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.SET_STRING -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.SET_STRING_LOCAL -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.SHORT -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.SHORT_LOCAL -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.STRING -import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.STRING_LOCAL -import org.assertj.core.api.Assertions.assertThat -import org.camunda.bpm.engine.RepositoryService -import org.camunda.bpm.engine.RuntimeService -import org.camunda.bpm.engine.TaskService -import org.camunda.bpm.engine.delegate.JavaDelegate -import org.camunda.bpm.engine.delegate.TaskListener -import org.camunda.bpm.engine.delegate.VariableScope -import org.camunda.bpm.engine.repository.ProcessDefinition -import org.camunda.bpm.engine.runtime.ProcessInstance -import org.camunda.bpm.engine.task.Task -import org.camunda.bpm.engine.variable.VariableMap -import org.camunda.bpm.engine.variable.Variables.createVariables -import org.camunda.bpm.model.bpmn.Bpmn -import org.camunda.bpm.model.bpmn.BpmnModelInstance -import org.junit.runner.RunWith -import org.springframework.beans.factory.annotation.Autowired -import org.springframework.boot.SpringBootConfiguration -import org.springframework.boot.autoconfigure.EnableAutoConfiguration -import org.springframework.boot.test.context.SpringBootTest -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.ComponentScan -import org.springframework.context.annotation.Configuration -import org.springframework.test.context.ActiveProfiles -import org.springframework.test.context.junit4.SpringRunner -import java.time.Instant -import java.time.temporal.ChronoUnit -import java.util.* - -/** - * Alias for the when - */ -fun ScenarioTestBase.whenever(): W = `when`() - -/** - * Base for ITests. - */ -@RunWith(SpringRunner::class) -@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, classes = [CamundaBpmDataITestBase.TestApplication::class]) -@ActiveProfiles("itest") -abstract class CamundaBpmDataITestBase : SpringScenarioTest() { - - companion object { - - val STRING_VAR: VariableFactory = stringVariable("String Variable") - val DATE_VAR: VariableFactory = dateVariable("Date Variable") - val SHORT_VAR: VariableFactory = shortVariable("Short Variable") - val INT_VAR: VariableFactory = intVariable("Int Variable") - val LONG_VAR: VariableFactory = longVariable("Long Variable") - val DOUBLE_VAR: VariableFactory = doubleVariable("Double Variable") - val BOOLEAN_VAR: VariableFactory = booleanVariable("Boolean Variable") - val COMPLEX_VAR: VariableFactory = customVariable("Complex Variable") - val LIST_STRING_VAR: VariableFactory> = listVariable("List Of String Variable") - val SET_STRING_VAR: VariableFactory> = setVariable("Set Of String Variable") - val MAP_STRING_LONG_VAR: VariableFactory> = mapVariable("Map Of String to String Variable") - val COMPLEX_SET_VAR: VariableFactory> = setVariable("Complex Set") - val COMPLEX_LIST_VAR: VariableFactory> = listVariable("Complex List") - val COMPLEX_MAP_VAR: VariableFactory> = mapVariable("Complex Map") - - object Values { - val now = Date.from(Instant.now()) - val yesterday = Date.from(Instant.now().minus(1, ChronoUnit.DAYS)) - - val STRING = VariableValue(STRING_VAR, "value") - val DATE = VariableValue(DATE_VAR, now) - val SHORT = VariableValue(SHORT_VAR, 11.toShort()) - val INT = VariableValue(INT_VAR, 123) - val LONG = VariableValue(LONG_VAR, 812L) - val DOUBLE = VariableValue(DOUBLE_VAR, 12.0) - val BOOLEAN = VariableValue(BOOLEAN_VAR, true) - val COMPLEX = VariableValue(COMPLEX_VAR, ComplexDataStructure("string", 17, now)) - val LIST_STRING = VariableValue(LIST_STRING_VAR, listOf("Hello", "World")) - val SET_STRING = VariableValue(SET_STRING_VAR, setOf("Kermit", "Piggy")) - val MAP_STRING_LONG = VariableValue(MAP_STRING_LONG_VAR, mapOf("Twelve" to now.toString(), "Eleven" to now.toString())) - val COMPLEX_SET = VariableValue(COMPLEX_SET_VAR, setOf( - ComplexDataStructure("one", 1, now), - ComplexDataStructure("two", 2, yesterday) - )) - val COMPLEX_LIST = VariableValue(COMPLEX_LIST_VAR, listOf( - ComplexDataStructure("one", 1, now), - ComplexDataStructure("two", 2, yesterday) - )) - val COMPLEX_MAP = VariableValue(COMPLEX_MAP_VAR, mapOf( - "1" to ComplexDataStructure("one", 1, now), - "2" to ComplexDataStructure("two", 2, yesterday) - )) - - val STRING_LOCAL = VariableValue(STRING_VAR, "localValue") - val DATE_LOCAL = VariableValue(DATE_VAR, yesterday) - val SHORT_LOCAL = VariableValue(SHORT_VAR, 12.toShort()) - val INT_LOCAL = VariableValue(INT_VAR, 124) - val LONG_LOCAL = VariableValue(LONG_VAR, 815L) - val DOUBLE_LOCAL = VariableValue(DOUBLE_VAR, 14.0) - val BOOLEAN_LOCAL = VariableValue(BOOLEAN_VAR, false) - val COMPLEX_LOCAL = VariableValue(COMPLEX_VAR, ComplexDataStructure("foobar", 12, yesterday)) - val LIST_STRING_LOCAL = VariableValue(LIST_STRING_VAR, listOf("Foo", "Bar")) - val SET_STRING_LOCAL = VariableValue(SET_STRING_VAR, setOf("Homer", "Marge")) - val MAP_STRING_DATE_LOCAL = VariableValue(MAP_STRING_LONG_VAR, mapOf("Ten" to yesterday.toString(), "Nine" to yesterday.toString())) - val COMPLEX_SET_LOCAL = VariableValue(COMPLEX_SET_VAR, setOf( - ComplexDataStructure("one local", 1, now), - ComplexDataStructure("two local", 2, yesterday) - )) - val COMPLEX_LIST_LOCAL = VariableValue(COMPLEX_LIST_VAR, listOf( - ComplexDataStructure("one local", 1, now), - ComplexDataStructure("two local", 2, yesterday) - )) - val COMPLEX_MAP_LOCAL = VariableValue(COMPLEX_MAP_VAR, mapOf( - "1" to ComplexDataStructure("one local", 1, now), - "2" to ComplexDataStructure("two local", 2, yesterday) - )) - } - - private val allValues = mapOf( - COMPLEX_SET_VAR to COMPLEX_SET, - COMPLEX_LIST_VAR to COMPLEX_LIST, - COMPLEX_MAP_VAR to COMPLEX_MAP, - STRING_VAR to STRING, - DATE_VAR to DATE, - SHORT_VAR to SHORT, - INT_VAR to INT, - LONG_VAR to LONG, - DOUBLE_VAR to DOUBLE, - BOOLEAN_VAR to BOOLEAN, - COMPLEX_VAR to COMPLEX, - LIST_STRING_VAR to LIST_STRING, - SET_STRING_VAR to SET_STRING, - MAP_STRING_LONG_VAR to MAP_STRING_LONG - ) - - private val allLocalValues = mapOf( - COMPLEX_SET_VAR to COMPLEX_SET_LOCAL, - COMPLEX_LIST_VAR to COMPLEX_LIST_LOCAL, - COMPLEX_MAP_VAR to COMPLEX_MAP_LOCAL, - STRING_VAR to STRING_LOCAL, - DATE_VAR to DATE_LOCAL, - SHORT_VAR to SHORT_LOCAL, - INT_VAR to INT_LOCAL, - LONG_VAR to LONG_LOCAL, - DOUBLE_VAR to DOUBLE_LOCAL, - BOOLEAN_VAR to BOOLEAN_LOCAL, - COMPLEX_VAR to COMPLEX_LOCAL, - LIST_STRING_VAR to LIST_STRING_LOCAL, - SET_STRING_VAR to SET_STRING_LOCAL, - MAP_STRING_LONG_VAR to MAP_STRING_DATE_LOCAL - ) - - fun createVariableMapUntyped(): VariableMap { - val variables = createVariables() - allValues.values.forEach { - variables.putValue(it.variable.name, it.value) - } - return variables - } - - fun createKeyValuePairs(): Set, Any>> { - return allValues.entries.map { Pair(it.key, it.value.value) }.toSet() - } - - fun createKeyLocalValuePairs(): Set, Any>> { - return allLocalValues.entries.map { Pair(it.key, it.value.value) }.toSet() - } - } - - @Configuration - class DelegateConfiguration { - - val vars = HashMap() - val optionalVars = HashMap>() - var variableMap: VariableMap = createVariables() - - @Bean - fun serviceWriteAdapter() = JavaDelegate { delegateExecution -> - variableMap = delegateExecution.variablesTyped - } - - @Bean - fun readOptionalFromVariableScope() = JavaDelegate { delegateExecution -> - optionalVars[STRING_VAR.name] = STRING_VAR.from(delegateExecution).optional - optionalVars[DATE_VAR.name] = DATE_VAR.from(delegateExecution).optional - optionalVars[SHORT_VAR.name] = SHORT_VAR.from(delegateExecution).optional - optionalVars[INT_VAR.name] = INT_VAR.from(delegateExecution).optional - optionalVars[LONG_VAR.name] = LONG_VAR.from(delegateExecution).optional - optionalVars[DOUBLE_VAR.name] = DOUBLE_VAR.from(delegateExecution).optional - optionalVars[BOOLEAN_VAR.name] = BOOLEAN_VAR.from(delegateExecution).optional - optionalVars[COMPLEX_VAR.name] = COMPLEX_VAR.from(delegateExecution).optional - optionalVars[LIST_STRING_VAR.name] = LIST_STRING_VAR.from(delegateExecution).optional - optionalVars[SET_STRING_VAR.name] = SET_STRING_VAR.from(delegateExecution).optional - optionalVars[MAP_STRING_LONG_VAR.name] = MAP_STRING_LONG_VAR.from(delegateExecution).optional - optionalVars[COMPLEX_SET_VAR.name] = COMPLEX_SET_VAR.from(delegateExecution).optional - optionalVars[COMPLEX_LIST_VAR.name] = COMPLEX_LIST_VAR.from(delegateExecution).optional - optionalVars[COMPLEX_MAP_VAR.name] = COMPLEX_MAP_VAR.from(delegateExecution).optional - } - - @Bean - fun readFromVariableScope() = JavaDelegate { delegateExecution -> - vars[STRING_VAR.name] = STRING_VAR.from(delegateExecution).get() - vars[DATE_VAR.name] = DATE_VAR.from(delegateExecution).get() - vars[SHORT_VAR.name] = SHORT_VAR.from(delegateExecution).get() - vars[INT_VAR.name] = INT_VAR.from(delegateExecution).get() - vars[LONG_VAR.name] = LONG_VAR.from(delegateExecution).get() - vars[DOUBLE_VAR.name] = DOUBLE_VAR.from(delegateExecution).get() - vars[BOOLEAN_VAR.name] = BOOLEAN_VAR.from(delegateExecution).get() - vars[COMPLEX_VAR.name] = COMPLEX_VAR.from(delegateExecution).get() - vars[LIST_STRING_VAR.name] = LIST_STRING_VAR.from(delegateExecution).get() - vars[SET_STRING_VAR.name] = SET_STRING_VAR.from(delegateExecution).get() - vars[MAP_STRING_LONG_VAR.name] = MAP_STRING_LONG_VAR.from(delegateExecution).get() - vars[COMPLEX_SET_VAR.name] = COMPLEX_SET_VAR.from(delegateExecution).get() - vars[COMPLEX_LIST_VAR.name] = COMPLEX_LIST_VAR.from(delegateExecution).get() - vars[COMPLEX_MAP_VAR.name] = COMPLEX_MAP_VAR.from(delegateExecution).get() - } - - @Bean - fun readLocalFromVariableScope() = JavaDelegate { delegateExecution -> - readLocalVarsFromVariableScope(variableScope = delegateExecution) - } - - @Bean - fun readLocalFromDelegateTask() = TaskListener { delegateTask -> - readLocalVarsFromVariableScope(variableScope = delegateTask) - } - - /** - * Writes local properties from variable scope. - */ - private fun readLocalVarsFromVariableScope(variableScope: VariableScope) { - vars[STRING_VAR.name] = STRING_VAR.from(variableScope).local - vars[DATE_VAR.name] = DATE_VAR.from(variableScope).local - vars[SHORT_VAR.name] = SHORT_VAR.from(variableScope).local - vars[INT_VAR.name] = INT_VAR.from(variableScope).local - vars[LONG_VAR.name] = LONG_VAR.from(variableScope).local - vars[DOUBLE_VAR.name] = DOUBLE_VAR.from(variableScope).local - vars[BOOLEAN_VAR.name] = BOOLEAN_VAR.from(variableScope).local - vars[COMPLEX_VAR.name] = COMPLEX_VAR.from(variableScope).local - vars[LIST_STRING_VAR.name] = LIST_STRING_VAR.from(variableScope).local - vars[SET_STRING_VAR.name] = SET_STRING_VAR.from(variableScope).local - vars[MAP_STRING_LONG_VAR.name] = MAP_STRING_LONG_VAR.from(variableScope).local - vars[COMPLEX_SET_VAR.name] = COMPLEX_SET_VAR.from(variableScope).local - vars[COMPLEX_LIST_VAR.name] = COMPLEX_LIST_VAR.from(variableScope).local - vars[COMPLEX_MAP_VAR.name] = COMPLEX_MAP_VAR.from(variableScope).local - - } - - @Bean - fun readNonExisting() = JavaDelegate { delegateExecution -> - val nonExisting = stringVariable("non-existing") - nonExisting.from(delegateExecution).get() - } - - - @Bean - fun readFromVariableMap() = JavaDelegate { delegateExecution -> - val variableMap = delegateExecution.variablesTyped - - vars[STRING_VAR.name] = STRING_VAR.from(variableMap).get() - vars[DATE_VAR.name] = DATE_VAR.from(variableMap).get() - vars[SHORT_VAR.name] = SHORT_VAR.from(variableMap).get() - vars[INT_VAR.name] = INT_VAR.from(variableMap).get() - vars[LONG_VAR.name] = LONG_VAR.from(variableMap).get() - vars[DOUBLE_VAR.name] = DOUBLE_VAR.from(variableMap).get() - vars[BOOLEAN_VAR.name] = BOOLEAN_VAR.from(variableMap).get() - vars[COMPLEX_VAR.name] = COMPLEX_VAR.from(variableMap).get() - vars[LIST_STRING_VAR.name] = LIST_STRING_VAR.from(variableMap).get() - vars[SET_STRING_VAR.name] = SET_STRING_VAR.from(variableMap).get() - vars[MAP_STRING_LONG_VAR.name] = MAP_STRING_LONG_VAR.from(variableMap).get() - vars[COMPLEX_SET_VAR.name] = COMPLEX_SET_VAR.from(variableMap).get() - vars[COMPLEX_LIST_VAR.name] = COMPLEX_LIST_VAR.from(variableMap).get() - vars[COMPLEX_MAP_VAR.name] = COMPLEX_MAP_VAR.from(variableMap).get() - } - - @Bean - fun writeVariablesToScope() = JavaDelegate { delegateExecution -> - STRING_VAR.on(delegateExecution).set(STRING.value) - DATE_VAR.on(delegateExecution).set(DATE.value) - SHORT_VAR.on(delegateExecution).set(SHORT.value) - INT_VAR.on(delegateExecution).set(INT.value) - LONG_VAR.on(delegateExecution).set(LONG.value) - DOUBLE_VAR.on(delegateExecution).set(DOUBLE.value) - BOOLEAN_VAR.on(delegateExecution).set(BOOLEAN.value) - COMPLEX_VAR.on(delegateExecution).set(COMPLEX.value) - LIST_STRING_VAR.on(delegateExecution).set(LIST_STRING.value) - SET_STRING_VAR.on(delegateExecution).set(SET_STRING.value) - MAP_STRING_LONG_VAR.on(delegateExecution).set(MAP_STRING_LONG.value) - COMPLEX_SET_VAR.on(delegateExecution).set(COMPLEX_SET.value) - COMPLEX_LIST_VAR.on(delegateExecution).set(COMPLEX_LIST.value) - COMPLEX_MAP_VAR.on(delegateExecution).set(COMPLEX_MAP.value) - - } - - @Bean - fun writeVariablesToScopeAndLocal() = JavaDelegate { delegateExecution -> - STRING_VAR.on(delegateExecution).set(STRING.value) - DATE_VAR.on(delegateExecution).set(DATE.value) - SHORT_VAR.on(delegateExecution).set(SHORT.value) - INT_VAR.on(delegateExecution).set(INT.value) - LONG_VAR.on(delegateExecution).set(LONG.value) - DOUBLE_VAR.on(delegateExecution).set(DOUBLE.value) - BOOLEAN_VAR.on(delegateExecution).set(BOOLEAN.value) - COMPLEX_VAR.on(delegateExecution).set(COMPLEX.value) - LIST_STRING_VAR.on(delegateExecution).set(LIST_STRING.value) - SET_STRING_VAR.on(delegateExecution).set(SET_STRING.value) - MAP_STRING_LONG_VAR.on(delegateExecution).set(MAP_STRING_LONG.value) - COMPLEX_SET_VAR.on(delegateExecution).set(COMPLEX_SET.value) - COMPLEX_LIST_VAR.on(delegateExecution).set(COMPLEX_LIST.value) - COMPLEX_MAP_VAR.on(delegateExecution).set(COMPLEX_MAP.value) - - STRING_VAR.on(delegateExecution).setLocal(STRING_LOCAL.value) - DATE_VAR.on(delegateExecution).setLocal(DATE_LOCAL.value) - SHORT_VAR.on(delegateExecution).setLocal(SHORT_LOCAL.value) - INT_VAR.on(delegateExecution).setLocal(INT_LOCAL.value) - LONG_VAR.on(delegateExecution).setLocal(LONG_LOCAL.value) - DOUBLE_VAR.on(delegateExecution).setLocal(DOUBLE_LOCAL.value) - BOOLEAN_VAR.on(delegateExecution).setLocal(BOOLEAN_LOCAL.value) - COMPLEX_VAR.on(delegateExecution).setLocal(COMPLEX_LOCAL.value) - LIST_STRING_VAR.on(delegateExecution).setLocal(LIST_STRING_LOCAL.value) - SET_STRING_VAR.on(delegateExecution).setLocal(SET_STRING_LOCAL.value) - MAP_STRING_LONG_VAR.on(delegateExecution).setLocal(MAP_STRING_DATE_LOCAL.value) - COMPLEX_SET_VAR.on(delegateExecution).setLocal(COMPLEX_SET_LOCAL.value) - COMPLEX_LIST_VAR.on(delegateExecution).setLocal(COMPLEX_LIST_LOCAL.value) - COMPLEX_MAP_VAR.on(delegateExecution).setLocal(COMPLEX_MAP_LOCAL.value) - } - - @Bean - fun deleteVariablesFromScope() = JavaDelegate { delegateExecution -> - STRING_VAR.on(delegateExecution).remove() - LIST_STRING_VAR.on(delegateExecution).remove() - SET_STRING_VAR.on(delegateExecution).remove() - MAP_STRING_LONG_VAR.on(delegateExecution).remove() - } - } - - - /** - * Value holder. - */ - data class VariableValue(val variable: VariableFactory, val value: T) - - /** - * Complex data structure. - */ - data class ComplexDataStructure( - val someStringValue: String, - val someIntValue: Int, - val someDateValue: Date - ) { - @JsonIgnore - val valueToIgnore: String = "some hidden value" - } - - /** - * Complex key. - */ - data class ComplexKey( - val someStringValue: String, - val index: Int - ) - - /** - * Application to start - */ - @EnableJGiven - @ComponentScan - @SpringBootConfiguration - @EnableAutoConfiguration - class TestApplication -} - - -/** - * Base action stage. - */ -@JGivenStage -class ActionStage : Stage() { - - @Autowired - @ProvidedScenarioState - lateinit var repositoryService: RepositoryService - - @Autowired - @ProvidedScenarioState - lateinit var runtimeService: RuntimeService - - @Autowired - @ProvidedScenarioState - lateinit var taskService: TaskService - - @ProvidedScenarioState - lateinit var processDefinition: ProcessDefinition - - @ProvidedScenarioState - lateinit var processInstance: ProcessInstance - - @ProvidedScenarioState - lateinit var task: Task - - @Autowired - lateinit var delegateConfiguration: CamundaBpmDataITestBase.DelegateConfiguration - - @BeforeScenario - fun cleanUp() { - delegateConfiguration.vars.clear() - delegateConfiguration.optionalVars.clear() - delegateConfiguration.variableMap = createVariables() - } - - fun process_with_delegate_is_deployed( - processDefinitionKey: String = "process_with_delegate", - delegateExpression: String = "\${serviceTaskDelegate}" - ): ActionStage { - - val instance = Bpmn - .createExecutableProcess(processDefinitionKey) - .startEvent("start") - .serviceTask("service_task") - .camundaDelegateExpression(delegateExpression) - .endEvent("end") - .done() - - deploy(processDefinitionKey, instance) - - return self() - } - - fun process_with_user_task_is_deployed( - processDefinitionKey: String = "process_with_user_task", - taskDefinitionKey: String = "user_task" - ): ActionStage { - - val instance = Bpmn - .createExecutableProcess(processDefinitionKey) - .startEvent("start") - .userTask(taskDefinitionKey) - .endEvent("end") - .done() - - deploy(processDefinitionKey, instance) - - return self() - } - - fun process_with_user_task_and_delegate_is_deployed( - processDefinitionKey: String = "process_with_user_task", - taskDefinitionKey: String = "user_task", - delegateExpression: String = "\${serviceTaskDelegate}" - ): ActionStage { - - val instance = Bpmn - .createExecutableProcess(processDefinitionKey) - .startEvent("start") - .userTask(taskDefinitionKey) - .serviceTask("service_task") - .camundaDelegateExpression(delegateExpression) - .endEvent("end") - .done() - deploy(processDefinitionKey, instance) - - return self() - } - - fun process_with_user_task_and_listener_is_deployed( - processDefinitionKey: String = "process_with_user_task_and_listener", - taskDefinitionKey: String = "user_task", - delegateExpression: String = "\${listenerDelegate}" - ): ActionStage { - - val instance = Bpmn - .createExecutableProcess(processDefinitionKey) - .startEvent("start") - .userTask(taskDefinitionKey) - .camundaTaskListenerDelegateExpression("complete", delegateExpression) - .endEvent("end") - .done() - deploy(processDefinitionKey, instance) - - return self() - } - - fun process_with_modifying_delegate_is_deployed( - processDefinitionKey: String = "process_with_delegate", - modifyingDelegateExpression: String = "\${modifyingServiceTaskDelegate}", - delegateExpression: String = "\${serviceTaskDelegate}" - ): ActionStage { - - val instance = Bpmn - .createExecutableProcess(processDefinitionKey) - .startEvent("start") - .serviceTask("modifying_service_task") - .camundaDelegateExpression(modifyingDelegateExpression) - .serviceTask("service_task") - .camundaDelegateExpression(delegateExpression) - .endEvent("end") - .done() - - deploy(processDefinitionKey, instance) - return self() - } - - /** - * Starts process with variables. - */ - fun process_is_started_with_variables( - processDefinitionKey: String = this.processDefinition.key, - variables: VariableMap - ): ActionStage { - - processInstance = runtimeService - .startProcessInstanceByKey(processDefinitionKey, variables) - - return self() - } - - /** - * Reads task. - */ - fun process_waits_in_task(taskDefinitionKey: String = "user_task"): ActionStage { - val query = taskService.createTaskQuery().processInstanceId(processInstance.id).taskDefinitionKey(taskDefinitionKey) - assertThat(query.count()).isEqualTo(1L) - task = query.singleResult() - return self() - } - - /** - * Completes the task. - */ - fun task_is_completed(): ActionStage { - taskService.complete(task.id) - return self() - } - - /** - * Calls task callback with task service and task. - */ - fun task_is_accessed_in_user_task(taskServiceTaskCallback: (taskService: TaskService, taskId: String) -> Unit): ActionStage { - taskServiceTaskCallback.invoke(this.taskService, this.task.id) - return self() - } - - /** - * Calls execution callback with runtime service and execution. - */ - fun execution_is_accessed_in_wait_state(runtimeServiceExecutionCallback: (runtimeService: RuntimeService, executionId: String) -> Unit): ActionStage { - runtimeServiceExecutionCallback.invoke(this.runtimeService, this.processInstance.id) - return self() - } - - /** - * Deploys process model instance under specified process definition key. - */ - private fun deploy(processDefinitionKey: String, modelInstance: BpmnModelInstance) { - val deployment = repositoryService - .createDeployment() - .addModelInstance("$processDefinitionKey.bpmn", modelInstance) - .name(processDefinitionKey) - .deploy() - - processDefinition = repositoryService - .createProcessDefinitionQuery() - .deploymentId(deployment.id) - .singleResult() - } -} - -/** - * Base assert stage. - */ -@JGivenStage -class AssertStage : Stage() { - - fun variables_had_value(readValues: Map, variablesWithValue: Set, Any>>): AssertStage { - variablesWithValue.forEach { - assertThat(readValues).containsEntry(it.first.name, it.second) - } - return self() - } - - fun variables_had_not_value(readValues: Map, vararg variableWithValue: VariableFactory<*>): AssertStage { - val emptyOptional = Optional.empty() - - variableWithValue.forEach { - assertThat(readValues).containsEntry(it.name, emptyOptional) - } - return self() - } -} diff --git a/example/example-kotlin/src/test/resources/application-itest.yml b/example/example-kotlin/src/test/resources/application-itest.yml deleted file mode 100644 index 42acd6e3..00000000 --- a/example/example-kotlin/src/test/resources/application-itest.yml +++ /dev/null @@ -1,17 +0,0 @@ -spring: - application: - name: ITest - jpa: - open-in-view: true -camunda: - bpm: - admin-user: - id: admin - password: admin - email: adminus@adminius.io - first-name: Adminus - last-name: Administratius - filter: - create: true -server: - port: 8083 diff --git a/example/itest/README.md b/example/itest/README.md new file mode 100644 index 00000000..4bd971b1 --- /dev/null +++ b/example/itest/README.md @@ -0,0 +1,4 @@ +# Integration Test + +This project contains a Integration Test of the library. It starts SpringBoot +with Camunda BPM Engine and runs tests with processes deployed. diff --git a/example/itest/pom.xml b/example/itest/pom.xml new file mode 100644 index 00000000..a769c52d --- /dev/null +++ b/example/itest/pom.xml @@ -0,0 +1,209 @@ + + + 4.0.0 + + + io.holunda.data.example + camunda-bpm-data-example-parent + 1.0.2 + + + camunda-bpm-data-integration-test + ${project.artifactId} + + + false + + + + + io.holunda.data + camunda-bpm-data + + + io.holunda.data.example + camunda-bpm-data-spin-type-detector + ${project.parent.version} + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.camunda.bpm.springboot + camunda-bpm-spring-boot-starter-rest + + + org.camunda.bpm + camunda-engine-plugin-spin + + + org.camunda.spin + camunda-spin-core + + + org.camunda.spin + camunda-spin-dataformat-json-jackson + + + + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + + com.fasterxml.jackson.module + jackson-module-kotlin + + + + org.codehaus.groovy + groovy + + + org.codehaus.groovy + groovy-datetime + + + org.codehaus.groovy + groovy-jmx + + + org.codehaus.groovy + groovy-json + + + org.codehaus.groovy + groovy-jsr223 + + + org.codehaus.groovy + groovy-macro + + + org.codehaus.groovy + groovy-nio + + + org.codehaus.groovy + groovy-templates + + + org.codehaus.groovy + groovy-xml + + + com.h2database + h2 + + + + + org.jetbrains.kotlin + kotlin-stdlib + + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + + + org.jetbrains.kotlin + kotlin-stdlib-jdk7 + + + + + org.jetbrains.kotlin + kotlin-stdlib-jdk7 + + + org.jetbrains.kotlin + kotlin-reflect + + + io.github.microutils + kotlin-logging + + + org.jetbrains.kotlin + kotlin-stdlib + + + + + io.toolisticon.springboot + springboot-swagger-starter + + + + + io.holunda.data + camunda-bpm-data-test + test + + + + io.holunda.testing + camunda-bpm-jgiven + + + com.tngtech.jgiven + jgiven-junit + + + org.springframework.boot + spring-boot-starter-test + test + + + + + integration-test failsafe:verify + + + org.apache.maven.plugins + maven-failsafe-plugin + + + + integration-test + + + + + + ${pattern.class.itest} + ${pattern.package.itest} + + + + -Djava.awt.headless=true ${argLine} -XX:+StartAttachListener + random + + + + org.jetbrains.kotlin + kotlin-maven-plugin + + + org.springframework.boot + spring-boot-maven-plugin + + + com.tngtech.jgiven + jgiven-maven-plugin + + + + + diff --git a/example/example-kotlin/src/test/kotlin/CamundaBpmDataTests.kt b/example/itest/src/test/kotlin/CamundaBpmDataTests.kt similarity index 100% rename from example/example-kotlin/src/test/kotlin/CamundaBpmDataTests.kt rename to example/itest/src/test/kotlin/CamundaBpmDataTests.kt diff --git a/example/itest/src/test/kotlin/itest/ActionStage.kt b/example/itest/src/test/kotlin/itest/ActionStage.kt new file mode 100644 index 00000000..75b25caf --- /dev/null +++ b/example/itest/src/test/kotlin/itest/ActionStage.kt @@ -0,0 +1,207 @@ +package io.holunda.camunda.bpm.data.itest + +import com.tngtech.jgiven.Stage +import com.tngtech.jgiven.annotation.BeforeScenario +import com.tngtech.jgiven.annotation.ProvidedScenarioState +import com.tngtech.jgiven.integration.spring.JGivenStage +import org.assertj.core.api.Assertions +import org.camunda.bpm.engine.RepositoryService +import org.camunda.bpm.engine.RuntimeService +import org.camunda.bpm.engine.TaskService +import org.camunda.bpm.engine.repository.ProcessDefinition +import org.camunda.bpm.engine.runtime.ProcessInstance +import org.camunda.bpm.engine.task.Task +import org.camunda.bpm.engine.variable.VariableMap +import org.camunda.bpm.engine.variable.Variables +import org.camunda.bpm.model.bpmn.Bpmn +import org.camunda.bpm.model.bpmn.BpmnModelInstance +import org.springframework.beans.factory.annotation.Autowired + +/** + * Base action stage. + */ +@JGivenStage +class ActionStage : Stage() { + + @Autowired + @ProvidedScenarioState + lateinit var repositoryService: RepositoryService + + @Autowired + @ProvidedScenarioState + lateinit var runtimeService: RuntimeService + + @Autowired + @ProvidedScenarioState + lateinit var taskService: TaskService + + @ProvidedScenarioState + lateinit var processDefinition: ProcessDefinition + + @ProvidedScenarioState + lateinit var processInstance: ProcessInstance + + @ProvidedScenarioState + lateinit var task: Task + + @Autowired + lateinit var delegateConfiguration: CamundaBpmDataITestBase.DelegateConfiguration + + @BeforeScenario + fun cleanUp() { + delegateConfiguration.vars.clear() + delegateConfiguration.optionalVars.clear() + delegateConfiguration.variableMap = Variables.createVariables() + } + + fun process_with_delegate_is_deployed( + processDefinitionKey: String = "process_with_delegate", + delegateExpression: String = "\${serviceTaskDelegate}" + ): ActionStage { + + val instance = Bpmn.createExecutableProcess(processDefinitionKey) + .startEvent("start") + .serviceTask("service_task") + .camundaDelegateExpression(delegateExpression) + .endEvent("end") + .done() + + deploy(processDefinitionKey, instance) + + return self() + } + + fun process_with_user_task_is_deployed( + processDefinitionKey: String = "process_with_user_task", + taskDefinitionKey: String = "user_task" + ): ActionStage { + + val instance = Bpmn.createExecutableProcess(processDefinitionKey) + .startEvent("start") + .userTask(taskDefinitionKey) + .endEvent("end") + .done() + + deploy(processDefinitionKey, instance) + + return self() + } + + fun process_with_user_task_and_delegate_is_deployed( + processDefinitionKey: String = "process_with_user_task", + taskDefinitionKey: String = "user_task", + delegateExpression: String = "\${serviceTaskDelegate}" + ): ActionStage { + + val instance = Bpmn.createExecutableProcess(processDefinitionKey) + .startEvent("start") + .userTask(taskDefinitionKey) + .serviceTask("service_task") + .camundaDelegateExpression(delegateExpression) + .endEvent("end") + .done() + deploy(processDefinitionKey, instance) + + return self() + } + + fun process_with_user_task_and_listener_is_deployed( + processDefinitionKey: String = "process_with_user_task_and_listener", + taskDefinitionKey: String = "user_task", + delegateExpression: String = "\${listenerDelegate}" + ): ActionStage { + + val instance = Bpmn.createExecutableProcess(processDefinitionKey) + .startEvent("start") + .userTask(taskDefinitionKey) + .camundaTaskListenerDelegateExpression("complete", delegateExpression) + .endEvent("end") + .done() + deploy(processDefinitionKey, instance) + + return self() + } + + fun process_with_modifying_delegate_is_deployed( + processDefinitionKey: String = "process_with_delegate", + modifyingDelegateExpression: String = "\${modifyingServiceTaskDelegate}", + delegateExpression: String = "\${serviceTaskDelegate}" + ): ActionStage { + + val instance = Bpmn.createExecutableProcess(processDefinitionKey) + .startEvent("start") + .serviceTask("modifying_service_task") + .camundaDelegateExpression(modifyingDelegateExpression) + .serviceTask("service_task") + .camundaDelegateExpression(delegateExpression) + .endEvent("end") + .done() + + deploy(processDefinitionKey, instance) + return self() + } + + /** + * Starts process with variables. + */ + fun process_is_started_with_variables( + processDefinitionKey: String = this.processDefinition.key, + variables: VariableMap + ): ActionStage { + + processInstance = runtimeService + .startProcessInstanceByKey(processDefinitionKey, variables) + + return self() + } + + /** + * Reads task. + */ + fun process_waits_in_task(taskDefinitionKey: String = "user_task"): ActionStage { + val query = taskService.createTaskQuery().processInstanceId(processInstance.id).taskDefinitionKey(taskDefinitionKey) + Assertions.assertThat(query.count()).isEqualTo(1L) + task = query.singleResult() + return self() + } + + /** + * Completes the task. + */ + fun task_is_completed(): ActionStage { + taskService.complete(task.id) + return self() + } + + /** + * Calls task callback with task service and task. + */ + fun task_is_accessed_in_user_task(taskServiceTaskCallback: (taskService: TaskService, taskId: String) -> Unit): ActionStage { + taskServiceTaskCallback.invoke(this.taskService, this.task.id) + return self() + } + + /** + * Calls execution callback with runtime service and execution. + */ + fun execution_is_accessed_in_wait_state(runtimeServiceExecutionCallback: (runtimeService: RuntimeService, executionId: String) -> Unit): ActionStage { + runtimeServiceExecutionCallback.invoke(this.runtimeService, this.processInstance.id) + return self() + } + + /** + * Deploys process model instance under specified process definition key. + */ + private fun deploy(processDefinitionKey: String, modelInstance: BpmnModelInstance) { + val deployment = repositoryService + .createDeployment() + .addModelInstance("$processDefinitionKey.bpmn", modelInstance) + .name(processDefinitionKey) + .deploy() + + processDefinition = repositoryService + .createProcessDefinitionQuery() + .deploymentId(deployment.id) + .singleResult() + } +} diff --git a/example/itest/src/test/kotlin/itest/AssertStage.kt b/example/itest/src/test/kotlin/itest/AssertStage.kt new file mode 100644 index 00000000..fa6ee113 --- /dev/null +++ b/example/itest/src/test/kotlin/itest/AssertStage.kt @@ -0,0 +1,30 @@ +package io.holunda.camunda.bpm.data.itest + +import com.tngtech.jgiven.Stage +import com.tngtech.jgiven.integration.spring.JGivenStage +import io.holunda.camunda.bpm.data.factory.VariableFactory +import org.assertj.core.api.Assertions +import java.util.* + +/** + * Base assert stage. + */ +@JGivenStage +class AssertStage : Stage() { + + fun variables_had_value(readValues: Map, variablesWithValue: Set, Any>>): AssertStage { + variablesWithValue.forEach { + Assertions.assertThat(readValues).containsEntry(it.first.name, it.second) + } + return self() + } + + fun variables_had_not_value(readValues: Map, vararg variableWithValue: VariableFactory<*>): AssertStage { + val emptyOptional = Optional.empty() + + variableWithValue.forEach { + Assertions.assertThat(readValues).containsEntry(it.name, emptyOptional) + } + return self() + } +} diff --git a/example/itest/src/test/kotlin/itest/CamundaBpmDataITestBase.kt b/example/itest/src/test/kotlin/itest/CamundaBpmDataITestBase.kt new file mode 100644 index 00000000..b0cc32a2 --- /dev/null +++ b/example/itest/src/test/kotlin/itest/CamundaBpmDataITestBase.kt @@ -0,0 +1,390 @@ +package io.holunda.camunda.bpm.data.itest + +import com.fasterxml.jackson.annotation.JsonIgnore +import com.tngtech.jgiven.base.ScenarioTestBase +import com.tngtech.jgiven.integration.spring.EnableJGiven +import com.tngtech.jgiven.integration.spring.SpringScenarioTest +import io.holunda.camunda.bpm.data.CamundaBpmData.* +import io.holunda.camunda.bpm.data.CamundaBpmDataKotlin.customVariable +import io.holunda.camunda.bpm.data.CamundaBpmDataKotlin.dateVariable +import io.holunda.camunda.bpm.data.CamundaBpmDataKotlin.listVariable +import io.holunda.camunda.bpm.data.CamundaBpmDataKotlin.mapVariable +import io.holunda.camunda.bpm.data.CamundaBpmDataKotlin.setVariable +import io.holunda.camunda.bpm.data.CamundaBpmDataKotlin.stringVariable +import io.holunda.camunda.bpm.data.factory.VariableFactory +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.BOOLEAN +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.BOOLEAN_LOCAL +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_LIST +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_LIST_LOCAL +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_LOCAL +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_MAP +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_MAP_LOCAL +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_SET +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.COMPLEX_SET_LOCAL +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.DATE +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.DATE_LOCAL +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.DOUBLE +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.DOUBLE_LOCAL +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.INT +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.INT_LOCAL +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.LIST_STRING +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.LIST_STRING_LOCAL +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.LONG +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.LONG_LOCAL +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.MAP_STRING_DATE_LOCAL +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.MAP_STRING_LONG +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.SET_STRING +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.SET_STRING_LOCAL +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.SHORT +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.SHORT_LOCAL +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.STRING +import io.holunda.camunda.bpm.data.itest.CamundaBpmDataITestBase.Companion.Values.STRING_LOCAL +import org.camunda.bpm.engine.delegate.JavaDelegate +import org.camunda.bpm.engine.delegate.TaskListener +import org.camunda.bpm.engine.delegate.VariableScope +import org.camunda.bpm.engine.variable.VariableMap +import org.camunda.bpm.engine.variable.Variables.createVariables +import org.junit.runner.RunWith +import org.springframework.boot.SpringBootConfiguration +import org.springframework.boot.autoconfigure.EnableAutoConfiguration +import org.springframework.boot.test.context.SpringBootTest +import org.springframework.context.annotation.Bean +import org.springframework.context.annotation.ComponentScan +import org.springframework.context.annotation.Configuration +import org.springframework.test.context.ActiveProfiles +import org.springframework.test.context.junit4.SpringRunner +import java.time.Instant +import java.time.temporal.ChronoUnit +import java.util.* + +/** + * Alias for the when + */ +fun ScenarioTestBase.whenever(): W = `when`() + +/** + * Base for ITests. + */ +@RunWith(SpringRunner::class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = [CamundaBpmDataITestBase.TestApplication::class]) +@ActiveProfiles("itest") +abstract class CamundaBpmDataITestBase : SpringScenarioTest() { + + companion object { + + val STRING_VAR: VariableFactory = stringVariable("String Variable") + val DATE_VAR: VariableFactory = dateVariable("Date Variable") + val SHORT_VAR: VariableFactory = shortVariable("Short Variable") + val INT_VAR: VariableFactory = intVariable("Int Variable") + val LONG_VAR: VariableFactory = longVariable("Long Variable") + val DOUBLE_VAR: VariableFactory = doubleVariable("Double Variable") + val BOOLEAN_VAR: VariableFactory = booleanVariable("Boolean Variable") + val COMPLEX_VAR: VariableFactory = customVariable("Complex Variable") + val LIST_STRING_VAR: VariableFactory> = listVariable("List Of String Variable") + val SET_STRING_VAR: VariableFactory> = setVariable("Set Of String Variable") + val MAP_STRING_LONG_VAR: VariableFactory> = mapVariable("Map Of String to String Variable") + val COMPLEX_SET_VAR: VariableFactory> = setVariable("Complex Set") + val COMPLEX_LIST_VAR: VariableFactory> = listVariable("Complex List") + val COMPLEX_MAP_VAR: VariableFactory> = mapVariable("Complex Map") + + object Values { + val now = Date.from(Instant.now()) + val yesterday = Date.from(Instant.now().minus(1, ChronoUnit.DAYS)) + + val STRING = VariableValue(STRING_VAR, "value") + val DATE = VariableValue(DATE_VAR, now) + val SHORT = VariableValue(SHORT_VAR, 11.toShort()) + val INT = VariableValue(INT_VAR, 123) + val LONG = VariableValue(LONG_VAR, 812L) + val DOUBLE = VariableValue(DOUBLE_VAR, 12.0) + val BOOLEAN = VariableValue(BOOLEAN_VAR, true) + val COMPLEX = VariableValue(COMPLEX_VAR, ComplexDataStructure("string", 17, now)) + val LIST_STRING = VariableValue(LIST_STRING_VAR, listOf("Hello", "World")) + val SET_STRING = VariableValue(SET_STRING_VAR, setOf("Kermit", "Piggy")) + val MAP_STRING_LONG = VariableValue(MAP_STRING_LONG_VAR, mapOf("Twelve" to now.toString(), "Eleven" to now.toString())) + val COMPLEX_SET = VariableValue(COMPLEX_SET_VAR, setOf( + ComplexDataStructure("one", 1, now), + ComplexDataStructure("two", 2, yesterday) + )) + val COMPLEX_LIST = VariableValue(COMPLEX_LIST_VAR, listOf( + ComplexDataStructure("one", 1, now), + ComplexDataStructure("two", 2, yesterday) + )) + val COMPLEX_MAP = VariableValue(COMPLEX_MAP_VAR, mapOf( + "1" to ComplexDataStructure("one", 1, now), + "2" to ComplexDataStructure("two", 2, yesterday) + )) + + val STRING_LOCAL = VariableValue(STRING_VAR, "localValue") + val DATE_LOCAL = VariableValue(DATE_VAR, yesterday) + val SHORT_LOCAL = VariableValue(SHORT_VAR, 12.toShort()) + val INT_LOCAL = VariableValue(INT_VAR, 124) + val LONG_LOCAL = VariableValue(LONG_VAR, 815L) + val DOUBLE_LOCAL = VariableValue(DOUBLE_VAR, 14.0) + val BOOLEAN_LOCAL = VariableValue(BOOLEAN_VAR, false) + val COMPLEX_LOCAL = VariableValue(COMPLEX_VAR, ComplexDataStructure("foobar", 12, yesterday)) + val LIST_STRING_LOCAL = VariableValue(LIST_STRING_VAR, listOf("Foo", "Bar")) + val SET_STRING_LOCAL = VariableValue(SET_STRING_VAR, setOf("Homer", "Marge")) + val MAP_STRING_DATE_LOCAL = VariableValue(MAP_STRING_LONG_VAR, mapOf("Ten" to yesterday.toString(), "Nine" to yesterday.toString())) + val COMPLEX_SET_LOCAL = VariableValue(COMPLEX_SET_VAR, setOf( + ComplexDataStructure("one local", 1, now), + ComplexDataStructure("two local", 2, yesterday) + )) + val COMPLEX_LIST_LOCAL = VariableValue(COMPLEX_LIST_VAR, listOf( + ComplexDataStructure("one local", 1, now), + ComplexDataStructure("two local", 2, yesterday) + )) + val COMPLEX_MAP_LOCAL = VariableValue(COMPLEX_MAP_VAR, mapOf( + "1" to ComplexDataStructure("one local", 1, now), + "2" to ComplexDataStructure("two local", 2, yesterday) + )) + } + + private val allValues = mapOf( + COMPLEX_SET_VAR to COMPLEX_SET, + COMPLEX_LIST_VAR to COMPLEX_LIST, + COMPLEX_MAP_VAR to COMPLEX_MAP, + STRING_VAR to STRING, + DATE_VAR to DATE, + SHORT_VAR to SHORT, + INT_VAR to INT, + LONG_VAR to LONG, + DOUBLE_VAR to DOUBLE, + BOOLEAN_VAR to BOOLEAN, + COMPLEX_VAR to COMPLEX, + LIST_STRING_VAR to LIST_STRING, + SET_STRING_VAR to SET_STRING, + MAP_STRING_LONG_VAR to MAP_STRING_LONG + ) + + private val allLocalValues = mapOf( + COMPLEX_SET_VAR to COMPLEX_SET_LOCAL, + COMPLEX_LIST_VAR to COMPLEX_LIST_LOCAL, + COMPLEX_MAP_VAR to COMPLEX_MAP_LOCAL, + STRING_VAR to STRING_LOCAL, + DATE_VAR to DATE_LOCAL, + SHORT_VAR to SHORT_LOCAL, + INT_VAR to INT_LOCAL, + LONG_VAR to LONG_LOCAL, + DOUBLE_VAR to DOUBLE_LOCAL, + BOOLEAN_VAR to BOOLEAN_LOCAL, + COMPLEX_VAR to COMPLEX_LOCAL, + LIST_STRING_VAR to LIST_STRING_LOCAL, + SET_STRING_VAR to SET_STRING_LOCAL, + MAP_STRING_LONG_VAR to MAP_STRING_DATE_LOCAL + ) + + fun createVariableMapUntyped(): VariableMap { + val variables = createVariables() + allValues.values.forEach { + variables.putValue(it.variable.name, it.value) + } + return variables + } + + fun createKeyValuePairs(): Set, Any>> { + return allValues.entries.map { Pair(it.key, it.value.value) }.toSet() + } + + fun createKeyLocalValuePairs(): Set, Any>> { + return allLocalValues.entries.map { Pair(it.key, it.value.value) }.toSet() + } + } + + @Configuration + class DelegateConfiguration { + + val vars = HashMap() + val optionalVars = HashMap>() + var variableMap: VariableMap = createVariables() + + @Bean + fun serviceWriteAdapter() = JavaDelegate { delegateExecution -> + variableMap = delegateExecution.variablesTyped + } + + @Bean + fun readOptionalFromVariableScope() = JavaDelegate { delegateExecution -> + optionalVars[STRING_VAR.name] = STRING_VAR.from(delegateExecution).optional + optionalVars[DATE_VAR.name] = DATE_VAR.from(delegateExecution).optional + optionalVars[SHORT_VAR.name] = SHORT_VAR.from(delegateExecution).optional + optionalVars[INT_VAR.name] = INT_VAR.from(delegateExecution).optional + optionalVars[LONG_VAR.name] = LONG_VAR.from(delegateExecution).optional + optionalVars[DOUBLE_VAR.name] = DOUBLE_VAR.from(delegateExecution).optional + optionalVars[BOOLEAN_VAR.name] = BOOLEAN_VAR.from(delegateExecution).optional + optionalVars[COMPLEX_VAR.name] = COMPLEX_VAR.from(delegateExecution).optional + optionalVars[LIST_STRING_VAR.name] = LIST_STRING_VAR.from(delegateExecution).optional + optionalVars[SET_STRING_VAR.name] = SET_STRING_VAR.from(delegateExecution).optional + optionalVars[MAP_STRING_LONG_VAR.name] = MAP_STRING_LONG_VAR.from(delegateExecution).optional + optionalVars[COMPLEX_SET_VAR.name] = COMPLEX_SET_VAR.from(delegateExecution).optional + optionalVars[COMPLEX_LIST_VAR.name] = COMPLEX_LIST_VAR.from(delegateExecution).optional + optionalVars[COMPLEX_MAP_VAR.name] = COMPLEX_MAP_VAR.from(delegateExecution).optional + } + + @Bean + fun readFromVariableScope() = JavaDelegate { delegateExecution -> + vars[STRING_VAR.name] = STRING_VAR.from(delegateExecution).get() + vars[DATE_VAR.name] = DATE_VAR.from(delegateExecution).get() + vars[SHORT_VAR.name] = SHORT_VAR.from(delegateExecution).get() + vars[INT_VAR.name] = INT_VAR.from(delegateExecution).get() + vars[LONG_VAR.name] = LONG_VAR.from(delegateExecution).get() + vars[DOUBLE_VAR.name] = DOUBLE_VAR.from(delegateExecution).get() + vars[BOOLEAN_VAR.name] = BOOLEAN_VAR.from(delegateExecution).get() + vars[COMPLEX_VAR.name] = COMPLEX_VAR.from(delegateExecution).get() + vars[LIST_STRING_VAR.name] = LIST_STRING_VAR.from(delegateExecution).get() + vars[SET_STRING_VAR.name] = SET_STRING_VAR.from(delegateExecution).get() + vars[MAP_STRING_LONG_VAR.name] = MAP_STRING_LONG_VAR.from(delegateExecution).get() + vars[COMPLEX_SET_VAR.name] = COMPLEX_SET_VAR.from(delegateExecution).get() + vars[COMPLEX_LIST_VAR.name] = COMPLEX_LIST_VAR.from(delegateExecution).get() + vars[COMPLEX_MAP_VAR.name] = COMPLEX_MAP_VAR.from(delegateExecution).get() + } + + @Bean + fun readLocalFromVariableScope() = JavaDelegate { delegateExecution -> + readLocalVarsFromVariableScope(variableScope = delegateExecution) + } + + @Bean + fun readLocalFromDelegateTask() = TaskListener { delegateTask -> + readLocalVarsFromVariableScope(variableScope = delegateTask) + } + + /** + * Writes local properties from variable scope. + */ + private fun readLocalVarsFromVariableScope(variableScope: VariableScope) { + vars[STRING_VAR.name] = STRING_VAR.from(variableScope).local + vars[DATE_VAR.name] = DATE_VAR.from(variableScope).local + vars[SHORT_VAR.name] = SHORT_VAR.from(variableScope).local + vars[INT_VAR.name] = INT_VAR.from(variableScope).local + vars[LONG_VAR.name] = LONG_VAR.from(variableScope).local + vars[DOUBLE_VAR.name] = DOUBLE_VAR.from(variableScope).local + vars[BOOLEAN_VAR.name] = BOOLEAN_VAR.from(variableScope).local + vars[COMPLEX_VAR.name] = COMPLEX_VAR.from(variableScope).local + vars[LIST_STRING_VAR.name] = LIST_STRING_VAR.from(variableScope).local + vars[SET_STRING_VAR.name] = SET_STRING_VAR.from(variableScope).local + vars[MAP_STRING_LONG_VAR.name] = MAP_STRING_LONG_VAR.from(variableScope).local + vars[COMPLEX_SET_VAR.name] = COMPLEX_SET_VAR.from(variableScope).local + vars[COMPLEX_LIST_VAR.name] = COMPLEX_LIST_VAR.from(variableScope).local + vars[COMPLEX_MAP_VAR.name] = COMPLEX_MAP_VAR.from(variableScope).local + + } + + @Bean + fun readNonExisting() = JavaDelegate { delegateExecution -> + val nonExisting = stringVariable("non-existing") + nonExisting.from(delegateExecution).get() + } + + + @Bean + fun readFromVariableMap() = JavaDelegate { delegateExecution -> + val variableMap = delegateExecution.variablesTyped + + vars[STRING_VAR.name] = STRING_VAR.from(variableMap).get() + vars[DATE_VAR.name] = DATE_VAR.from(variableMap).get() + vars[SHORT_VAR.name] = SHORT_VAR.from(variableMap).get() + vars[INT_VAR.name] = INT_VAR.from(variableMap).get() + vars[LONG_VAR.name] = LONG_VAR.from(variableMap).get() + vars[DOUBLE_VAR.name] = DOUBLE_VAR.from(variableMap).get() + vars[BOOLEAN_VAR.name] = BOOLEAN_VAR.from(variableMap).get() + vars[COMPLEX_VAR.name] = COMPLEX_VAR.from(variableMap).get() + vars[LIST_STRING_VAR.name] = LIST_STRING_VAR.from(variableMap).get() + vars[SET_STRING_VAR.name] = SET_STRING_VAR.from(variableMap).get() + vars[MAP_STRING_LONG_VAR.name] = MAP_STRING_LONG_VAR.from(variableMap).get() + vars[COMPLEX_SET_VAR.name] = COMPLEX_SET_VAR.from(variableMap).get() + vars[COMPLEX_LIST_VAR.name] = COMPLEX_LIST_VAR.from(variableMap).get() + vars[COMPLEX_MAP_VAR.name] = COMPLEX_MAP_VAR.from(variableMap).get() + } + + @Bean + fun writeVariablesToScope() = JavaDelegate { delegateExecution -> + STRING_VAR.on(delegateExecution).set(STRING.value) + DATE_VAR.on(delegateExecution).set(DATE.value) + SHORT_VAR.on(delegateExecution).set(SHORT.value) + INT_VAR.on(delegateExecution).set(INT.value) + LONG_VAR.on(delegateExecution).set(LONG.value) + DOUBLE_VAR.on(delegateExecution).set(DOUBLE.value) + BOOLEAN_VAR.on(delegateExecution).set(BOOLEAN.value) + COMPLEX_VAR.on(delegateExecution).set(COMPLEX.value) + LIST_STRING_VAR.on(delegateExecution).set(LIST_STRING.value) + SET_STRING_VAR.on(delegateExecution).set(SET_STRING.value) + MAP_STRING_LONG_VAR.on(delegateExecution).set(MAP_STRING_LONG.value) + COMPLEX_SET_VAR.on(delegateExecution).set(COMPLEX_SET.value) + COMPLEX_LIST_VAR.on(delegateExecution).set(COMPLEX_LIST.value) + COMPLEX_MAP_VAR.on(delegateExecution).set(COMPLEX_MAP.value) + + } + + @Bean + fun writeVariablesToScopeAndLocal() = JavaDelegate { delegateExecution -> + STRING_VAR.on(delegateExecution).set(STRING.value) + DATE_VAR.on(delegateExecution).set(DATE.value) + SHORT_VAR.on(delegateExecution).set(SHORT.value) + INT_VAR.on(delegateExecution).set(INT.value) + LONG_VAR.on(delegateExecution).set(LONG.value) + DOUBLE_VAR.on(delegateExecution).set(DOUBLE.value) + BOOLEAN_VAR.on(delegateExecution).set(BOOLEAN.value) + COMPLEX_VAR.on(delegateExecution).set(COMPLEX.value) + LIST_STRING_VAR.on(delegateExecution).set(LIST_STRING.value) + SET_STRING_VAR.on(delegateExecution).set(SET_STRING.value) + MAP_STRING_LONG_VAR.on(delegateExecution).set(MAP_STRING_LONG.value) + COMPLEX_SET_VAR.on(delegateExecution).set(COMPLEX_SET.value) + COMPLEX_LIST_VAR.on(delegateExecution).set(COMPLEX_LIST.value) + COMPLEX_MAP_VAR.on(delegateExecution).set(COMPLEX_MAP.value) + + STRING_VAR.on(delegateExecution).setLocal(STRING_LOCAL.value) + DATE_VAR.on(delegateExecution).setLocal(DATE_LOCAL.value) + SHORT_VAR.on(delegateExecution).setLocal(SHORT_LOCAL.value) + INT_VAR.on(delegateExecution).setLocal(INT_LOCAL.value) + LONG_VAR.on(delegateExecution).setLocal(LONG_LOCAL.value) + DOUBLE_VAR.on(delegateExecution).setLocal(DOUBLE_LOCAL.value) + BOOLEAN_VAR.on(delegateExecution).setLocal(BOOLEAN_LOCAL.value) + COMPLEX_VAR.on(delegateExecution).setLocal(COMPLEX_LOCAL.value) + LIST_STRING_VAR.on(delegateExecution).setLocal(LIST_STRING_LOCAL.value) + SET_STRING_VAR.on(delegateExecution).setLocal(SET_STRING_LOCAL.value) + MAP_STRING_LONG_VAR.on(delegateExecution).setLocal(MAP_STRING_DATE_LOCAL.value) + COMPLEX_SET_VAR.on(delegateExecution).setLocal(COMPLEX_SET_LOCAL.value) + COMPLEX_LIST_VAR.on(delegateExecution).setLocal(COMPLEX_LIST_LOCAL.value) + COMPLEX_MAP_VAR.on(delegateExecution).setLocal(COMPLEX_MAP_LOCAL.value) + } + + @Bean + fun deleteVariablesFromScope() = JavaDelegate { delegateExecution -> + STRING_VAR.on(delegateExecution).remove() + LIST_STRING_VAR.on(delegateExecution).remove() + SET_STRING_VAR.on(delegateExecution).remove() + MAP_STRING_LONG_VAR.on(delegateExecution).remove() + } + } + + + /** + * Value holder. + */ + data class VariableValue(val variable: VariableFactory, val value: T) + + /** + * Complex data structure. + */ + data class ComplexDataStructure( + val someStringValue: String, + val someIntValue: Int, + val someDateValue: Date + ) { + @JsonIgnore + val valueToIgnore: String = "some hidden value" + } + + /** + * Application to start + */ + @EnableJGiven + @ComponentScan + @SpringBootConfiguration + @EnableAutoConfiguration + class TestApplication +} + + diff --git a/example/example-kotlin/src/test/kotlin/itest/RuntimeServiceAdapterITest.kt b/example/itest/src/test/kotlin/itest/RuntimeServiceAdapterITest.kt similarity index 100% rename from example/example-kotlin/src/test/kotlin/itest/RuntimeServiceAdapterITest.kt rename to example/itest/src/test/kotlin/itest/RuntimeServiceAdapterITest.kt diff --git a/example/example-kotlin/src/test/kotlin/itest/TaskServiceAdapterITest.kt b/example/itest/src/test/kotlin/itest/TaskServiceAdapterITest.kt similarity index 100% rename from example/example-kotlin/src/test/kotlin/itest/TaskServiceAdapterITest.kt rename to example/itest/src/test/kotlin/itest/TaskServiceAdapterITest.kt diff --git a/example/example-kotlin/src/test/kotlin/itest/VariableMapAdapterITest.kt b/example/itest/src/test/kotlin/itest/VariableMapAdapterITest.kt similarity index 100% rename from example/example-kotlin/src/test/kotlin/itest/VariableMapAdapterITest.kt rename to example/itest/src/test/kotlin/itest/VariableMapAdapterITest.kt diff --git a/example/example-kotlin/src/test/kotlin/itest/VariableScopeAdapterITest.kt b/example/itest/src/test/kotlin/itest/VariableScopeAdapterITest.kt similarity index 100% rename from example/example-kotlin/src/test/kotlin/itest/VariableScopeAdapterITest.kt rename to example/itest/src/test/kotlin/itest/VariableScopeAdapterITest.kt diff --git a/example/itest/src/test/kotlin/spin/KotlinJacksonDataFormatConfigurator.kt b/example/itest/src/test/kotlin/spin/KotlinJacksonDataFormatConfigurator.kt new file mode 100644 index 00000000..7f7c0704 --- /dev/null +++ b/example/itest/src/test/kotlin/spin/KotlinJacksonDataFormatConfigurator.kt @@ -0,0 +1,17 @@ +package io.holunda.camunda.bpm.data.spin + +import com.fasterxml.jackson.databind.SerializationFeature +import com.fasterxml.jackson.module.kotlin.KotlinModule +import org.camunda.spin.impl.json.jackson.format.JacksonJsonDataFormat +import org.camunda.spin.spi.DataFormatConfigurator + +class KotlinJacksonDataFormatConfigurator : DataFormatConfigurator { + + override fun configure(dataFormat: JacksonJsonDataFormat) { + val objectMapper = dataFormat.objectMapper + objectMapper.registerModule(KotlinModule()) + objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false) + } + + override fun getDataFormatClass(): Class = JacksonJsonDataFormat::class.java +} diff --git a/example/itest/src/test/resources/META-INF/processes.xml b/example/itest/src/test/resources/META-INF/processes.xml new file mode 100644 index 00000000..e69de29b diff --git a/example/itest/src/test/resources/META-INF/services/org.camunda.spin.spi.DataFormatConfigurator b/example/itest/src/test/resources/META-INF/services/org.camunda.spin.spi.DataFormatConfigurator new file mode 100644 index 00000000..3b35019e --- /dev/null +++ b/example/itest/src/test/resources/META-INF/services/org.camunda.spin.spi.DataFormatConfigurator @@ -0,0 +1 @@ +io.holunda.camunda.bpm.data.spin.KotlinJacksonDataFormatConfigurator diff --git a/example/itest/src/test/resources/application-itest.yml b/example/itest/src/test/resources/application-itest.yml new file mode 100644 index 00000000..1a7be716 --- /dev/null +++ b/example/itest/src/test/resources/application-itest.yml @@ -0,0 +1,10 @@ +spring: + application: + name: ITest + jpa: + open-in-view: true +camunda: + bpm: + default-serialization-format: application/json +server: + port: 8084 diff --git a/example/example-kotlin/src/test/resources/banner.txt b/example/itest/src/test/resources/banner.txt similarity index 100% rename from example/example-kotlin/src/test/resources/banner.txt rename to example/itest/src/test/resources/banner.txt diff --git a/example/example-kotlin/src/test/resources/logback.xml b/example/itest/src/test/resources/logback.xml similarity index 100% rename from example/example-kotlin/src/test/resources/logback.xml rename to example/itest/src/test/resources/logback.xml diff --git a/example/pom.xml b/example/pom.xml index 0719cf32..f41ff694 100644 --- a/example/pom.xml +++ b/example/pom.xml @@ -6,7 +6,7 @@ io.holunda.data camunda-bpm-data-parent - 1.0.1 + 1.0.2 io.holunda.data.example @@ -18,7 +18,7 @@ true true true - true + false true @@ -26,6 +26,8 @@ example-java example-kotlin spin-type-detector + itest + coverage-report-aggregator @@ -109,6 +111,7 @@ ${jgiven.version} + verify report @@ -118,19 +121,6 @@ html - - org.jacoco - jacoco-maven-plugin - - - report-aggregate - verify - - report-aggregate - - - - diff --git a/example/spin-type-detector/pom.xml b/example/spin-type-detector/pom.xml index bab9c776..f0de0f88 100644 --- a/example/spin-type-detector/pom.xml +++ b/example/spin-type-detector/pom.xml @@ -6,7 +6,7 @@ io.holunda.data.example camunda-bpm-data-example-parent - 1.0.1 + 1.0.2 camunda-bpm-data-spin-type-detector diff --git a/extension/core/pom.xml b/extension/core/pom.xml index 74fc5756..ed89fcc3 100644 --- a/extension/core/pom.xml +++ b/extension/core/pom.xml @@ -6,7 +6,7 @@ io.holunda.data camunda-bpm-data-parent - 1.0.1 + 1.0.2 ../.. diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/CamundaBpmData.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/CamundaBpmData.java index cd74e061..28496a60 100644 --- a/extension/core/src/main/java/io/holunda/camunda/bpm/data/CamundaBpmData.java +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/CamundaBpmData.java @@ -6,23 +6,31 @@ import io.holunda.camunda.bpm.data.factory.MapVariableFactory; import io.holunda.camunda.bpm.data.factory.SetVariableFactory; import io.holunda.camunda.bpm.data.factory.VariableFactory; +import io.holunda.camunda.bpm.data.reader.CaseServiceVariableReader; import io.holunda.camunda.bpm.data.reader.RuntimeServiceVariableReader; import io.holunda.camunda.bpm.data.reader.TaskServiceVariableReader; import io.holunda.camunda.bpm.data.reader.VariableMapReader; import io.holunda.camunda.bpm.data.reader.VariableReader; import io.holunda.camunda.bpm.data.reader.VariableScopeReader; -import io.holunda.camunda.bpm.data.writer.*; - -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Set; +import io.holunda.camunda.bpm.data.writer.CaseServiceVariableWriter; +import io.holunda.camunda.bpm.data.writer.GlobalVariableWriter; +import io.holunda.camunda.bpm.data.writer.RuntimeServiceVariableWriter; +import io.holunda.camunda.bpm.data.writer.TaskServiceVariableWriter; +import io.holunda.camunda.bpm.data.writer.VariableMapWriter; +import io.holunda.camunda.bpm.data.writer.VariableScopeWriter; +import io.holunda.camunda.bpm.data.writer.VariableWriter; +import org.camunda.bpm.engine.CaseService; import org.camunda.bpm.engine.RuntimeService; import org.camunda.bpm.engine.TaskService; import org.camunda.bpm.engine.delegate.VariableScope; import org.camunda.bpm.engine.variable.VariableMap; import org.jetbrains.annotations.NotNull; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Set; + /** * Provides a collection of factory methods for creating variable factories. */ @@ -221,6 +229,18 @@ public static VariableWriter writer(TaskService taskService, String taskId) { return new TaskServiceVariableWriter(taskService, taskId); } + /** + * Creates a new caseExecution variable writer. + * + * @param caseService task service to use. + * @param caseExecutionId caseExecution id. + * @return new writer working on provided user task. + */ + @NotNull + public static VariableWriter writer(CaseService caseService, String caseExecutionId) { + return new CaseServiceVariableWriter(caseService, caseExecutionId); + } + /** * Creates a new task variable reader. * @@ -244,6 +264,17 @@ public static VariableReader reader(RuntimeService runtimeService, String execut return new RuntimeServiceVariableReader(runtimeService, executionId); } + /** + * Creates a new execution variable reader. + * + * @param caseService the Camunda case service + * @param caseExecutionId the caseExecutionId to use + * @return variable reader working on execution + */ + public static VariableReader reader(CaseService caseService, String caseExecutionId) { + return new CaseServiceVariableReader(caseService, caseExecutionId); + } + /** * Creates a new variableScope variable reader. * diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/basic/ReadWriteAdapterCaseService.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/basic/ReadWriteAdapterCaseService.java new file mode 100644 index 00000000..6132bf0e --- /dev/null +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/basic/ReadWriteAdapterCaseService.java @@ -0,0 +1,60 @@ +package io.holunda.camunda.bpm.data.adapter.basic; + +import org.camunda.bpm.engine.CaseService; + +import java.util.Optional; + +/** + * Read write adapter for case service access. + * + * @param type of value. + */ +public class ReadWriteAdapterCaseService extends AbstractBasicReadWriteAdapter { + + private final CaseService caseService; + private final String caseExecutionId; + + /** + * Constructs the adapter. + * + * @param caseService case service to use. + * @param caseExecutionId id of the execution to read from and write to. + * @param variableName name of the variable. + * @param clazz class of the variable. + */ + public ReadWriteAdapterCaseService(CaseService caseService, String caseExecutionId, String variableName, Class clazz) { + super(variableName, clazz); + this.caseService = caseService; + this.caseExecutionId = caseExecutionId; + } + + @Override + public Optional getOptional() { + return Optional.ofNullable(getOrNull(caseService.getVariable(caseExecutionId, variableName))); + } + + @Override + public void set(T value, boolean isTransient) { + caseService.setVariable(caseExecutionId, variableName, getTypedValue(value, isTransient)); + } + + @Override + public Optional getLocalOptional() { + return Optional.ofNullable(getOrNull(caseService.getVariableLocal(caseExecutionId, variableName))); + } + + @Override + public void setLocal(T value, boolean isTransient) { + caseService.setVariableLocal(caseExecutionId, variableName, getTypedValue(value, isTransient)); + } + + @Override + public void remove() { + caseService.removeVariable(caseExecutionId, variableName); + } + + @Override + public void removeLocal() { + caseService.removeVariableLocal(caseExecutionId, variableName); + } +} diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/basic/ReadWriteAdapterVariableScope.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/basic/ReadWriteAdapterVariableScope.java index c8315f6f..90b69daa 100644 --- a/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/basic/ReadWriteAdapterVariableScope.java +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/basic/ReadWriteAdapterVariableScope.java @@ -54,4 +54,5 @@ public void remove() { public void removeLocal() { variableScope.removeVariableLocal(variableName); } + } diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/list/ListReadWriteAdapterCaseService.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/list/ListReadWriteAdapterCaseService.java new file mode 100644 index 00000000..cb32ec7c --- /dev/null +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/list/ListReadWriteAdapterCaseService.java @@ -0,0 +1,61 @@ +package io.holunda.camunda.bpm.data.adapter.list; + +import org.camunda.bpm.engine.CaseService; + +import java.util.List; +import java.util.Optional; + +/** + * Read write adapter for case service access. + * + * @param type of value. + */ +public class ListReadWriteAdapterCaseService extends AbstractListReadWriteAdapter { + + private final CaseService caseService; + private final String caseExecutionId; + + /** + * Constructs the adapter. + * + * @param caseService case service to use. + * @param caseExecutionId id of the execution to read from and write to. + * @param variableName name of the variable. + * @param memberClazz class of the variable. + */ + public ListReadWriteAdapterCaseService(CaseService caseService, String caseExecutionId, String variableName, Class memberClazz) { + super(variableName, memberClazz); + this.caseService = caseService; + this.caseExecutionId = caseExecutionId; + } + + @Override + public Optional> getOptional() { + return Optional.ofNullable(getOrNull(caseService.getVariable(caseExecutionId, variableName))); + } + + @Override + public void set(List value, boolean isTransient) { + caseService.setVariable(caseExecutionId, variableName, getTypedValue(value, isTransient)); + } + + @Override + public Optional> getLocalOptional() { + return Optional.ofNullable(getOrNull(caseService.getVariableLocal(caseExecutionId, variableName))); + } + + @Override + public void setLocal(List value, boolean isTransient) { + caseService.setVariableLocal(caseExecutionId, variableName, getTypedValue(value, isTransient)); + } + + @Override + public void remove() { + caseService.removeVariable(caseExecutionId, variableName); + } + + @Override + public void removeLocal() { + caseService.removeVariableLocal(caseExecutionId, variableName); + } +} diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/map/MapReadWriteAdapterCaseService.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/map/MapReadWriteAdapterCaseService.java new file mode 100644 index 00000000..821b372b --- /dev/null +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/map/MapReadWriteAdapterCaseService.java @@ -0,0 +1,64 @@ +package io.holunda.camunda.bpm.data.adapter.map; + +import org.camunda.bpm.engine.CaseService; + +import java.util.Map; +import java.util.Optional; + +/** + * Read write adapter for case service access. + * + * @param type of key. + * @param type of value. + */ +public class MapReadWriteAdapterCaseService extends AbstractMapReadWriteAdapter { + + private final CaseService caseService; + private final String caseExecutionId; + + /** + * Constructs the adapter. + * + * @param caseService case service to use. + * @param caseExecutionId id of the execution to read from and write to. + * @param variableName name of the variable. + * @param keyClazz class of the key variable. + * @param valueClazz class of the value variable. + */ + public MapReadWriteAdapterCaseService( + CaseService caseService, String caseExecutionId, String variableName, Class keyClazz, Class valueClazz) { + super(variableName, keyClazz, valueClazz); + this.caseService = caseService; + this.caseExecutionId = caseExecutionId; + } + + @Override + public Optional> getOptional() { + return Optional.ofNullable(getOrNull(caseService.getVariable(caseExecutionId, variableName))); + } + + @Override + public void set(Map value, boolean isTransient) { + caseService.setVariable(caseExecutionId, variableName, getTypedValue(value, isTransient)); + } + + @Override + public Optional> getLocalOptional() { + return Optional.ofNullable(getOrNull(caseService.getVariableLocal(caseExecutionId, variableName))); + } + + @Override + public void setLocal(Map value, boolean isTransient) { + caseService.setVariableLocal(caseExecutionId, variableName, getTypedValue(value, isTransient)); + } + + @Override + public void remove() { + caseService.removeVariable(caseExecutionId, variableName); + } + + @Override + public void removeLocal() { + caseService.removeVariableLocal(caseExecutionId, variableName); + } +} diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/set/SetReadWriteAdapterCaseService.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/set/SetReadWriteAdapterCaseService.java new file mode 100644 index 00000000..dc806425 --- /dev/null +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/adapter/set/SetReadWriteAdapterCaseService.java @@ -0,0 +1,62 @@ +package io.holunda.camunda.bpm.data.adapter.set; + +import org.camunda.bpm.engine.CaseService; + +import java.util.Optional; +import java.util.Set; + +/** + * Read write adapter for runtime service access. + * + * @param type of value. + */ +public class SetReadWriteAdapterCaseService extends AbstractSetReadWriteAdapter { + + private final CaseService caseService; + private final String caseExecutionId; + + /** + * Constructs the adapter. + * + * @param caseService case service to use. + * @param caseExecutionId id of the execution to read from and write to. + * @param variableName name of the variable. + * @param memberClazz class of the variable. + */ + public SetReadWriteAdapterCaseService(CaseService caseService, String caseExecutionId, String variableName, Class memberClazz) { + super(variableName, memberClazz); + this.caseService = caseService; + this.caseExecutionId = caseExecutionId; + } + + @Override + public Optional> getOptional() { + return Optional.ofNullable(getOrNull(caseService.getVariable(caseExecutionId, variableName))); + } + + @Override + public void set(Set value, boolean isTransient) { + caseService.setVariable(caseExecutionId, variableName, getTypedValue(value, isTransient)); + } + + @Override + public Optional> getLocalOptional() { + return Optional.ofNullable(getOrNull(caseService.getVariableLocal(caseExecutionId, variableName))); + } + + @Override + public void setLocal(Set value, boolean isTransient) { + caseService.setVariableLocal(caseExecutionId, variableName, getTypedValue(value, isTransient)); + } + + @Override + public void remove() { + caseService.removeVariable(caseExecutionId, variableName); + } + + @Override + public void removeLocal() { + caseService.removeVariableLocal(caseExecutionId, variableName); + } + +} diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/BasicVariableFactory.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/BasicVariableFactory.java index a7097f07..7c14f3e1 100644 --- a/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/BasicVariableFactory.java +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/BasicVariableFactory.java @@ -1,11 +1,13 @@ package io.holunda.camunda.bpm.data.factory; import io.holunda.camunda.bpm.data.adapter.ReadAdapter; +import io.holunda.camunda.bpm.data.adapter.WriteAdapter; +import io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterCaseService; import io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterRuntimeService; import io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterTaskService; import io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterVariableMap; import io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterVariableScope; -import io.holunda.camunda.bpm.data.adapter.WriteAdapter; +import org.camunda.bpm.engine.CaseService; import org.camunda.bpm.engine.RuntimeService; import org.camunda.bpm.engine.TaskService; import org.camunda.bpm.engine.delegate.VariableScope; @@ -78,6 +80,16 @@ public ReadAdapter from(TaskService taskService, String taskId) { return new ReadWriteAdapterTaskService<>(taskService, taskId, name, clazz); } + @Override + public WriteAdapter on(CaseService caseService, String caseExecutionId) { + return new ReadWriteAdapterCaseService<>(caseService, caseExecutionId, name, clazz); + } + + @Override + public ReadAdapter from(CaseService caseService, String caseExecutionId) { + return new ReadWriteAdapterCaseService<>(caseService, caseExecutionId, name, clazz); + } + /** * Creates a reusable adapter builder using a runtime service. * @@ -100,6 +112,17 @@ public BasicTaskServiceAdapterBuilder using(TaskService taskService) { return new BasicTaskServiceAdapterBuilder<>(this, taskService); } + /** + * Creates a reusable adapter builder using a case service. + * + * @param caseService case service to operate on. + * + * @return adapter builder. + */ + public BasicCaseServiceAdapterBuilder using(CaseService caseService) { + return new BasicCaseServiceAdapterBuilder<>(this, caseService); + } + @Override @NotNull public String getName() { @@ -160,6 +183,15 @@ public BasicRuntimeServiceAdapterBuilder(BasicVariableFactory basicVariableFa this.basicVariableFactory = basicVariableFactory; } + private ReadWriteAdapterRuntimeService readWriteAdapter(String executionId) { + return new ReadWriteAdapterRuntimeService<>( + runtimeService, + executionId, + basicVariableFactory.getName(), + basicVariableFactory.getVariableClass() + ); + } + /** * Creates a write adapter on execution. * @@ -168,7 +200,7 @@ public BasicRuntimeServiceAdapterBuilder(BasicVariableFactory basicVariableFa * @return write adapter */ public WriteAdapter on(String executionId) { - return new ReadWriteAdapterRuntimeService<>(runtimeService, executionId, basicVariableFactory.getName(), basicVariableFactory.getVariableClass()); + return readWriteAdapter(executionId); } /** @@ -179,7 +211,7 @@ public WriteAdapter on(String executionId) { * @return read adapter. */ public ReadAdapter from(String executionId) { - return new ReadWriteAdapterRuntimeService<>(runtimeService, executionId, basicVariableFactory.getName(), basicVariableFactory.getVariableClass()); + return readWriteAdapter(executionId); } } @@ -204,6 +236,15 @@ public BasicTaskServiceAdapterBuilder(BasicVariableFactory basicVariableFacto this.basicVariableFactory = basicVariableFactory; } + private ReadWriteAdapterTaskService readWriteAdapter(String taskId) { + return new ReadWriteAdapterTaskService<>( + taskService, + taskId, + basicVariableFactory.getName(), + basicVariableFactory.getVariableClass() + ); + } + /** * Creates a write adapter on task. * @@ -212,7 +253,7 @@ public BasicTaskServiceAdapterBuilder(BasicVariableFactory basicVariableFacto * @return write adapter */ public WriteAdapter on(String taskId) { - return new ReadWriteAdapterTaskService<>(taskService, taskId, basicVariableFactory.getName(), basicVariableFactory.getVariableClass()); + return readWriteAdapter(taskId); } /** @@ -223,10 +264,61 @@ public WriteAdapter on(String taskId) { * @return read adapter. */ public ReadAdapter from(String taskId) { - return new ReadWriteAdapterTaskService<>(taskService, taskId, basicVariableFactory.getName(), basicVariableFactory.getVariableClass()); + return readWriteAdapter(taskId); } - } + /** + * Creates a builder to encapsulate the case service access. + * + * @param type of builder. + */ + public static class BasicCaseServiceAdapterBuilder { + + private final CaseService caseService; + private final BasicVariableFactory basicVariableFactory; + + /** + * Constructs the builder. + * + * @param basicVariableFactory variable factory to use. + * @param caseService task service to build adapter with. + */ + public BasicCaseServiceAdapterBuilder(BasicVariableFactory basicVariableFactory, CaseService caseService) { + this.caseService = caseService; + this.basicVariableFactory = basicVariableFactory; + } + + private ReadWriteAdapterCaseService readWriteAdapter(String caseExecutionId) { + return new ReadWriteAdapterCaseService<>( + caseService, + caseExecutionId, + basicVariableFactory.getName(), + basicVariableFactory.getVariableClass() + ); + } + + /** + * Creates a write adapter on caseExecution. + * + * @param caseExecutionId id identifying caseExecution. + * + * @return write adapter + */ + public WriteAdapter on(String caseExecutionId) { + return readWriteAdapter(caseExecutionId); + } + + /** + * Creates a read adapter on caseExecution. + * + * @param caseExecutionId id identifying caseExecution. + * + * @return read adapter. + */ + public ReadAdapter from(String caseExecutionId) { + return readWriteAdapter(caseExecutionId); + } + } } diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/ListVariableFactory.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/ListVariableFactory.java index 4943ee85..d1729ec4 100644 --- a/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/ListVariableFactory.java +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/ListVariableFactory.java @@ -2,10 +2,12 @@ import io.holunda.camunda.bpm.data.adapter.ReadAdapter; import io.holunda.camunda.bpm.data.adapter.WriteAdapter; +import io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterCaseService; import io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterRuntimeService; import io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterTaskService; import io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterVariableMap; import io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterVariableScope; +import org.camunda.bpm.engine.CaseService; import org.camunda.bpm.engine.RuntimeService; import org.camunda.bpm.engine.TaskService; import org.camunda.bpm.engine.delegate.VariableScope; @@ -73,6 +75,16 @@ public ReadAdapter> from(TaskService taskService, String taskId) { return new ListReadWriteAdapterTaskService<>(taskService, taskId, name, memberClazz); } + @Override + public WriteAdapter> on(CaseService caseService, String caseExecutionId) { + return new ListReadWriteAdapterCaseService<>(caseService, caseExecutionId, name, memberClazz); + } + + @Override + public ReadAdapter> from(CaseService caseService, String caseExecutionId) { + return new ListReadWriteAdapterCaseService<>(caseService, caseExecutionId, name, memberClazz); + } + @Override @NotNull public String getName() { @@ -84,7 +96,8 @@ public Class getMemberClass() { return memberClazz; } - @Override public boolean equals(Object o) { + @Override + public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) @@ -94,15 +107,16 @@ public Class getMemberClass() { memberClazz.equals(that.memberClazz); } - @Override public int hashCode() { + @Override + public int hashCode() { return Objects.hash(name, memberClazz); } @Override public String toString() { return "ListVariableFactory{" + - "name='" + name + '\'' + - ", memberClazz=" + memberClazz + - '}'; + "name='" + name + '\'' + + ", memberClazz=" + memberClazz + + '}'; } } diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/MapVariableFactory.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/MapVariableFactory.java index a9a53977..6decc378 100644 --- a/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/MapVariableFactory.java +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/MapVariableFactory.java @@ -2,10 +2,12 @@ import io.holunda.camunda.bpm.data.adapter.ReadAdapter; import io.holunda.camunda.bpm.data.adapter.WriteAdapter; +import io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterCaseService; import io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterRuntimeService; import io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterTaskService; import io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterVariableMap; import io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterVariableScope; +import org.camunda.bpm.engine.CaseService; import org.camunda.bpm.engine.RuntimeService; import org.camunda.bpm.engine.TaskService; import org.camunda.bpm.engine.delegate.VariableScope; @@ -78,6 +80,16 @@ public ReadAdapter> from(TaskService taskService, String taskId) { return new MapReadWriteAdapterTaskService<>(taskService, taskId, name, keyClazz, valueClazz); } + @Override + public WriteAdapter> on(CaseService caseService, String caseExecutionId) { + return new MapReadWriteAdapterCaseService<>(caseService, caseExecutionId, name, keyClazz, valueClazz); + } + + @Override + public ReadAdapter> from(CaseService caseService, String caseExecutionId) { + return new MapReadWriteAdapterCaseService<>(caseService, caseExecutionId, name, keyClazz, valueClazz); + } + @Override @NotNull public String getName() { @@ -104,7 +116,8 @@ public Class getValueClass() { return valueClazz; } - @Override public boolean equals(Object o) { + @Override + public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) @@ -115,16 +128,17 @@ public Class getValueClass() { valueClazz.equals(that.valueClazz); } - @Override public int hashCode() { + @Override + public int hashCode() { return Objects.hash(name, keyClazz, valueClazz); } @Override public String toString() { return "MapVariableFactory{" + - "name='" + name + '\'' + - ", keyClazz=" + keyClazz + - ", valueClazz=" + valueClazz + - '}'; + "name='" + name + '\'' + + ", keyClazz=" + keyClazz + + ", valueClazz=" + valueClazz + + '}'; } } diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/SetVariableFactory.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/SetVariableFactory.java index 0068548f..46c45c7d 100644 --- a/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/SetVariableFactory.java +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/SetVariableFactory.java @@ -2,10 +2,12 @@ import io.holunda.camunda.bpm.data.adapter.ReadAdapter; import io.holunda.camunda.bpm.data.adapter.WriteAdapter; +import io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterCaseService; import io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterRuntimeService; import io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterTaskService; import io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterVariableMap; import io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterVariableScope; +import org.camunda.bpm.engine.CaseService; import org.camunda.bpm.engine.RuntimeService; import org.camunda.bpm.engine.TaskService; import org.camunda.bpm.engine.delegate.VariableScope; @@ -73,6 +75,16 @@ public ReadAdapter> from(TaskService taskService, String taskId) { return new SetReadWriteAdapterTaskService<>(taskService, taskId, name, memberClazz); } + @Override + public WriteAdapter> on(CaseService caseService, String caseExecutionId) { + return new SetReadWriteAdapterCaseService<>(caseService, caseExecutionId, name, memberClazz); + } + + @Override + public ReadAdapter> from(CaseService caseService, String caseExecutionId) { + return new SetReadWriteAdapterCaseService<>(caseService, caseExecutionId, name, memberClazz); + } + @Override @NotNull public String getName() { diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/VariableFactory.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/VariableFactory.java index eb8a9642..1a44fd61 100644 --- a/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/VariableFactory.java +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/factory/VariableFactory.java @@ -2,6 +2,7 @@ import io.holunda.camunda.bpm.data.adapter.ReadAdapter; import io.holunda.camunda.bpm.data.adapter.WriteAdapter; +import org.camunda.bpm.engine.CaseService; import org.camunda.bpm.engine.RuntimeService; import org.camunda.bpm.engine.TaskService; import org.camunda.bpm.engine.delegate.VariableScope; @@ -13,86 +14,96 @@ * @param type of the factory. */ public interface VariableFactory { - /** - * Creates a write adapter for variable scope. - * - * @param variableScope underlying scope to work on. - * - * @return write adapter. - */ - WriteAdapter on(VariableScope variableScope); + /** + * Creates a write adapter for variable scope. + * + * @param variableScope underlying scope to work on. + * @return write adapter. + */ + WriteAdapter on(VariableScope variableScope); - /** - * Creates a read adapter on variable scope. - * - * @param variableScope underlying scope to work on. - * - * @return read adapter. - */ - ReadAdapter from(VariableScope variableScope); + /** + * Creates a read adapter on variable scope. + * + * @param variableScope underlying scope to work on. + * @return read adapter. + */ + ReadAdapter from(VariableScope variableScope); - /** - * Creates a write adapter for variable map. - * - * @param variableMap underlying scope to work on. - * - * @return write adapter. - */ - WriteAdapter on(VariableMap variableMap); + /** + * Creates a write adapter for variable map. + * + * @param variableMap underlying scope to work on. + * @return write adapter. + */ + WriteAdapter on(VariableMap variableMap); - /** - * Creates a read adapter on variable scope. - * - * @param variableMap underlying map to work on. - * - * @return read adapter. - */ - ReadAdapter from(VariableMap variableMap); + /** + * Creates a read adapter on variable scope. + * + * @param variableMap underlying map to work on. + * @return read adapter. + */ + ReadAdapter from(VariableMap variableMap); - /** - * Creates a write adapter on execution. - * - * @param runtimeService underlying runtime service to work on. - * @param executionId id identifying execution. - * - * @return write adapter - */ - WriteAdapter on(RuntimeService runtimeService, String executionId); + /** + * Creates a write adapter on execution. + * + * @param runtimeService underlying runtime service to work on. + * @param executionId id identifying execution. + * @return write adapter + */ + WriteAdapter on(RuntimeService runtimeService, String executionId); - /** - * Creates a read adapter on execution. - * - * @param runtimeService underlying runtime service to work on. - * @param executionId id identifying execution. - * - * @return read adapter. - */ - ReadAdapter from(RuntimeService runtimeService, String executionId); + /** + * Creates a read adapter on execution. + * + * @param runtimeService underlying runtime service to work on. + * @param executionId id identifying execution. + * @return read adapter. + */ + ReadAdapter from(RuntimeService runtimeService, String executionId); - /** - * Creates a write adapter on task. - * - * @param taskService underlying runtime service to work on. - * @param taskId id identifying task. - * - * @return write adapter - */ - WriteAdapter on(TaskService taskService, String taskId); + /** + * Creates a write adapter on task. + * + * @param taskService underlying task service to work on. + * @param taskId id identifying task. + * @return write adapter + */ + WriteAdapter on(TaskService taskService, String taskId); - /** - * Creates a read adapter on task. - * - * @param taskService underlying runtime service to work on. - * @param taskId id identifying task. - * - * @return read adapter. - */ - ReadAdapter from(TaskService taskService, String taskId); + /** + * Creates a read adapter on task. + * + * @param taskService underlying task service to work on. + * @param taskId id identifying task. + * @return read adapter. + */ + ReadAdapter from(TaskService taskService, String taskId); - /** - * Retrieves the variable name. - * - * @return name of the variable. - */ - String getName(); + /** + * Creates a write adapter on task. + * + * @param caseService underlying case service to work on. + * @param caseExecutionId id identifying case execution. + * @return write adapter + */ + WriteAdapter on(CaseService caseService, String caseExecutionId); + + /** + * Creates a read adapter on task. + * + * @param caseService underlying case service to work on. + * @param caseExecutionId id identifying case execution. + * @return read adapter. + */ + ReadAdapter from(CaseService caseService, String caseExecutionId); + + /** + * Retrieves the variable name. + * + * @return name of the variable. + */ + String getName(); } diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/reader/CaseServiceVariableReader.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/reader/CaseServiceVariableReader.java new file mode 100644 index 00000000..79fbf84b --- /dev/null +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/reader/CaseServiceVariableReader.java @@ -0,0 +1,69 @@ +package io.holunda.camunda.bpm.data.reader; + +import io.holunda.camunda.bpm.data.factory.VariableFactory; +import org.camunda.bpm.engine.CaseService; +import org.jetbrains.annotations.NotNull; + +import java.util.Objects; +import java.util.Optional; + +/** + * Allows reading multiple variable values from {@link CaseService#getVariable(String, String)}. + */ +public class CaseServiceVariableReader implements VariableReader { + + private final CaseService caseService; + private final String caseExecutionId; + + /** + * Constructs a reader operating on execution. + * @param caseService runtime service to use. + * @param caseExecutionId execution id. + */ + public CaseServiceVariableReader(CaseService caseService, String caseExecutionId) { + this.caseService = caseService; + this.caseExecutionId = caseExecutionId; + } + + @NotNull + @Override + public Optional getOptional(VariableFactory variableFactory) { + return variableFactory.from(caseService, caseExecutionId).getOptional(); + } + + @NotNull + @Override + public T get(VariableFactory variableFactory) { + return variableFactory.from(caseService, caseExecutionId).get(); + } + + @NotNull + @Override + public T getLocal(VariableFactory variableFactory) { + return variableFactory.from(caseService, caseExecutionId).getLocal(); + } + + @NotNull + @Override + public Optional getLocalOptional(VariableFactory variableFactory) { + return variableFactory.from(caseService, caseExecutionId).getLocalOptional(); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + CaseServiceVariableReader that = (CaseServiceVariableReader) o; + + if (!Objects.equals(caseService, that.caseService)) return false; + return Objects.equals(caseExecutionId, that.caseExecutionId); + } + + @Override + public int hashCode() { + int result = caseService != null ? caseService.hashCode() : 0; + result = 31 * result + (caseExecutionId != null ? caseExecutionId.hashCode() : 0); + return result; + } +} diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/writer/CaseServiceVariableWriter.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/writer/CaseServiceVariableWriter.java new file mode 100644 index 00000000..8d5844de --- /dev/null +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/writer/CaseServiceVariableWriter.java @@ -0,0 +1,95 @@ +package io.holunda.camunda.bpm.data.writer; + +import io.holunda.camunda.bpm.data.factory.VariableFactory; +import org.camunda.bpm.engine.CaseService; +import org.camunda.bpm.engine.variable.VariableMap; +import org.jetbrains.annotations.NotNull; + +import java.util.Objects; + +/** + * Process execution builder allowing for fluent variable setting. + */ +public class CaseServiceVariableWriter implements VariableWriter { + + private final CaseService caseService; + private final String caseExecutionId; + + /** + * Creates a writer working on process execution. + */ + public CaseServiceVariableWriter(CaseService caseService, String caseExecutionId) { + this.caseService = caseService; + this.caseExecutionId = caseExecutionId; + } + + @Override + @NotNull + public VariableMap variables() { + return this.caseService.getVariablesTyped(this.caseExecutionId); + } + + @Override + @NotNull + public VariableMap variablesLocal() { + return this.caseService.getVariablesLocalTyped(this.caseExecutionId); + } + + @Override + @NotNull + public CaseServiceVariableWriter set(VariableFactory factory, T value) { + return this.set(factory, value, false); + } + + @Override + @NotNull + public CaseServiceVariableWriter set(VariableFactory factory, T value, boolean isTransient) { + factory.on(this.caseService, this.caseExecutionId).set(value, isTransient); + return this; + } + + @Override + @NotNull + public CaseServiceVariableWriter setLocal(VariableFactory factory, T value) { + return this.setLocal(factory, value, false); + } + + @Override + @NotNull + public CaseServiceVariableWriter setLocal(VariableFactory factory, T value, boolean isTransient) { + factory.on(this.caseService, this.caseExecutionId).setLocal(value, isTransient); + return this; + } + + @Override + @NotNull + public CaseServiceVariableWriter remove(VariableFactory factory) { + factory.on(this.caseService, this.caseExecutionId).remove(); + return this; + } + + @Override + @NotNull + public CaseServiceVariableWriter removeLocal(VariableFactory factory) { + factory.on(this.caseService, this.caseExecutionId).removeLocal(); + return this; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + CaseServiceVariableWriter that = (CaseServiceVariableWriter) o; + + if (!Objects.equals(caseService, that.caseService)) return false; + return Objects.equals(caseExecutionId, that.caseExecutionId); + } + + @Override + public int hashCode() { + int result = caseService != null ? caseService.hashCode() : 0; + result = 31 * result + (caseExecutionId != null ? caseExecutionId.hashCode() : 0); + return result; + } +} diff --git a/extension/core/src/main/java/io/holunda/camunda/bpm/data/writer/VariableWriter.java b/extension/core/src/main/java/io/holunda/camunda/bpm/data/writer/VariableWriter.java index 7a3f8b35..8faa5018 100644 --- a/extension/core/src/main/java/io/holunda/camunda/bpm/data/writer/VariableWriter.java +++ b/extension/core/src/main/java/io/holunda/camunda/bpm/data/writer/VariableWriter.java @@ -1,9 +1,6 @@ package io.holunda.camunda.bpm.data.writer; import io.holunda.camunda.bpm.data.adapter.WriteAdapter; -import io.holunda.camunda.bpm.data.factory.VariableFactory; -import org.camunda.bpm.engine.variable.VariableMap; -import org.jetbrains.annotations.NotNull; /** * Inverting calls to {@link WriteAdapter}. diff --git a/extension/core/src/test/java/io/holunda/camunda/bpm/data/CamundaBpmDataTest.java b/extension/core/src/test/java/io/holunda/camunda/bpm/data/CamundaBpmDataTest.java index 282c28c4..dd18a9cd 100644 --- a/extension/core/src/test/java/io/holunda/camunda/bpm/data/CamundaBpmDataTest.java +++ b/extension/core/src/test/java/io/holunda/camunda/bpm/data/CamundaBpmDataTest.java @@ -5,6 +5,7 @@ import io.holunda.camunda.bpm.data.factory.*; import io.holunda.camunda.bpm.data.reader.*; import io.holunda.camunda.bpm.data.writer.*; +import org.camunda.bpm.engine.CaseService; import org.camunda.bpm.engine.RuntimeService; import org.camunda.bpm.engine.TaskService; import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake; @@ -25,6 +26,7 @@ public class CamundaBpmDataTest { private final String VAR_NAME = "foo"; private final RuntimeService runtimeService = mock(RuntimeService.class); private final TaskService taskService = mock(TaskService.class); + private final CaseService caseService = mock(CaseService.class); @Before @@ -34,6 +36,10 @@ public void setupStubs() { when(taskService.getVariablesLocalTyped(any())).thenReturn(createVariables()); when(taskService.getVariablesTyped(any())).thenReturn(createVariables()); + + when(caseService.getVariablesLocalTyped(any())).thenReturn(createVariables()); + when(caseService.getVariablesTyped(any())).thenReturn(createVariables()); + } @Test @@ -193,6 +199,19 @@ public void shouldCreateWriterTaskService() { assertThat(writer.variables()).isNotNull(); } + + @Test + public void shouldCreateWriterCaseService() { + + VariableWriter writer = writer(caseService, "4711"); + VariableWriter writer2 = writer(caseService, "4711"); + assertThat(writer).isNotSameAs(writer2); + assertThat(writer).isEqualTo(writer2); + assertThat(writer).isInstanceOf(CaseServiceVariableWriter.class); + assertThat(writer.variablesLocal()).isNotNull(); + assertThat(writer.variables()).isNotNull(); + } + @Test public void shouldCreateWriterVariableScope() { diff --git a/extension/core/src/test/java/io/holunda/camunda/bpm/data/factory/BasicVariableFactoryTest.java b/extension/core/src/test/java/io/holunda/camunda/bpm/data/factory/BasicVariableFactoryTest.java new file mode 100644 index 00000000..2a39f563 --- /dev/null +++ b/extension/core/src/test/java/io/holunda/camunda/bpm/data/factory/BasicVariableFactoryTest.java @@ -0,0 +1,106 @@ +package io.holunda.camunda.bpm.data.factory; + +import io.holunda.camunda.bpm.data.CamundaBpmData; +import io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterCaseService; +import io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterRuntimeService; +import io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterTaskService; +import io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterVariableMap; +import io.holunda.camunda.bpm.data.adapter.basic.ReadWriteAdapterVariableScope; +import org.camunda.bpm.engine.CaseService; +import org.camunda.bpm.engine.RuntimeService; +import org.camunda.bpm.engine.TaskService; +import org.camunda.bpm.engine.delegate.DelegateExecution; +import org.camunda.bpm.engine.variable.VariableMap; +import org.junit.Test; + +import java.util.UUID; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; + +public class BasicVariableFactoryTest { + + private final BasicVariableFactory variableFactory = new BasicVariableFactory<>("string", String.class); + + @Test + public void shouldHaveNameAndVariableClass() { + assertThat(variableFactory.getName()).isEqualTo("string"); + assertThat(variableFactory.getVariableClass()).isEqualTo(String.class); + } + + @Test + public void shouldHaveCorrectHashCodeAndEquals() { + VariableFactory foo = CamundaBpmData.stringVariable("foo"); + + assertThat(variableFactory).isEqualTo(variableFactory); + assertThat(variableFactory.hashCode()).isEqualTo(variableFactory.hashCode()); + + + assertThat(variableFactory).isNotEqualTo(foo); + assertThat(variableFactory.hashCode()).isNotEqualTo(foo.hashCode()); + } + + @Test + public void shouldReturnAdapterForDelegateExecution() { + DelegateExecution delegateExecution = mock(DelegateExecution.class); + + assertThat(variableFactory.on(delegateExecution)).isInstanceOf(ReadWriteAdapterVariableScope.class); + assertThat(variableFactory.from(delegateExecution)).isInstanceOf(ReadWriteAdapterVariableScope.class); + } + + @Test + public void shouldReturnAdapterForVariableMap() { + VariableMap variableMap = mock(VariableMap.class); + + assertThat(variableFactory.on(variableMap)).isInstanceOf(ReadWriteAdapterVariableMap.class); + assertThat(variableFactory.from(variableMap)).isInstanceOf(ReadWriteAdapterVariableMap.class); + } + + @Test + public void shouldReturnAdapterForRuntimeService() { + RuntimeService runtimeService = mock(RuntimeService.class); + String executionId = UUID.randomUUID().toString(); + + assertThat(variableFactory.on(runtimeService, executionId)).isInstanceOf(ReadWriteAdapterRuntimeService.class); + assertThat(variableFactory.from(runtimeService, executionId)).isInstanceOf(ReadWriteAdapterRuntimeService.class); + } + + @Test + public void shouldReturnAdapterForTaskService() { + TaskService taskService = mock(TaskService.class); + String taskId = UUID.randomUUID().toString(); + + assertThat(variableFactory.on(taskService, taskId)).isInstanceOf(ReadWriteAdapterTaskService.class); + assertThat(variableFactory.from(taskService, taskId)).isInstanceOf(ReadWriteAdapterTaskService.class); + } + + @Test + public void shouldReturnAdapterForCaseService() { + CaseService caseService = mock(CaseService.class); + String caseExecutionId = UUID.randomUUID().toString(); + + assertThat(variableFactory.on(caseService, caseExecutionId)).isInstanceOf(ReadWriteAdapterCaseService.class); + assertThat(variableFactory.from(caseService, caseExecutionId)).isInstanceOf(ReadWriteAdapterCaseService.class); + } + + @Test + public void shouldReturnAdapterBuilderForRuntimeService() { + RuntimeService runtimeService = mock(RuntimeService.class); + + assertThat(variableFactory.using(runtimeService)).isInstanceOf(BasicVariableFactory.BasicRuntimeServiceAdapterBuilder.class); + } + + @Test + public void shouldReturnAdapterBuilderForTaskService() { + TaskService taskService = mock(TaskService.class); + + assertThat(variableFactory.using(taskService)).isInstanceOf(BasicVariableFactory.BasicTaskServiceAdapterBuilder.class); + } + + @Test + public void shouldReturnAdapterBuilderForCaseService() { + CaseService caseService = mock(CaseService.class); + + assertThat(variableFactory.using(caseService)).isInstanceOf(BasicVariableFactory.BasicCaseServiceAdapterBuilder.class); + } +} diff --git a/extension/core/src/test/java/io/holunda/camunda/bpm/data/factory/ListVariableFactoryTest.java b/extension/core/src/test/java/io/holunda/camunda/bpm/data/factory/ListVariableFactoryTest.java new file mode 100644 index 00000000..ce0de0fa --- /dev/null +++ b/extension/core/src/test/java/io/holunda/camunda/bpm/data/factory/ListVariableFactoryTest.java @@ -0,0 +1,87 @@ +package io.holunda.camunda.bpm.data.factory; + +import io.holunda.camunda.bpm.data.CamundaBpmData; +import io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterCaseService; +import io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterRuntimeService; +import io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterTaskService; +import io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterVariableMap; +import io.holunda.camunda.bpm.data.adapter.list.ListReadWriteAdapterVariableScope; +import org.camunda.bpm.engine.CaseService; +import org.camunda.bpm.engine.RuntimeService; +import org.camunda.bpm.engine.TaskService; +import org.camunda.bpm.engine.delegate.DelegateExecution; +import org.camunda.bpm.engine.variable.VariableMap; +import org.junit.Test; + +import java.util.List; +import java.util.UUID; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; + +public class ListVariableFactoryTest { + + private final ListVariableFactory variableFactory = new ListVariableFactory<>("string", String.class); + + @Test + public void shouldHaveNameAndVariableClass() { + assertThat(variableFactory.getName()).isEqualTo("string"); + assertThat(variableFactory.getMemberClass()).isEqualTo(String.class); + } + + @Test + public void shouldHaveCorrectHashCodeAndEquals() { + VariableFactory> foo = CamundaBpmData.listVariable("foo", String.class); + + assertThat(variableFactory).isEqualTo(variableFactory); + assertThat(variableFactory.hashCode()).isEqualTo(variableFactory.hashCode()); + + + assertThat(variableFactory).isNotEqualTo(foo); + assertThat(variableFactory.hashCode()).isNotEqualTo(foo.hashCode()); + } + + @Test + public void shouldReturnAdapterForDelegateExecution() { + DelegateExecution delegateExecution = mock(DelegateExecution.class); + + assertThat(variableFactory.on(delegateExecution)).isInstanceOf(ListReadWriteAdapterVariableScope.class); + assertThat(variableFactory.from(delegateExecution)).isInstanceOf(ListReadWriteAdapterVariableScope.class); + } + + @Test + public void shouldReturnAdapterForVariableMap() { + VariableMap variableMap = mock(VariableMap.class); + + assertThat(variableFactory.on(variableMap)).isInstanceOf(ListReadWriteAdapterVariableMap.class); + assertThat(variableFactory.from(variableMap)).isInstanceOf(ListReadWriteAdapterVariableMap.class); + } + + @Test + public void shouldReturnAdapterForRuntimeService() { + RuntimeService runtimeService = mock(RuntimeService.class); + String executionId = UUID.randomUUID().toString(); + + assertThat(variableFactory.on(runtimeService, executionId)).isInstanceOf(ListReadWriteAdapterRuntimeService.class); + assertThat(variableFactory.from(runtimeService, executionId)).isInstanceOf(ListReadWriteAdapterRuntimeService.class); + } + + @Test + public void shouldReturnAdapterForTaskService() { + TaskService taskService = mock(TaskService.class); + String taskId = UUID.randomUUID().toString(); + + assertThat(variableFactory.on(taskService, taskId)).isInstanceOf(ListReadWriteAdapterTaskService.class); + assertThat(variableFactory.from(taskService, taskId)).isInstanceOf(ListReadWriteAdapterTaskService.class); + } + + @Test + public void shouldReturnAdapterForCaseService() { + CaseService caseService = mock(CaseService.class); + String caseExecutionId = UUID.randomUUID().toString(); + + assertThat(variableFactory.on(caseService, caseExecutionId)).isInstanceOf(ListReadWriteAdapterCaseService.class); + assertThat(variableFactory.from(caseService, caseExecutionId)).isInstanceOf(ListReadWriteAdapterCaseService.class); + } + +} diff --git a/extension/core/src/test/java/io/holunda/camunda/bpm/data/factory/MapVariableFactoryTest.java b/extension/core/src/test/java/io/holunda/camunda/bpm/data/factory/MapVariableFactoryTest.java new file mode 100644 index 00000000..8091858b --- /dev/null +++ b/extension/core/src/test/java/io/holunda/camunda/bpm/data/factory/MapVariableFactoryTest.java @@ -0,0 +1,87 @@ +package io.holunda.camunda.bpm.data.factory; + +import io.holunda.camunda.bpm.data.CamundaBpmData; +import io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterCaseService; +import io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterRuntimeService; +import io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterTaskService; +import io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterVariableMap; +import io.holunda.camunda.bpm.data.adapter.map.MapReadWriteAdapterVariableScope; +import org.camunda.bpm.engine.CaseService; +import org.camunda.bpm.engine.RuntimeService; +import org.camunda.bpm.engine.TaskService; +import org.camunda.bpm.engine.delegate.DelegateExecution; +import org.camunda.bpm.engine.variable.VariableMap; +import org.junit.Test; + +import java.util.Map; +import java.util.UUID; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; + +public class MapVariableFactoryTest { + + private final MapVariableFactory variableFactory = new MapVariableFactory<>("string", String.class, Integer.class); + + @Test + public void shouldHaveNameAndVariableClass() { + assertThat(variableFactory.getName()).isEqualTo("string"); + assertThat(variableFactory.getKeyClass()).isEqualTo(String.class); + assertThat(variableFactory.getValueClass()).isEqualTo(Integer.class); + } + + @Test + public void shouldHaveCorrectHashCodeAndEquals() { + VariableFactory> foo = CamundaBpmData.mapVariable("foo", String.class, Integer.class); + + assertThat(variableFactory).isEqualTo(variableFactory); + assertThat(variableFactory.hashCode()).isEqualTo(variableFactory.hashCode()); + + assertThat(variableFactory).isNotEqualTo(foo); + assertThat(variableFactory.hashCode()).isNotEqualTo(foo.hashCode()); + } + + @Test + public void shouldReturnAdapterForDelegateExecution() { + DelegateExecution delegateExecution = mock(DelegateExecution.class); + + assertThat(variableFactory.on(delegateExecution)).isInstanceOf(MapReadWriteAdapterVariableScope.class); + assertThat(variableFactory.from(delegateExecution)).isInstanceOf(MapReadWriteAdapterVariableScope.class); + } + + @Test + public void shouldReturnAdapterForVariableMap() { + VariableMap variableMap = mock(VariableMap.class); + + assertThat(variableFactory.on(variableMap)).isInstanceOf(MapReadWriteAdapterVariableMap.class); + assertThat(variableFactory.from(variableMap)).isInstanceOf(MapReadWriteAdapterVariableMap.class); + } + + @Test + public void shouldReturnAdapterForRuntimeService() { + RuntimeService runtimeService = mock(RuntimeService.class); + String executionId = UUID.randomUUID().toString(); + + assertThat(variableFactory.on(runtimeService, executionId)).isInstanceOf(MapReadWriteAdapterRuntimeService.class); + assertThat(variableFactory.from(runtimeService, executionId)).isInstanceOf(MapReadWriteAdapterRuntimeService.class); + } + + @Test + public void shouldReturnAdapterForTaskService() { + TaskService taskService = mock(TaskService.class); + String taskId = UUID.randomUUID().toString(); + + assertThat(variableFactory.on(taskService, taskId)).isInstanceOf(MapReadWriteAdapterTaskService.class); + assertThat(variableFactory.from(taskService, taskId)).isInstanceOf(MapReadWriteAdapterTaskService.class); + } + + @Test + public void shouldReturnAdapterForCaseService() { + CaseService caseService = mock(CaseService.class); + String caseExecutionId = UUID.randomUUID().toString(); + + assertThat(variableFactory.on(caseService, caseExecutionId)).isInstanceOf(MapReadWriteAdapterCaseService.class); + assertThat(variableFactory.from(caseService, caseExecutionId)).isInstanceOf(MapReadWriteAdapterCaseService.class); + } + +} diff --git a/extension/core/src/test/java/io/holunda/camunda/bpm/data/factory/SetVariableFactoryTest.java b/extension/core/src/test/java/io/holunda/camunda/bpm/data/factory/SetVariableFactoryTest.java new file mode 100644 index 00000000..60e95696 --- /dev/null +++ b/extension/core/src/test/java/io/holunda/camunda/bpm/data/factory/SetVariableFactoryTest.java @@ -0,0 +1,87 @@ +package io.holunda.camunda.bpm.data.factory; + +import io.holunda.camunda.bpm.data.CamundaBpmData; +import io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterCaseService; +import io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterRuntimeService; +import io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterTaskService; +import io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterVariableMap; +import io.holunda.camunda.bpm.data.adapter.set.SetReadWriteAdapterVariableScope; +import org.camunda.bpm.engine.CaseService; +import org.camunda.bpm.engine.RuntimeService; +import org.camunda.bpm.engine.TaskService; +import org.camunda.bpm.engine.delegate.DelegateExecution; +import org.camunda.bpm.engine.variable.VariableMap; +import org.junit.Test; + +import java.util.Set; +import java.util.UUID; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; + +public class SetVariableFactoryTest { + + private final SetVariableFactory variableFactory = new SetVariableFactory<>("string", String.class); + + @Test + public void shouldHaveNameAndVariableClass() { + assertThat(variableFactory.getName()).isEqualTo("string"); + assertThat(variableFactory.getMemberClass()).isEqualTo(String.class); + } + + @Test + public void shouldHaveCorrectHashCodeAndEquals() { + VariableFactory> foo = CamundaBpmData.setVariable("foo", String.class); + + assertThat(variableFactory).isEqualTo(variableFactory); + assertThat(variableFactory.hashCode()).isEqualTo(variableFactory.hashCode()); + + + assertThat(variableFactory).isNotEqualTo(foo); + assertThat(variableFactory.hashCode()).isNotEqualTo(foo.hashCode()); + } + + @Test + public void shouldReturnAdapterForDelegateExecution() { + DelegateExecution delegateExecution = mock(DelegateExecution.class); + + assertThat(variableFactory.on(delegateExecution)).isInstanceOf(SetReadWriteAdapterVariableScope.class); + assertThat(variableFactory.from(delegateExecution)).isInstanceOf(SetReadWriteAdapterVariableScope.class); + } + + @Test + public void shouldReturnAdapterForVariableMap() { + VariableMap variableMap = mock(VariableMap.class); + + assertThat(variableFactory.on(variableMap)).isInstanceOf(SetReadWriteAdapterVariableMap.class); + assertThat(variableFactory.from(variableMap)).isInstanceOf(SetReadWriteAdapterVariableMap.class); + } + + @Test + public void shouldReturnAdapterForRuntimeService() { + RuntimeService runtimeService = mock(RuntimeService.class); + String executionId = UUID.randomUUID().toString(); + + assertThat(variableFactory.on(runtimeService, executionId)).isInstanceOf(SetReadWriteAdapterRuntimeService.class); + assertThat(variableFactory.from(runtimeService, executionId)).isInstanceOf(SetReadWriteAdapterRuntimeService.class); + } + + @Test + public void shouldReturnAdapterForTaskService() { + TaskService taskService = mock(TaskService.class); + String taskId = UUID.randomUUID().toString(); + + assertThat(variableFactory.on(taskService, taskId)).isInstanceOf(SetReadWriteAdapterTaskService.class); + assertThat(variableFactory.from(taskService, taskId)).isInstanceOf(SetReadWriteAdapterTaskService.class); + } + + @Test + public void shouldReturnAdapterForCaseService() { + CaseService caseService = mock(CaseService.class); + String caseExecutionId = UUID.randomUUID().toString(); + + assertThat(variableFactory.on(caseService, caseExecutionId)).isInstanceOf(SetReadWriteAdapterCaseService.class); + assertThat(variableFactory.from(caseService, caseExecutionId)).isInstanceOf(SetReadWriteAdapterCaseService.class); + } + +} diff --git a/extension/core/src/test/java/io/holunda/camunda/bpm/data/reader/CaseServiceVariableReaderTest.java b/extension/core/src/test/java/io/holunda/camunda/bpm/data/reader/CaseServiceVariableReaderTest.java new file mode 100644 index 00000000..83a0c2cb --- /dev/null +++ b/extension/core/src/test/java/io/holunda/camunda/bpm/data/reader/CaseServiceVariableReaderTest.java @@ -0,0 +1,57 @@ +package io.holunda.camunda.bpm.data.reader; + +import io.holunda.camunda.bpm.data.CamundaBpmData; +import io.holunda.camunda.bpm.data.factory.VariableFactory; +import org.camunda.bpm.engine.CaseService; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; + +import java.util.UUID; + +import static io.holunda.camunda.bpm.data.CamundaBpmData.stringVariable; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.when; + +public class CaseServiceVariableReaderTest { + + private static final VariableFactory STRING = stringVariable("myString"); + private final CaseService caseService = Mockito.mock(CaseService.class); + private final String taskId = UUID.randomUUID().toString(); + private final String value = "value"; + private final String localValue = "localValue"; + + @Before + public void mockExecution() { + when(caseService.getVariable(this.taskId, STRING.getName())).thenReturn(value); + when(caseService.getVariableLocal(this.taskId, STRING.getName())).thenReturn(localValue); + } + + @After + public void after() { + Mockito.reset(caseService); + } + + @Test + public void shouldDelegateGet() { + assertThat(CamundaBpmData.reader(caseService, taskId).get(STRING)).isEqualTo(value); + } + + @Test + public void shouldDelegateGetOptional() { + assertThat(CamundaBpmData.reader(caseService, taskId).getOptional(STRING)).hasValue(value); + assertThat(CamundaBpmData.reader(caseService, taskId).getOptional(stringVariable("xxx"))).isEmpty(); + } + + @Test + public void shouldDelegateGetLocalOptional() { + assertThat(CamundaBpmData.reader(caseService, taskId).getLocalOptional(STRING)).hasValue(localValue); + assertThat(CamundaBpmData.reader(caseService, taskId).getLocalOptional(stringVariable("xxx"))).isEmpty(); + } + + @Test + public void shouldDelegateGetLocal() { + assertThat(CamundaBpmData.reader(caseService, taskId).getLocal(STRING)).isEqualTo(localValue); + } +} diff --git a/extension/core/src/test/java/io/holunda/camunda/bpm/data/reader/UserTaskVariableReaderTest.java b/extension/core/src/test/java/io/holunda/camunda/bpm/data/reader/UserServiceVariableReaderTest.java similarity index 97% rename from extension/core/src/test/java/io/holunda/camunda/bpm/data/reader/UserTaskVariableReaderTest.java rename to extension/core/src/test/java/io/holunda/camunda/bpm/data/reader/UserServiceVariableReaderTest.java index 2880657c..87b12ad2 100644 --- a/extension/core/src/test/java/io/holunda/camunda/bpm/data/reader/UserTaskVariableReaderTest.java +++ b/extension/core/src/test/java/io/holunda/camunda/bpm/data/reader/UserServiceVariableReaderTest.java @@ -1,19 +1,20 @@ package io.holunda.camunda.bpm.data.reader; -import static io.holunda.camunda.bpm.data.CamundaBpmData.stringVariable; -import static org.assertj.core.api.Assertions.assertThat; -import static org.mockito.Mockito.when; - import io.holunda.camunda.bpm.data.CamundaBpmData; import io.holunda.camunda.bpm.data.factory.VariableFactory; -import java.util.UUID; import org.camunda.bpm.engine.TaskService; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; -public class UserTaskVariableReaderTest { +import java.util.UUID; + +import static io.holunda.camunda.bpm.data.CamundaBpmData.stringVariable; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.when; + +public class UserServiceVariableReaderTest { private static final VariableFactory STRING = stringVariable("myString"); private final TaskService taskService = Mockito.mock(TaskService.class); diff --git a/extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/CaseServiceVariableWriterTest.java b/extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/CaseServiceVariableWriterTest.java new file mode 100644 index 00000000..8b4c93c9 --- /dev/null +++ b/extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/CaseServiceVariableWriterTest.java @@ -0,0 +1,66 @@ +package io.holunda.camunda.bpm.data.writer; + +import io.holunda.camunda.bpm.data.CamundaBpmData; +import io.holunda.camunda.bpm.data.factory.VariableFactory; +import org.camunda.bpm.engine.CaseService; +import org.camunda.bpm.engine.variable.Variables; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; + +import java.util.UUID; + +import static io.holunda.camunda.bpm.data.CamundaBpmData.stringVariable; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +public class CaseServiceVariableWriterTest { + + private static final VariableFactory STRING = stringVariable("myString"); + private static final String VALUE = "value"; + private static final String LOCAL_VALUE = "localValue"; + private static final String CASE_EXECUTION_ID = UUID.randomUUID().toString(); + + private final CaseService caseService = Mockito.mock(CaseService.class); + + @Before + public void setUp() { + when(caseService.getVariable(CASE_EXECUTION_ID, STRING.getName())).thenReturn(VALUE); + when(caseService.getVariableLocal(CASE_EXECUTION_ID, STRING.getName())).thenReturn(LOCAL_VALUE); + } + + @After + public void after() { + Mockito.reset(caseService); + } + + @Test + public void testSet() { + CamundaBpmData.writer(caseService, CASE_EXECUTION_ID) + .set(STRING, "value"); + verify(caseService).setVariable(CASE_EXECUTION_ID, STRING.getName(), Variables.stringValue("value")); + } + + @Test + public void testSetLocal() { + CamundaBpmData.writer(caseService, CASE_EXECUTION_ID) + .setLocal(STRING, "value"); + verify(caseService).setVariableLocal(CASE_EXECUTION_ID, STRING.getName(), Variables.stringValue("value")); + } + + @Test + public void testRemove() { + CamundaBpmData.writer(caseService, CASE_EXECUTION_ID) + .remove(STRING); + verify(caseService).removeVariable(CASE_EXECUTION_ID, STRING.getName()); + } + + @Test + public void testRemoveLocal() { + CamundaBpmData.writer(caseService, CASE_EXECUTION_ID) + .removeLocal(STRING); + verify(caseService).removeVariableLocal(CASE_EXECUTION_ID, STRING.getName()); + } + +} diff --git a/extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/ProcessExecutionVariableWriterTest.java b/extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/RuntimeServiceVariableWriterTest.java similarity index 51% rename from extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/ProcessExecutionVariableWriterTest.java rename to extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/RuntimeServiceVariableWriterTest.java index e065ae2a..fa10c70a 100644 --- a/extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/ProcessExecutionVariableWriterTest.java +++ b/extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/RuntimeServiceVariableWriterTest.java @@ -1,12 +1,7 @@ package io.holunda.camunda.bpm.data.writer; -import static io.holunda.camunda.bpm.data.CamundaBpmData.stringVariable; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - import io.holunda.camunda.bpm.data.CamundaBpmData; import io.holunda.camunda.bpm.data.factory.VariableFactory; -import java.util.UUID; import org.camunda.bpm.engine.RuntimeService; import org.camunda.bpm.engine.variable.Variables; import org.junit.After; @@ -14,18 +9,25 @@ import org.junit.Test; import org.mockito.Mockito; -public class ProcessExecutionVariableWriterTest { +import java.util.UUID; + +import static io.holunda.camunda.bpm.data.CamundaBpmData.stringVariable; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +public class RuntimeServiceVariableWriterTest { private static final VariableFactory STRING = stringVariable("myString"); + private static final String VALUE = "value"; + private static final String EXECUTION_ID = UUID.randomUUID().toString(); + + private static final String LOCAL_VALUE = "localValue"; private final RuntimeService runtimeService = Mockito.mock(RuntimeService.class); - private final String executionId = UUID.randomUUID().toString(); - private final String value = "value"; - private final String localValue = "localValue"; @Before public void setUp() { - when(runtimeService.getVariable(this.executionId, STRING.getName())).thenReturn(value); - when(runtimeService.getVariableLocal(this.executionId, STRING.getName())).thenReturn(localValue); + when(runtimeService.getVariable(EXECUTION_ID, STRING.getName())).thenReturn(VALUE); + when(runtimeService.getVariableLocal(EXECUTION_ID, STRING.getName())).thenReturn(LOCAL_VALUE); } @After @@ -35,30 +37,30 @@ public void after() { @Test public void testSet() { - CamundaBpmData.writer(runtimeService, executionId) + CamundaBpmData.writer(runtimeService, EXECUTION_ID) .set(STRING, "value"); - verify(runtimeService).setVariable(this.executionId, STRING.getName(), Variables.stringValue("value")); + verify(runtimeService).setVariable(EXECUTION_ID, STRING.getName(), Variables.stringValue("value")); } @Test public void testSetLocal() { - CamundaBpmData.writer(runtimeService, executionId) + CamundaBpmData.writer(runtimeService, EXECUTION_ID) .setLocal(STRING, "value"); - verify(runtimeService).setVariableLocal(this.executionId, STRING.getName(), Variables.stringValue("value")); + verify(runtimeService).setVariableLocal(EXECUTION_ID, STRING.getName(), Variables.stringValue("value")); } @Test public void testRemove() { - CamundaBpmData.writer(runtimeService, executionId) + CamundaBpmData.writer(runtimeService, EXECUTION_ID) .remove(STRING); - verify(runtimeService).removeVariable(this.executionId, STRING.getName()); + verify(runtimeService).removeVariable(this.EXECUTION_ID, STRING.getName()); } @Test public void testRemoveLocal() { - CamundaBpmData.writer(runtimeService, executionId) + CamundaBpmData.writer(runtimeService, EXECUTION_ID) .removeLocal(STRING); - verify(runtimeService).removeVariableLocal(this.executionId, STRING.getName()); + verify(runtimeService).removeVariableLocal(this.EXECUTION_ID, STRING.getName()); } } diff --git a/extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/UserTaskVariableWriterTest.java b/extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/TaskServiceVariableWriterTest.java similarity index 57% rename from extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/UserTaskVariableWriterTest.java rename to extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/TaskServiceVariableWriterTest.java index f62cb6e7..b7c12a63 100644 --- a/extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/UserTaskVariableWriterTest.java +++ b/extension/core/src/test/java/io/holunda/camunda/bpm/data/writer/TaskServiceVariableWriterTest.java @@ -1,12 +1,7 @@ package io.holunda.camunda.bpm.data.writer; -import static io.holunda.camunda.bpm.data.CamundaBpmData.stringVariable; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - import io.holunda.camunda.bpm.data.CamundaBpmData; import io.holunda.camunda.bpm.data.factory.VariableFactory; -import java.util.UUID; import org.camunda.bpm.engine.TaskService; import org.camunda.bpm.engine.variable.Variables; import org.junit.After; @@ -14,17 +9,24 @@ import org.junit.Test; import org.mockito.Mockito; -public class UserTaskVariableWriterTest { +import java.util.UUID; + +import static io.holunda.camunda.bpm.data.CamundaBpmData.stringVariable; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +public class TaskServiceVariableWriterTest { private static final VariableFactory STRING = stringVariable("myString"); + private static final String VALUE = "value"; + private static final String TASK_ID = UUID.randomUUID().toString(); + private final TaskService taskService = Mockito.mock(TaskService.class); - private final String taskId = UUID.randomUUID().toString(); - private String value = "value"; @Before public void setUp() { - when(taskService.getVariable(this.taskId, STRING.getName())).thenReturn(value); - when(taskService.getVariableLocal(this.taskId, STRING.getName())).thenReturn(value); + when(taskService.getVariable(TASK_ID, STRING.getName())).thenReturn(VALUE); + when(taskService.getVariableLocal(TASK_ID, STRING.getName())).thenReturn(VALUE); } @After @@ -35,31 +37,31 @@ public void after() { @Test public void testSet() { CamundaBpmData - .writer(taskService, taskId) + .writer(taskService, TASK_ID) .set(STRING, "value"); - verify(taskService).setVariable(this.taskId, STRING.getName(), Variables.stringValue("value")); + verify(taskService).setVariable(TASK_ID, STRING.getName(), Variables.stringValue("value")); } @Test public void testSetLocal() { - CamundaBpmData.writer(taskService, taskId) + CamundaBpmData.writer(taskService, TASK_ID) .setLocal(STRING, "value"); - verify(taskService).setVariableLocal(this.taskId, STRING.getName(), Variables.stringValue("value")); + verify(taskService).setVariableLocal(TASK_ID, STRING.getName(), Variables.stringValue("value")); } @Test public void testRemove() { CamundaBpmData - .writer(taskService, taskId) + .writer(taskService, TASK_ID) .remove(STRING); - verify(taskService).removeVariable(this.taskId, STRING.getName()); + verify(taskService).removeVariable(TASK_ID, STRING.getName()); } @Test public void testRemoveLocal() { - CamundaBpmData.writer(taskService, taskId) + CamundaBpmData.writer(taskService, TASK_ID) .removeLocal(STRING); - verify(taskService).removeVariableLocal(this.taskId, STRING.getName()); + verify(taskService).removeVariableLocal(TASK_ID, STRING.getName()); } } diff --git a/extension/test/pom.xml b/extension/test/pom.xml index 08c61f76..ef0ce6e2 100644 --- a/extension/test/pom.xml +++ b/extension/test/pom.xml @@ -6,7 +6,7 @@ io.holunda.data camunda-bpm-data-parent - 1.0.1 + 1.0.2 ../.. diff --git a/extension/test/src/main/kotlin/CamundaBpmDataMockito.kt b/extension/test/src/main/kotlin/CamundaBpmDataMockito.kt index eb5c6f62..102e5ad7 100644 --- a/extension/test/src/main/kotlin/CamundaBpmDataMockito.kt +++ b/extension/test/src/main/kotlin/CamundaBpmDataMockito.kt @@ -1,5 +1,6 @@ package io.holunda.camunda.bpm.data.mockito +import org.camunda.bpm.engine.CaseService import org.camunda.bpm.engine.RuntimeService import org.camunda.bpm.engine.TaskService import org.camunda.bpm.engine.variable.VariableMap @@ -61,4 +62,30 @@ object CamundaBpmDataMockito { */ @JvmStatic fun runtimeServiceMockVerifier(runtimeService: RuntimeService) = RuntimeServiceMockVerifier(runtimeService) -} \ No newline at end of file + + /** + * Constructs a case service variable mock builder. + * @param caseService case service mock. + * @return fluent builder. + */ + @JvmStatic + fun caseServiceVariableMockBuilder(caseService: CaseService) = CaseServiceVariableMockBuilder(caseService = caseService) + + /** + * Constructs a case service variable mock builder. + * @param caseService case service mock. + * @param variables variable map to reuse. + * @param localVariables local variable map to reuse. + * @return fluent builder. + */ + @JvmStatic + fun caseServiceVariableMockBuilder(caseService: CaseService, variables: VariableMap, localVariables: VariableMap) = CaseServiceVariableMockBuilder(caseService = caseService, variables = variables, localVariables = localVariables) + + /** + * Constructs a verifier for case service mock. + * @param caseService a mock to work on. + * @return verifier to simplify assertions. + */ + @JvmStatic + fun caseServiceMockVerifier(caseService: CaseService) = CaseServiceMockVerifier(caseService) +} diff --git a/extension/test/src/main/kotlin/CaseServiceMockVerifier.kt b/extension/test/src/main/kotlin/CaseServiceMockVerifier.kt new file mode 100644 index 00000000..96fd2ecc --- /dev/null +++ b/extension/test/src/main/kotlin/CaseServiceMockVerifier.kt @@ -0,0 +1,85 @@ +package io.holunda.camunda.bpm.data.mockito + +import com.nhaarman.mockito_kotlin.verify +import com.nhaarman.mockito_kotlin.verifyNoMoreInteractions +import io.holunda.camunda.bpm.data.factory.VariableFactory +import org.camunda.bpm.engine.CaseService + +/** + * Verifier for a mocked runtime service. + * Provides methods for easy verification. + */ +class CaseServiceMockVerifier( + private val caseService: CaseService +) { + + /** + * Verifies if the variable has been set globally. + * @param variableFactory factory defining the variable. + * @param value value to set. + * @param executionId execution id. + * @param T type of variable. + */ + fun verifySet(variableFactory: VariableFactory, value: T, executionId: String) { + verify(caseService).setVariable(executionId, variableFactory.name, variableFactory.on(caseService, executionId).getTypedValue(value, false)) + } + + /** + * Verifies if the variable has been set locally. + * @param variableFactory factory defining the variable. + * @param value value to set. + * @param executionId execution id. + * @param T type of variable. + */ + fun verifySetLocal(variableFactory: VariableFactory, value: T, executionId: String) { + verify(caseService).setVariableLocal(executionId, variableFactory.name, variableFactory.on(caseService, executionId).getTypedValue(value, false)) + } + + /** + * Verifies if the variable has been retrieved from a global scope. + * @param variableFactory factory defining the variable. + * @param executionId execution id. + * @param T type of variable. + */ + fun verifyGet(variableFactory: VariableFactory, executionId: String) { + verify(caseService).getVariable(executionId, variableFactory.name) + } + + /** + * Verifies if the variable has been retrieved from a local scope. + * @param variableFactory factory defining the variable. + * @param executionId execution id. + * @param T type of variable. + */ + fun verifyGetLocal(variableFactory: VariableFactory, executionId: String) { + verify(caseService).getVariableLocal(executionId, variableFactory.name) + } + + /** + * Verifies if the variable has been removed from a global scope. + * @param variableFactory factory defining the variable. + * @param executionId execution id. + * @param T type of variable. + */ + fun verifyRemove(variableFactory: VariableFactory, executionId: String) { + verify(caseService).removeVariable(executionId, variableFactory.name) + } + + /** + * Verifies if the variable has been removed from a local scope. + * @param variableFactory factory defining the variable. + * @param executionId execution id. + * @param T type of variable. + */ + fun verifyRemoveLocal(variableFactory: VariableFactory, executionId: String) { + verify(caseService).removeVariable(executionId, variableFactory.name) + } + + /** + * Verifies no more interaction has been performed with the mock. + * @see com.nhaarman.mockito_kotlin.verifyNoMoreInteractions + */ + fun verifyNoMoreInteractions() { + verifyNoMoreInteractions(caseService) + } +} diff --git a/extension/test/src/main/kotlin/CaseServiceVariableMockBuilder.kt b/extension/test/src/main/kotlin/CaseServiceVariableMockBuilder.kt new file mode 100644 index 00000000..4b44f32d --- /dev/null +++ b/extension/test/src/main/kotlin/CaseServiceVariableMockBuilder.kt @@ -0,0 +1,103 @@ +package io.holunda.camunda.bpm.data.mockito + +import com.nhaarman.mockito_kotlin.any +import com.nhaarman.mockito_kotlin.doAnswer +import com.nhaarman.mockito_kotlin.eq +import com.nhaarman.mockito_kotlin.whenever +import io.holunda.camunda.bpm.data.factory.VariableFactory +import org.camunda.bpm.engine.CaseService +import org.camunda.bpm.engine.RuntimeService +import org.camunda.bpm.engine.variable.VariableMap +import org.camunda.bpm.engine.variable.Variables.createVariables +import org.mockito.ArgumentMatchers.anyList +import org.mockito.ArgumentMatchers.anyString + +/** + * Builder to mock the runtime service behavior regarding variables. + */ +class CaseServiceVariableMockBuilder( + private val caseService: CaseService, + private val variables: VariableMap = createVariables(), + private val localVariables: VariableMap = createVariables(), + private val factories: MutableList> = mutableListOf() +) { + + /** + * Defines a variable. + * @param variableFactory variable to define. + * @return fluent builder. + */ + fun define(variableFactory: VariableFactory): CaseServiceVariableMockBuilder { + factories.add(variableFactory) + return this + } + + /** + * Defines a variable and sets a global value. + * @param variableFactory factory to use. + * @param value initial value. + * @return fluent builder. + */ + fun initial(variableFactory: VariableFactory, value: T): CaseServiceVariableMockBuilder { + define(variableFactory) + variableFactory.on(variables).set(value) + return this + } + + /** + * Defines a variable and sets a local value. + * @param variableFactory factory to use. + * @param value initial value. + * @return fluent builder. + */ + fun initialLocal(variableFactory: VariableFactory, value: T): CaseServiceVariableMockBuilder { + define(variableFactory) + variableFactory.on(localVariables).set(value) + return this + } + + /** + * Performs the modifications on the task service. + */ + fun build() { + + factories.forEach { factory -> + + // global + doAnswer { + factory.from(variables).get() + }.whenever(caseService).getVariable(anyString(), eq(factory.name)) + + doAnswer { invocation -> + // Arguments: 0: taskId, 1: variable name, 2: value + val value = invocation.getArgument(2) + variables[factory.name] = value + }.whenever(caseService).setVariable(anyString(), eq(factory.name), any()) + + // local + doAnswer { + factory.from(localVariables).get() + }.whenever(caseService).getVariableLocal(anyString(), eq(factory.name)) + + doAnswer { invocation -> + // Arguments: 0: taskId, 1: variable name, 2: value + val value = invocation.getArgument(2) + localVariables[factory.name] = value + }.whenever(caseService).setVariableLocal(anyString(), eq(factory.name), any()) + } + + doAnswer { variables }.whenever(caseService).getVariables(anyString()) + doAnswer { invocation -> + // Arguments: 0: taskId, 1: licat of variables + val variablesList = invocation.getArgument>(1) + variables.filter { variablesList.contains(it.key) } + }.whenever(caseService).getVariables(anyString(), anyList()) + + doAnswer { localVariables }.whenever(caseService).getVariablesLocal(anyString()) + doAnswer { invocation -> + // Arguments: 0: taskId, 1: licat of variables + val variablesList = invocation.getArgument>(1) + localVariables.filter { variablesList.contains(it.key) } + }.whenever(caseService).getVariablesLocal(anyString(), anyList()) + } +} diff --git a/extension/test/src/test/kotlin/CaseServiceMockingTest.kt b/extension/test/src/test/kotlin/CaseServiceMockingTest.kt new file mode 100644 index 00000000..c40346c1 --- /dev/null +++ b/extension/test/src/test/kotlin/CaseServiceMockingTest.kt @@ -0,0 +1,68 @@ +package io.holunda.camunda.bpm.data.mockito + +import com.nhaarman.mockito_kotlin.mock +import io.holunda.camunda.bpm.data.CamundaBpmData.booleanVariable +import io.holunda.camunda.bpm.data.CamundaBpmData.stringVariable +import org.assertj.core.api.Assertions.assertThat +import org.camunda.bpm.engine.CaseService +import org.junit.Test +import java.util.* + +/** + * This test demonstrates the mocking capabilities. + */ +class CaseServiceMockingTest { + + companion object { + val ORDER_ID = stringVariable("orderId") + val ORDER_FLAG = booleanVariable("orderFlag") + } + + private val caseService = mock() + private val testService = CaseServiceAwareService(caseService) + + @Test + fun should_mock_task_service() { + + val executionId = UUID.randomUUID().toString() + + CaseServiceVariableMockBuilder(caseService) + .initialLocal(ORDER_ID, "initial-Value") + .define(ORDER_FLAG) + .build() + + testService.writeLocalOrderId(executionId, "4712") + val orderId = testService.readLocalOrderId(executionId) + + assertThat(testService.flagExists(executionId)).isFalse() + testService.writeFlag(executionId, true) + assertThat(testService.flagExists(executionId)).isTrue() + val orderFlag = testService.readFlag(executionId) + + assertThat(orderId).isEqualTo("4712") + assertThat(orderFlag).isEqualTo(true) + } + + + /** + * Test service. + * @param runtimeService task service to work on. + */ + class CaseServiceAwareService(val caseService: CaseService) { + + fun readLocalOrderId(executionId: String): String = + ORDER_ID.from(caseService, executionId).local + + fun writeLocalOrderId(executionId: String, value: String) = + ORDER_ID.on(caseService, executionId).setLocal(value) + + fun flagExists(executionId: String) = + caseService.getVariables(executionId).containsKey(ORDER_FLAG.name) + + fun writeFlag(executionId: String, flag: Boolean) = + ORDER_FLAG.on(caseService, executionId).set(flag) + + fun readFlag(executionId: String): Boolean = + ORDER_FLAG.from(caseService, executionId).get() + } +} diff --git a/extension/test/src/test/kotlin/CaseServiceVerifierTest.kt b/extension/test/src/test/kotlin/CaseServiceVerifierTest.kt new file mode 100644 index 00000000..9a1a736e --- /dev/null +++ b/extension/test/src/test/kotlin/CaseServiceVerifierTest.kt @@ -0,0 +1,83 @@ +package io.holunda.camunda.bpm.data.mockito + +import com.nhaarman.mockito_kotlin.mock +import com.nhaarman.mockito_kotlin.reset +import io.holunda.camunda.bpm.data.CamundaBpmData.stringVariable +import org.camunda.bpm.engine.CaseService +import org.junit.Before +import org.junit.Test +import java.util.* + +class CaseServiceVerifierTest { + + companion object { + val VAR = stringVariable("var") + } + + private val caseService = mock() + + @Before + fun resetMocks() { + reset(caseService) + } + + @Test + fun verifyGetSuccess() { + CamundaBpmDataMockito.caseServiceVariableMockBuilder(caseService).initial(VAR, "value").build() + val verifier = CamundaBpmDataMockito.caseServiceMockVerifier(caseService) + val executionId = UUID.randomUUID().toString() + VAR.from(caseService, executionId).get() + verifier.verifyGet(VAR, executionId) + verifier.verifyNoMoreInteractions() + } + + @Test + fun testVerifyGetLocal() { + CamundaBpmDataMockito.caseServiceVariableMockBuilder(caseService).initialLocal(VAR, "value").build() + val verifier = CamundaBpmDataMockito.caseServiceMockVerifier(caseService) + val executionId = UUID.randomUUID().toString() + VAR.from(caseService, executionId).local + verifier.verifyGetLocal(VAR, executionId) + verifier.verifyNoMoreInteractions() + } + + @Test + fun verifySetSuccess() { + CamundaBpmDataMockito.caseServiceVariableMockBuilder(caseService).define(VAR).build() + val verifier = CamundaBpmDataMockito.caseServiceMockVerifier(caseService) + val executionId = UUID.randomUUID().toString() + VAR.on(caseService, executionId).set("value") + verifier.verifySet(VAR, "value", executionId) + verifier.verifyNoMoreInteractions() + } + + @Test + fun testVerifySetLocal() { + CamundaBpmDataMockito.caseServiceVariableMockBuilder(caseService).define(VAR).build() + val verifier = CamundaBpmDataMockito.caseServiceMockVerifier(caseService) + val executionId = UUID.randomUUID().toString() + VAR.on(caseService, executionId).setLocal("valueLocal") + verifier.verifySetLocal(VAR, "valueLocal", executionId) + verifier.verifyNoMoreInteractions() + } + + @Test + fun verifyRemoveSuccess() { + CamundaBpmDataMockito.caseServiceVariableMockBuilder(caseService).initial(VAR, "value").build() + val verifier = CamundaBpmDataMockito.caseServiceMockVerifier(caseService) + val executionId = UUID.randomUUID().toString() + VAR.on(caseService, executionId).remove() + verifier.verifyRemove(VAR, executionId) + verifier.verifyNoMoreInteractions() + } + + @Test + fun testVerifyRemoveLocal() { + CamundaBpmDataMockito.caseServiceVariableMockBuilder(caseService).initialLocal(VAR, "localValue").build() + val verifier = CamundaBpmDataMockito.caseServiceMockVerifier(caseService) + val executionId = UUID.randomUUID().toString() + VAR.on(caseService, executionId).remove() + verifier.verifyRemoveLocal(VAR, executionId) + verifier.verifyNoMoreInteractions() + } +} diff --git a/pom.xml b/pom.xml index cc3126d8..b51cfc54 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ io.holunda.data camunda-bpm-data-parent - 1.0.1 + 1.0.2 ${project.artifactId} Camunda BPM Data https://github.com/holunda-io/camunda-bpm-data/ @@ -46,8 +46,8 @@ - extension/core - extension/test + extension/core + extension/test @@ -268,7 +268,6 @@ - compile @@ -605,11 +604,7 @@ false - - true - - integration-test failsafe:verify org.apache.maven.plugins @@ -619,32 +614,9 @@ true - - org.apache.maven.plugins - maven-failsafe-plugin - - - - integration-test - - - - - - ${pattern.class.itest} - ${pattern.package.itest} - - - - -Djava.awt.headless=true ${argLine} -XX:+StartAttachListener - random - - - - @@ -696,7 +668,7 @@ examples @@ -708,7 +680,6 @@ example -