This is an automated email from the ASF dual-hosted git repository.

pefernan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-kogito-apps.git


The following commit(s) were added to refs/heads/main by this push:
     new 8c96b3c14 incubator-kie-issues#1998: Add user information on Data 
Audit's Process Instance Logs (#2233)
8c96b3c14 is described below

commit 8c96b3c14f38e812b4f1e41e3dee665d2a44cd72
Author: Pere Fernández <[email protected]>
AuthorDate: Thu Jun 12 21:38:49 2025 +0200

    incubator-kie-issues#1998: Add user information on Data Audit's Process 
Instance Logs (#2233)
---
 .../audit/graphql/type/ProcessInstanceErrorTO.java | 12 ++-
 .../audit/graphql/type/ProcessInstanceNodeTO.java  | 12 ++-
 .../audit/graphql/type/ProcessInstanceStateTO.java | 12 ++-
 .../graphql/type/ProcessInstanceVariableTO.java    | 12 ++-
 .../resources/META-INF/data-audit-types.graphqls   | 10 +++
 .../kogito/app/audit/jpa/JPADataAuditStore.java    | 13 +++
 .../jpa/model/AbstractProcessInstanceLog.java      | 11 +++
 .../mapper/ProcessInstanceStateTOMapper.java       |  2 +-
 .../src/main/resources/META-INF/data-audit-orm.xml | 27 ++++---
 ...d_user_information_to_process_instance_logs.sql | 23 ++++++
 ...d_user_information_to_process_instance_logs.sql | 23 ++++++
 .../QuarkusAuditProcessInstanceServiceTest.java    | 51 +++++++-----
 ...SpringbootAuditProcessInstanceServiceTest.java} | 93 ++++++++++++----------
 13 files changed, 223 insertions(+), 78 deletions(-)

diff --git 
a/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceErrorTO.java
 
b/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceErrorTO.java
index 2f5fbe911..8e1379781 100644
--- 
a/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceErrorTO.java
+++ 
b/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceErrorTO.java
@@ -49,9 +49,11 @@ public class ProcessInstanceErrorTO {
 
     private String nodeInstanceId;
 
+    private String eventUser;
+
     public ProcessInstanceErrorTO(String eventId, Date eventDate, String 
processType, String processId,
             String processVersion, String parentProcessInstanceId, String 
rootProcessId, String rootProcessInstanceId, String processInstanceId,
-            String businessKey, String errorMessage, String nodeDefinitionId, 
String nodeInstanceId) {
+            String businessKey, String errorMessage, String nodeDefinitionId, 
String nodeInstanceId, String eventUser) {
         this.eventId = eventId;
         this.eventDate = OffsetDateTime.ofInstant(eventDate.toInstant(), 
ZoneId.of("UTC"));
         this.processType = processType;
@@ -65,6 +67,7 @@ public class ProcessInstanceErrorTO {
         this.errorMessage = errorMessage;
         this.nodeDefinitionId = nodeDefinitionId;
         this.nodeInstanceId = nodeInstanceId;
+        this.eventUser = eventUser;
     }
 
     public String getEventId() {
@@ -171,4 +174,11 @@ public class ProcessInstanceErrorTO {
         this.nodeInstanceId = nodeInstanceId;
     }
 
+    public String getEventUser() {
+        return eventUser;
+    }
+
+    public void setEventUser(String eventUser) {
+        this.eventUser = eventUser;
+    }
 }
diff --git 
a/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceNodeTO.java
 
b/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceNodeTO.java
index 85498672a..26e24d75c 100644
--- 
a/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceNodeTO.java
+++ 
b/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceNodeTO.java
@@ -59,10 +59,12 @@ public class ProcessInstanceNodeTO {
 
     private Object eventData;
 
+    private String eventUser;
+
     public ProcessInstanceNodeTO(String eventId, Date eventDate, String 
processType, String processId,
             String processVersion, String parentProcessInstanceId, String 
rootProcessId, String rootProcessInstanceId, String processInstanceId,
             String businessKey, String eventType, String nodeType,
-            String nodeName, String nodeInstanceId, String connection, String 
workItemId, Date slaDueDate, String eventData) {
+            String nodeName, String nodeInstanceId, String connection, String 
workItemId, Date slaDueDate, String eventData, String eventUser) {
         this.eventId = eventId;
         this.eventDate = OffsetDateTime.ofInstant(eventDate.toInstant(), 
ZoneId.of("UTC"));
         this.processType = processType;
@@ -83,6 +85,7 @@ public class ProcessInstanceNodeTO {
             this.slaDueDate = OffsetDateTime.ofInstant(slaDueDate.toInstant(), 
ZoneId.of("UTC"));
         }
         this.eventData = JsonUtil.toJsonNode(eventData);
+        this.eventUser = eventUser;
     }
 
     public String getEventId() {
@@ -229,4 +232,11 @@ public class ProcessInstanceNodeTO {
         this.eventData = eventData;
     }
 
+    public String getEventUser() {
+        return eventUser;
+    }
+
+    public void setEventUser(String eventUser) {
+        this.eventUser = eventUser;
+    }
 }
diff --git 
a/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceStateTO.java
 
b/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceStateTO.java
index c4fbbda6d..a4c6d71d4 100644
--- 
a/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceStateTO.java
+++ 
b/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceStateTO.java
@@ -56,13 +56,15 @@ public class ProcessInstanceStateTO {
 
     private Set<String> roles;
 
+    private String eventUser;
+
     public ProcessInstanceStateTO() {
         roles = new HashSet<>();
     }
 
     public ProcessInstanceStateTO(String eventId, Date eventDate, String 
processType, String processId,
             String processVersion, String parentProcessInstanceId, String 
rootProcessId, String rootProcessInstanceId, String processInstanceId,
-            String businessKey, String eventType, String outcome, String 
state, Date slaDueDate) {
+            String businessKey, String eventType, String outcome, String 
state, Date slaDueDate, String eventUser) {
         this();
         this.eventId = eventId;
         this.eventDate = OffsetDateTime.ofInstant(eventDate.toInstant(), 
ZoneId.of("UTC"));
@@ -80,6 +82,7 @@ public class ProcessInstanceStateTO {
         if (slaDueDate != null) {
             this.slaDueDate = OffsetDateTime.ofInstant(slaDueDate.toInstant(), 
ZoneId.of("UTC"));
         }
+        this.eventUser = eventUser;
     }
 
     public String getEventId() {
@@ -198,4 +201,11 @@ public class ProcessInstanceStateTO {
         this.roles.add(role);
     }
 
+    public String getEventUser() {
+        return eventUser;
+    }
+
+    public void setEventUser(String eventUser) {
+        this.eventUser = eventUser;
+    }
 }
diff --git 
a/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceVariableTO.java
 
b/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceVariableTO.java
index 4df0991a4..99a365e3b 100644
--- 
a/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceVariableTO.java
+++ 
b/data-audit/data-audit-common/src/main/java/org/kie/kogito/app/audit/graphql/type/ProcessInstanceVariableTO.java
@@ -51,9 +51,11 @@ public class ProcessInstanceVariableTO {
 
     private JsonNode variableValue;
 
+    private String eventUser;
+
     public ProcessInstanceVariableTO(String eventId, Date eventDate, String 
processType, String processId,
             String processVersion, String parentProcessInstanceId, String 
rootProcessId, String rootProcessInstanceId, String processInstanceId,
-            String businessKey, String variableId, String variableName, String 
variableValue) {
+            String businessKey, String variableId, String variableName, String 
variableValue, String eventUser) {
         this.eventId = eventId;
         this.eventDate = OffsetDateTime.ofInstant(eventDate.toInstant(), 
ZoneId.of("UTC"));
         this.processType = processType;
@@ -67,6 +69,7 @@ public class ProcessInstanceVariableTO {
         this.variableId = variableId;
         this.variableName = variableName;
         this.variableValue = JsonUtil.toJsonNode(variableValue);
+        this.eventUser = eventUser;
     }
 
     public String getEventId() {
@@ -173,4 +176,11 @@ public class ProcessInstanceVariableTO {
         this.variableValue = variableValue;
     }
 
+    public String getEventUser() {
+        return eventUser;
+    }
+
+    public void setEventUser(String eventUser) {
+        this.eventUser = eventUser;
+    }
 }
diff --git 
a/data-audit/data-audit-common/src/main/resources/META-INF/data-audit-types.graphqls
 
b/data-audit/data-audit-common/src/main/resources/META-INF/data-audit-types.graphqls
index 44220f21c..c8c56c59d 100644
--- 
a/data-audit/data-audit-common/src/main/resources/META-INF/data-audit-types.graphqls
+++ 
b/data-audit/data-audit-common/src/main/resources/META-INF/data-audit-types.graphqls
@@ -22,6 +22,7 @@ type JobExecutionLog {
 type ProcessInstanceStateLog {
     eventId : String!
     eventDate : DateTime
+    eventUser: String
     processType : String
     processId : String
     processVersion : String
@@ -40,6 +41,7 @@ type ProcessInstanceStateLog {
 type ProcessInstanceNodeLog {
     eventId : String!
     eventDate : DateTime
+    eventUser: String
     processType : String
     processId : String
     processVersion : String
@@ -61,6 +63,7 @@ type ProcessInstanceNodeLog {
 type ProcessInstanceErrorLog {
     eventId : String!
     eventDate : DateTime
+    eventUser: String
     processType : String
     processId : String
     processVersion : String
@@ -77,6 +80,7 @@ type ProcessInstanceErrorLog {
 type ProcessInstanceVariableLog {
     eventId : String
     eventDate : DateTime
+    eventUser: String
     processType : String
     processId : String
     processVersion : String
@@ -99,6 +103,7 @@ type ProcessInstanceVariableHistoryLog {
 type UserTaskInstanceStateLog {
     eventId : String!
     eventDate : DateTime
+    eventUser: String
     userTaskDefinitionId : String
     userTaskInstanceId : String
     processInstanceId : String
@@ -114,6 +119,7 @@ type UserTaskInstanceStateLog {
 type UserTaskInstanceAssignmentLog {
     eventId : String!
     eventDate : DateTime
+    eventUser: String
     userTaskDefinitionId : String
     userTaskInstanceId : String
     processInstanceId : String
@@ -126,6 +132,7 @@ type UserTaskInstanceAssignmentLog {
 type UserTaskInstanceAttachmentLog {
     eventId : String!
     eventDate : DateTime
+    eventUser: String
     userTaskDefinitionId : String
     userTaskInstanceId : String
     processInstanceId : String
@@ -139,6 +146,7 @@ type UserTaskInstanceAttachmentLog {
 type UserTaskInstanceCommentLog {
     eventId : String!
     eventDate : DateTime
+    eventUser: String
     userTaskDefinitionId : String
     userTaskInstanceId : String
     processInstanceId : String
@@ -151,6 +159,7 @@ type UserTaskInstanceCommentLog {
 type UserTaskInstanceDeadlineLog {
     eventId : String!
     eventDate : DateTime
+    eventUser: String
     userTaskDefinitionId : String
     userTaskInstanceId : String
     processInstanceId : String
@@ -162,6 +171,7 @@ type UserTaskInstanceDeadlineLog {
 type UserTaskInstanceVariableLog {
     eventId : String!
     eventDate : DateTime
+    eventUser: String
     userTaskDefinitionId : String
     userTaskInstanceId : String
     processInstanceId : String
diff --git 
a/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/java/org/kie/kogito/app/audit/jpa/JPADataAuditStore.java
 
b/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/java/org/kie/kogito/app/audit/jpa/JPADataAuditStore.java
index 089e22303..505dcdce8 100644
--- 
a/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/java/org/kie/kogito/app/audit/jpa/JPADataAuditStore.java
+++ 
b/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/java/org/kie/kogito/app/audit/jpa/JPADataAuditStore.java
@@ -94,7 +94,9 @@ public class JPADataAuditStore implements DataAuditStore {
         log.setState(String.valueOf(event.getData().getState()));
         log.setRoles(event.getData().getRoles());
         log.setSlaDueDate(event.getData().getSlaDueDate());
+
         log.setEventType(fromProcessInstanceStateDataEvent(event));
+        log.setEventUser(event.getData().getEventUser());
 
         EntityManager entityManager = context.getContext();
 
@@ -120,6 +122,9 @@ public class JPADataAuditStore implements DataAuditStore {
         log.setErrorMessage(event.getData().getErrorMessage());
         log.setNodeDefinitionId(event.getData().getNodeDefinitionId());
         log.setNodeInstanceId(event.getData().getNodeInstanceId());
+
+        log.setEventUser(event.getData().getEventUser());
+
         EntityManager entityManager = context.getContext();
         entityManager.persist(log);
     }
@@ -139,6 +144,7 @@ public class JPADataAuditStore implements DataAuditStore {
         log.setNodeName(event.getData().getNodeName());
 
         log.setEventType(fromProcessInstanceNodeDataEvent(event));
+        log.setEventUser(event.getData().getEventUser());
 
         log.setWorkItemId(event.getData().getWorkItemId());
         EntityManager entityManager = context.getContext();
@@ -191,6 +197,9 @@ public class JPADataAuditStore implements DataAuditStore {
         log.setVariableId(event.getData().getVariableId());
         log.setVariableName(event.getData().getVariableName());
         log.setVariableValue(toJsonString(event.getData().getVariableValue()));
+
+        log.setEventUser(event.getData().getEventUser());
+
         EntityManager entityManager = context.getContext();
         entityManager.persist(log);
 
@@ -295,7 +304,10 @@ public class JPADataAuditStore implements DataAuditStore {
         log.setName(event.getData().getUserTaskName());
         log.setDescription(event.getData().getUserTaskDescription());
         log.setState(event.getData().getState());
+
         log.setEventType(event.getData().getEventType());
+        log.setEventUser(event.getData().getEventUser());
+
         EntityManager entityManager = context.getContext();
         entityManager.persist(log);
 
@@ -308,6 +320,7 @@ public class JPADataAuditStore implements DataAuditStore {
         setUserTaskCommonAttributes(log, event);
 
         log.setEventUser(event.getData().getEventUser());
+
         log.setUserTaskDefinitionId(event.getData().getUserTaskDefinitionId());
         log.setVariableId(event.getData().getVariableId());
         log.setVariableName(event.getData().getVariableName());
diff --git 
a/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/java/org/kie/kogito/app/audit/jpa/model/AbstractProcessInstanceLog.java
 
b/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/java/org/kie/kogito/app/audit/jpa/model/AbstractProcessInstanceLog.java
index bf3a7a300..922d8968a 100644
--- 
a/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/java/org/kie/kogito/app/audit/jpa/model/AbstractProcessInstanceLog.java
+++ 
b/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/java/org/kie/kogito/app/audit/jpa/model/AbstractProcessInstanceLog.java
@@ -45,6 +45,9 @@ public abstract class AbstractProcessInstanceLog {
     @Column(name = "event_date")
     private Date eventDate;
 
+    @Column(name = "event_user")
+    private String eventUser;
+
     @Column(name = "process_type")
     private String processType;
 
@@ -155,4 +158,12 @@ public abstract class AbstractProcessInstanceLog {
     public void setEventId(String eventId) {
         this.eventId = eventId;
     }
+
+    public String getEventUser() {
+        return eventUser;
+    }
+
+    public void setEventUser(String eventUser) {
+        this.eventUser = eventUser;
+    }
 }
diff --git 
a/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/java/org/kie/kogito/app/audit/jpa/queries/mapper/ProcessInstanceStateTOMapper.java
 
b/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/java/org/kie/kogito/app/audit/jpa/queries/mapper/ProcessInstanceStateTOMapper.java
index 1c0dca4e0..6b3dd3e79 100644
--- 
a/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/java/org/kie/kogito/app/audit/jpa/queries/mapper/ProcessInstanceStateTOMapper.java
+++ 
b/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/java/org/kie/kogito/app/audit/jpa/queries/mapper/ProcessInstanceStateTOMapper.java
@@ -57,7 +57,7 @@ public class ProcessInstanceStateTOMapper implements 
DataMapper<ProcessInstanceS
             current.setState((String) row[12]);
             current.setSlaDueDate(toDateTime((Date) row[13]));
             current.addRole((String) data.get(idx)[14]);
-
+            current.setEventUser((String) data.get(idx)[15]);
         }
 
         return transformedData;
diff --git 
a/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/resources/META-INF/data-audit-orm.xml
 
b/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/resources/META-INF/data-audit-orm.xml
index f365314ff..adf174f7d 100644
--- 
a/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/resources/META-INF/data-audit-orm.xml
+++ 
b/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/resources/META-INF/data-audit-orm.xml
@@ -312,7 +312,8 @@
                       log.outcome as outcome,
                       log.state as state,
                       log.sla_due_date as slaDueDate,
-                      roles.role as role
+                      roles.role as role,
+                   log.event_user as eventUser
                  FROM Process_Instance_State_Log log
             LEFT JOIN Process_Instance_State_Log log_newer ON log.event_date 
&lt; log_newer.event_date AND log.process_instance_id = 
log_newer.process_instance_id
             LEFT JOIN Process_Instance_State_Roles_Log roles ON log.id = 
roles.process_instance_state_log_id 
@@ -339,7 +340,8 @@
                log.outcome as outcome,
                log.state as state,
                log.sla_due_date as slaDueDate,
-               roles.role as role
+               roles.role as role,
+               log.event_user as eventUser
           FROM Process_Instance_State_Log log
      LEFT JOIN Process_Instance_State_Log log_newer ON log.event_date &lt; 
log_newer.event_date AND log.process_instance_id = log_newer.process_instance_id
      LEFT JOIN Process_Instance_State_Roles_Log roles ON log.id = 
roles.process_instance_state_log_id 
@@ -366,7 +368,8 @@
                log.outcome as outcome,
                log.state as state,
                log.sla_due_date as slaDueDate,
-               roles.role as role
+               roles.role as role,
+               log.event_user as eventUser
           FROM Process_Instance_State_Log log
      LEFT JOIN Process_Instance_State_Log log_newer ON log.event_date &lt; 
log_newer.event_date AND log.process_instance_id = log_newer.process_instance_id
      LEFT JOIN Process_Instance_State_Roles_Log roles ON log.id = 
roles.process_instance_state_log_id 
@@ -394,7 +397,8 @@
                log.outcome as outcome,
                log.state as state,
                log.sla_due_date as slaDueDate,
-               roles.role as role
+               roles.role as role,
+               log.event_user as eventUser
           FROM Process_Instance_State_Log log
      LEFT JOIN Process_Instance_State_Roles_Log roles ON log.id = 
roles.process_instance_state_log_id 
          WHERE log.process_instance_id = :processInstanceId
@@ -420,7 +424,8 @@
                log.outcome as outcome,
                log.state as state,
                log.sla_due_date as slaDueDate,
-               roles.role as role
+               roles.role as role,
+               log.event_user as eventUser
           FROM Process_Instance_State_Log log
      LEFT JOIN Process_Instance_State_Roles_Log roles ON log.id = 
roles.process_instance_state_log_id 
          WHERE log.business_key = :businessKey
@@ -450,7 +455,8 @@
                log.connection,
                log.work_item_id,
                log.sla_due_date,
-               log.event_data
+               log.event_data,
+               log.event_user as eventUser
           FROM Process_Instance_Node_Log log
      LEFT JOIN Process_Instance_Node_Log log_newer ON log.event_date &lt; 
log_newer.event_date AND log.process_instance_id = 
log_newer.process_instance_id AND log.node_instance_id = 
log_newer.node_instance_id 
          WHERE log_newer.event_id IS NULL AND log.process_instance_id = 
:processInstanceId
@@ -475,7 +481,8 @@
                log.business_key,
                log.error_message,
                log.node_definition_id,
-               log.node_instance_id
+               log.node_instance_id,
+               log.event_user as eventUser
           FROM Process_Instance_Error_Log log
          WHERE log.process_instance_id = :processInstanceId
       ORDER BY log.event_date DESC
@@ -498,7 +505,8 @@
                       log.business_key,
                       log.variable_id,
                       log.variable_name,
-                      log.variable_value
+                      log.variable_value,
+                   log.event_user as eventUser
                  FROM Process_Instance_Variable_Log log
             LEFT JOIN Process_Instance_Variable_Log log_newer ON 
log.event_date &lt; log_newer.event_date 
                                                           AND 
log.process_instance_id = log_newer.process_instance_id 
@@ -524,7 +532,8 @@
                    log.business_key,
                    log.variable_id,
                    log.variable_name,
-                   log.variable_value
+                   log.variable_value,
+                   log.event_user as eventUser
           FROM Process_Instance_Variable_Log log
          WHERE log.process_instance_id = :processInstanceId
       ORDER BY log.variable_id ASC, log.event_date DESC
diff --git 
a/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/resources/kie-flyway/db/data-audit/h2/V1.4.2__Add_user_information_to_process_instance_logs.sql
 
b/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/resources/kie-flyway/db/data-audit/h2/V1.4.2__Add_user_information_to_process_instance_logs.sql
new file mode 100644
index 000000000..b0d3f842e
--- /dev/null
+++ 
b/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/resources/kie-flyway/db/data-audit/h2/V1.4.2__Add_user_information_to_process_instance_logs.sql
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+ALTER TABLE Process_Instance_Error_Log ADD COLUMN event_user VARCHAR(255);
+ALTER TABLE Process_Instance_Node_Log ADD COLUMN event_user VARCHAR(255);
+ALTER TABLE Process_Instance_State_Log ADD COLUMN event_user VARCHAR(255);
+ALTER TABLE Process_Instance_Variable_Log ADD COLUMN event_user VARCHAR(255);
\ No newline at end of file
diff --git 
a/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/resources/kie-flyway/db/data-audit/postgresql/V1.4.2__Add_user_information_to_process_instance_logs.sql
 
b/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/resources/kie-flyway/db/data-audit/postgresql/V1.4.2__Add_user_information_to_process_instance_logs.sql
new file mode 100644
index 000000000..b0d3f842e
--- /dev/null
+++ 
b/data-audit/kogito-addons-data-audit-jpa/kogito-addons-data-audit-jpa-common/src/main/resources/kie-flyway/db/data-audit/postgresql/V1.4.2__Add_user_information_to_process_instance_logs.sql
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+ALTER TABLE Process_Instance_Error_Log ADD COLUMN event_user VARCHAR(255);
+ALTER TABLE Process_Instance_Node_Log ADD COLUMN event_user VARCHAR(255);
+ALTER TABLE Process_Instance_State_Log ADD COLUMN event_user VARCHAR(255);
+ALTER TABLE Process_Instance_Variable_Log ADD COLUMN event_user VARCHAR(255);
\ No newline at end of file
diff --git 
a/data-audit/kogito-addons-data-audit-quarkus/src/test/java/org/kie/kogito/app/audit/quarkus/QuarkusAuditProcessInstanceServiceTest.java
 
b/data-audit/kogito-addons-data-audit-quarkus/src/test/java/org/kie/kogito/app/audit/quarkus/QuarkusAuditProcessInstanceServiceTest.java
index 801926b79..726983943 100644
--- 
a/data-audit/kogito-addons-data-audit-quarkus/src/test/java/org/kie/kogito/app/audit/quarkus/QuarkusAuditProcessInstanceServiceTest.java
+++ 
b/data-audit/kogito-addons-data-audit-quarkus/src/test/java/org/kie/kogito/app/audit/quarkus/QuarkusAuditProcessInstanceServiceTest.java
@@ -111,7 +111,7 @@ public class QuarkusAuditProcessInstanceServiceTest {
     public void testGetAllProcessInstancesState() {
 
         String query =
-                "{ GetAllProcessInstancesState { eventId, eventDate, 
processType, processId, processVersion, parentProcessInstanceId, rootProcessId, 
rootProcessInstanceId, processInstanceId, businessKey, eventType, outcome, 
state, slaDueDate, roles} }";
+                "{ GetAllProcessInstancesState { eventId, eventDate, 
eventUser, processType, processId, processVersion, parentProcessInstanceId, 
rootProcessId, rootProcessInstanceId, processInstanceId, businessKey, 
eventType, outcome, state, slaDueDate, roles} }";
 
         query = wrapQuery(query);
 
@@ -128,18 +128,18 @@ public class QuarkusAuditProcessInstanceServiceTest {
 
         assertThat(data)
                 .hasSize(3)
-                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"))
+                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"), e -> e.get("eventUser"))
                 .containsExactlyInAnyOrder(
-                        tuple("1", 
String.valueOf(ProcessInstance.STATE_ACTIVE)),
-                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED)),
-                        tuple("3", 
String.valueOf(ProcessInstance.STATE_ERROR)));
+                        tuple("1", 
String.valueOf(ProcessInstance.STATE_ACTIVE), "identity"),
+                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED), "identity2"),
+                        tuple("3", 
String.valueOf(ProcessInstance.STATE_ERROR), "identity3"));
 
     }
 
     @Test
     public void testGetProcessInstancesStateHistory() {
         String query =
-                "{ GetProcessInstancesStateHistory ( processInstanceId : 
\\\"2\\\") { eventId, eventDate, processType, processId, processVersion, 
parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
+                "{ GetProcessInstancesStateHistory ( processInstanceId : 
\\\"2\\\") { eventId, eventDate, eventUser, processType, processId, 
processVersion, parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
         query = wrapQuery(query);
         List<Map<String, Object>> data = given()
                 .contentType(ContentType.JSON)
@@ -154,17 +154,17 @@ public class QuarkusAuditProcessInstanceServiceTest {
 
         assertThat(data)
                 .hasSize(2)
-                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"))
+                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"), e -> e.get("eventUser"))
                 .containsExactlyInAnyOrder(
-                        tuple("2", 
String.valueOf(ProcessInstance.STATE_ACTIVE)),
-                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED)));
+                        tuple("2", 
String.valueOf(ProcessInstance.STATE_ACTIVE), "identity"),
+                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED), "identity2"));
 
     }
 
     @Test
     public void testGetProcessInstancesStateHistoryByBusinessKey() {
         String query =
-                "{ GetProcessInstancesStateHistoryByBusinessKey ( businessKey 
: \\\"BusinessKey2\\\") { eventId, eventDate, processType, processId, 
processVersion, parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
+                "{ GetProcessInstancesStateHistoryByBusinessKey ( businessKey 
: \\\"BusinessKey2\\\") { eventId, eventDate, eventUser, processType, 
processId, processVersion, parentProcessInstanceId, rootProcessId, 
rootProcessInstanceId, processInstanceId, businessKey, eventType, outcome, 
state, slaDueDate, roles} }";
         query = wrapQuery(query);
         List<Map<String, Object>> data = given()
                 .contentType(ContentType.JSON)
@@ -179,10 +179,10 @@ public class QuarkusAuditProcessInstanceServiceTest {
 
         assertThat(data)
                 .hasSize(2)
-                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"))
+                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"), e -> e.get("eventUser"))
                 .containsExactlyInAnyOrder(
-                        tuple("2", 
String.valueOf(ProcessInstance.STATE_ACTIVE)),
-                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED)));
+                        tuple("2", 
String.valueOf(ProcessInstance.STATE_ACTIVE), "identity"),
+                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED), "identity2"));
 
     }
 
@@ -190,7 +190,7 @@ public class QuarkusAuditProcessInstanceServiceTest {
     public void testGetAllProcessInstancesStateByStatus() {
 
         String query =
-                "{ GetAllProcessInstancesStateByStatus (status : \\\"1\\\") { 
eventId, eventDate, processType, processId, processVersion, 
parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
+                "{ GetAllProcessInstancesStateByStatus (status : \\\"1\\\") { 
eventId, eventDate, eventUser, processType, processId, processVersion, 
parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
 
         query = wrapQuery(query);
 
@@ -207,9 +207,9 @@ public class QuarkusAuditProcessInstanceServiceTest {
 
         assertThat(data)
                 .hasSize(1)
-                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"))
+                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"), e -> e.get("eventUser"))
                 .containsExactlyInAnyOrder(
-                        tuple("1", 
String.valueOf(ProcessInstance.STATE_ACTIVE)));
+                        tuple("1", 
String.valueOf(ProcessInstance.STATE_ACTIVE), "identity"));
 
     }
 
@@ -217,7 +217,7 @@ public class QuarkusAuditProcessInstanceServiceTest {
     public void testGetAllProcessInstancesStateByProcessId() {
 
         String query =
-                "{ GetAllProcessInstancesStateByProcessId (processId : 
\\\"processId1\\\") { eventId, eventDate, processType, processId, 
processVersion, parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
+                "{ GetAllProcessInstancesStateByProcessId (processId : 
\\\"processId1\\\") { eventId, eventDate, eventUser, processType, processId, 
processVersion, parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
 
         query = wrapQuery(query);
 
@@ -234,10 +234,10 @@ public class QuarkusAuditProcessInstanceServiceTest {
 
         assertThat(data)
                 .hasSize(2)
-                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"))
+                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"), e -> e.get("eventUser"))
                 .containsExactlyInAnyOrder(
-                        tuple("1", 
String.valueOf(ProcessInstance.STATE_ACTIVE)),
-                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED)));
+                        tuple("1", 
String.valueOf(ProcessInstance.STATE_ACTIVE), "identity"),
+                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED), "identity2"));
 
     }
 
@@ -293,7 +293,7 @@ public class QuarkusAuditProcessInstanceServiceTest {
     }
 
     @Test
-    public void testGetAllProcessInstancesVariablebyProcessInstanceId() {
+    public void testGetAllProcessInstancesVariableByProcessInstanceId() {
 
         String query =
                 "{ GetAllProcessInstancesVariableByProcessInstanceId ( 
processInstanceId : \\\"1\\\")  { eventId, eventDate, processType, processId, 
processVersion, parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, variableId, variableName, variableValue } }";
@@ -321,7 +321,7 @@ public class QuarkusAuditProcessInstanceServiceTest {
     public void testGetAllProcessInstancesVariableHistoryByProcessInstanceId() 
{
 
         String query =
-                "{ GetAllProcessInstancesVariableHistoryByProcessInstanceId ( 
processInstanceId : \\\"1\\\")  { variableId, variableName, logs { eventId, 
eventDate, processType, processId, processVersion, parentProcessInstanceId, 
rootProcessId, rootProcessInstanceId, processInstanceId, businessKey, 
variableId, variableName, variableValue} } }";
+                "{ GetAllProcessInstancesVariableHistoryByProcessInstanceId ( 
processInstanceId : \\\"1\\\")  { variableId, variableName, logs { eventId, 
eventDate, eventUser, processType, processId, processVersion, 
parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, variableId, variableName, variableValue} } }";
         query = wrapQuery(query);
         List<Map<String, Object>> data = given()
                 .contentType(ContentType.JSON)
@@ -340,5 +340,12 @@ public class QuarkusAuditProcessInstanceServiceTest {
                 .containsExactlyInAnyOrder(
                         tuple("var_id1", "varName"));
 
+        List<Map<String, Object>> variableLogs = (List<Map<String, Object>>) 
data.get(0).get("logs");
+        assertThat(variableLogs)
+                .hasSize(2)
+                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("variableId"), e -> e.get("variableName"), e -> e.get("variableValue"), e 
-> e.get("eventUser"))
+                .containsExactlyInAnyOrder(tuple("1", "var_id1", "varName", 
"variableValue", "identity"),
+                        tuple("1", "var_id1", "varName", "errorMessage", 
"identity"));
+
     }
 }
diff --git 
a/data-audit/kogito-addons-data-audit-quarkus/src/test/java/org/kie/kogito/app/audit/quarkus/QuarkusAuditProcessInstanceServiceTest.java
 
b/data-audit/kogito-addons-data-audit-springboot/src/test/java/org/kie/kogito/app/audit/springboot/SpringbootAuditProcessInstanceServiceTest.java
similarity index 81%
copy from 
data-audit/kogito-addons-data-audit-quarkus/src/test/java/org/kie/kogito/app/audit/quarkus/QuarkusAuditProcessInstanceServiceTest.java
copy to 
data-audit/kogito-addons-data-audit-springboot/src/test/java/org/kie/kogito/app/audit/springboot/SpringbootAuditProcessInstanceServiceTest.java
index 801926b79..c7c373445 100644
--- 
a/data-audit/kogito-addons-data-audit-quarkus/src/test/java/org/kie/kogito/app/audit/quarkus/QuarkusAuditProcessInstanceServiceTest.java
+++ 
b/data-audit/kogito-addons-data-audit-springboot/src/test/java/org/kie/kogito/app/audit/springboot/SpringbootAuditProcessInstanceServiceTest.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.kie.kogito.app.audit.quarkus;
+package org.kie.kogito.app.audit.springboot;
 
 import java.util.List;
 import java.util.Map;
@@ -27,34 +27,27 @@ import org.junit.jupiter.api.TestInstance;
 import org.junit.jupiter.api.TestInstance.Lifecycle;
 import org.kie.kogito.app.audit.api.SubsystemConstants;
 import org.kie.kogito.event.EventPublisher;
-import org.kie.kogito.event.process.ProcessInstanceErrorDataEvent;
-import org.kie.kogito.event.process.ProcessInstanceNodeDataEvent;
-import org.kie.kogito.event.process.ProcessInstanceNodeEventBody;
-import org.kie.kogito.event.process.ProcessInstanceStateDataEvent;
-import org.kie.kogito.event.process.ProcessInstanceStateEventBody;
-import org.kie.kogito.event.process.ProcessInstanceVariableDataEvent;
+import org.kie.kogito.event.process.*;
 import org.kie.kogito.process.ProcessInstance;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.web.server.LocalServerPort;
 
-import io.quarkus.test.junit.QuarkusTest;
 import io.restassured.http.ContentType;
 
-import jakarta.inject.Inject;
-
 import static io.restassured.RestAssured.given;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.tuple;
-import static 
org.kie.kogito.app.audit.quarkus.DataAuditTestUtils.deriveProcessInstanceStateEvent;
-import static 
org.kie.kogito.app.audit.quarkus.DataAuditTestUtils.newProcessInstanceErrorEvent;
-import static 
org.kie.kogito.app.audit.quarkus.DataAuditTestUtils.newProcessInstanceNodeEvent;
-import static 
org.kie.kogito.app.audit.quarkus.DataAuditTestUtils.newProcessInstanceStateEvent;
-import static 
org.kie.kogito.app.audit.quarkus.DataAuditTestUtils.newProcessInstanceVariableEvent;
-import static org.kie.kogito.app.audit.quarkus.DataAuditTestUtils.wrapQuery;
-
-@QuarkusTest
+import static org.kie.kogito.app.audit.quarkus.DataAuditTestUtils.*;
+
+@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, 
properties = "server_port=0")
 @TestInstance(Lifecycle.PER_CLASS)
-public class QuarkusAuditProcessInstanceServiceTest {
+public class SpringbootAuditProcessInstanceServiceTest {
+
+    @LocalServerPort
+    private Integer port;
 
-    @Inject
+    @Autowired
     EventPublisher publisher;
 
     @BeforeAll
@@ -111,13 +104,14 @@ public class QuarkusAuditProcessInstanceServiceTest {
     public void testGetAllProcessInstancesState() {
 
         String query =
-                "{ GetAllProcessInstancesState { eventId, eventDate, 
processType, processId, processVersion, parentProcessInstanceId, rootProcessId, 
rootProcessInstanceId, processInstanceId, businessKey, eventType, outcome, 
state, slaDueDate, roles} }";
+                "{ GetAllProcessInstancesState { eventId, eventDate, 
eventUser, processType, processId, processVersion, parentProcessInstanceId, 
rootProcessId, rootProcessInstanceId, processInstanceId, businessKey, 
eventType, outcome, state, slaDueDate, roles} }";
 
         query = wrapQuery(query);
 
         List<Map<String, Object>> data = given()
                 .contentType(ContentType.JSON)
                 .body(query)
+                .port(port)
                 .when()
                 .post(SubsystemConstants.DATA_AUDIT_QUERY_PATH)
                 .then()
@@ -128,22 +122,23 @@ public class QuarkusAuditProcessInstanceServiceTest {
 
         assertThat(data)
                 .hasSize(3)
-                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"))
+                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"), e -> e.get("eventUser"))
                 .containsExactlyInAnyOrder(
-                        tuple("1", 
String.valueOf(ProcessInstance.STATE_ACTIVE)),
-                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED)),
-                        tuple("3", 
String.valueOf(ProcessInstance.STATE_ERROR)));
+                        tuple("1", 
String.valueOf(ProcessInstance.STATE_ACTIVE), "identity"),
+                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED), "identity2"),
+                        tuple("3", 
String.valueOf(ProcessInstance.STATE_ERROR), "identity3"));
 
     }
 
     @Test
     public void testGetProcessInstancesStateHistory() {
         String query =
-                "{ GetProcessInstancesStateHistory ( processInstanceId : 
\\\"2\\\") { eventId, eventDate, processType, processId, processVersion, 
parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
+                "{ GetProcessInstancesStateHistory ( processInstanceId : 
\\\"2\\\") { eventId, eventDate, eventUser, processType, processId, 
processVersion, parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
         query = wrapQuery(query);
         List<Map<String, Object>> data = given()
                 .contentType(ContentType.JSON)
                 .body(query)
+                .port(port)
                 .when()
                 .post(SubsystemConstants.DATA_AUDIT_QUERY_PATH)
                 .then()
@@ -154,21 +149,22 @@ public class QuarkusAuditProcessInstanceServiceTest {
 
         assertThat(data)
                 .hasSize(2)
-                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"))
+                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"), e -> e.get("eventUser"))
                 .containsExactlyInAnyOrder(
-                        tuple("2", 
String.valueOf(ProcessInstance.STATE_ACTIVE)),
-                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED)));
+                        tuple("2", 
String.valueOf(ProcessInstance.STATE_ACTIVE), "identity"),
+                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED), "identity2"));
 
     }
 
     @Test
     public void testGetProcessInstancesStateHistoryByBusinessKey() {
         String query =
-                "{ GetProcessInstancesStateHistoryByBusinessKey ( businessKey 
: \\\"BusinessKey2\\\") { eventId, eventDate, processType, processId, 
processVersion, parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
+                "{ GetProcessInstancesStateHistoryByBusinessKey ( businessKey 
: \\\"BusinessKey2\\\") { eventId, eventDate, eventUser, processType, 
processId, processVersion, parentProcessInstanceId, rootProcessId, 
rootProcessInstanceId, processInstanceId, businessKey, eventType, outcome, 
state, slaDueDate, roles} }";
         query = wrapQuery(query);
         List<Map<String, Object>> data = given()
                 .contentType(ContentType.JSON)
                 .body(query)
+                .port(port)
                 .when()
                 .post(SubsystemConstants.DATA_AUDIT_QUERY_PATH)
                 .then()
@@ -179,10 +175,10 @@ public class QuarkusAuditProcessInstanceServiceTest {
 
         assertThat(data)
                 .hasSize(2)
-                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"))
+                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"), e -> e.get("eventUser"))
                 .containsExactlyInAnyOrder(
-                        tuple("2", 
String.valueOf(ProcessInstance.STATE_ACTIVE)),
-                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED)));
+                        tuple("2", 
String.valueOf(ProcessInstance.STATE_ACTIVE), "identity"),
+                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED), "identity2"));
 
     }
 
@@ -190,13 +186,14 @@ public class QuarkusAuditProcessInstanceServiceTest {
     public void testGetAllProcessInstancesStateByStatus() {
 
         String query =
-                "{ GetAllProcessInstancesStateByStatus (status : \\\"1\\\") { 
eventId, eventDate, processType, processId, processVersion, 
parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
+                "{ GetAllProcessInstancesStateByStatus (status : \\\"1\\\") { 
eventId, eventDate, eventUser, processType, processId, processVersion, 
parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
 
         query = wrapQuery(query);
 
         List<Map<String, Object>> data = given()
                 .contentType(ContentType.JSON)
                 .body(query)
+                .port(port)
                 .when()
                 .post(SubsystemConstants.DATA_AUDIT_QUERY_PATH)
                 .then()
@@ -207,9 +204,9 @@ public class QuarkusAuditProcessInstanceServiceTest {
 
         assertThat(data)
                 .hasSize(1)
-                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"))
+                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"), e -> e.get("eventUser"))
                 .containsExactlyInAnyOrder(
-                        tuple("1", 
String.valueOf(ProcessInstance.STATE_ACTIVE)));
+                        tuple("1", 
String.valueOf(ProcessInstance.STATE_ACTIVE), "identity"));
 
     }
 
@@ -217,13 +214,14 @@ public class QuarkusAuditProcessInstanceServiceTest {
     public void testGetAllProcessInstancesStateByProcessId() {
 
         String query =
-                "{ GetAllProcessInstancesStateByProcessId (processId : 
\\\"processId1\\\") { eventId, eventDate, processType, processId, 
processVersion, parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
+                "{ GetAllProcessInstancesStateByProcessId (processId : 
\\\"processId1\\\") { eventId, eventDate, eventUser, processType, processId, 
processVersion, parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, eventType, outcome, state, slaDueDate, roles} 
}";
 
         query = wrapQuery(query);
 
         List<Map<String, Object>> data = given()
                 .contentType(ContentType.JSON)
                 .body(query)
+                .port(port)
                 .when()
                 .post(SubsystemConstants.DATA_AUDIT_QUERY_PATH)
                 .then()
@@ -234,10 +232,10 @@ public class QuarkusAuditProcessInstanceServiceTest {
 
         assertThat(data)
                 .hasSize(2)
-                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"))
+                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("state"), e -> e.get("eventUser"))
                 .containsExactlyInAnyOrder(
-                        tuple("1", 
String.valueOf(ProcessInstance.STATE_ACTIVE)),
-                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED)));
+                        tuple("1", 
String.valueOf(ProcessInstance.STATE_ACTIVE), "identity"),
+                        tuple("2", 
String.valueOf(ProcessInstance.STATE_COMPLETED), "identity2"));
 
     }
 
@@ -249,6 +247,7 @@ public class QuarkusAuditProcessInstanceServiceTest {
         List<Map<String, Object>> data = given()
                 .contentType(ContentType.JSON)
                 .body(query)
+                .port(port)
                 .when()
                 .post(SubsystemConstants.DATA_AUDIT_QUERY_PATH)
                 .then()
@@ -275,6 +274,7 @@ public class QuarkusAuditProcessInstanceServiceTest {
         List<Map<String, Object>> data = given()
                 .contentType(ContentType.JSON)
                 .body(query)
+                .port(port)
                 .when()
                 .post(SubsystemConstants.DATA_AUDIT_QUERY_PATH)
                 .then()
@@ -293,7 +293,7 @@ public class QuarkusAuditProcessInstanceServiceTest {
     }
 
     @Test
-    public void testGetAllProcessInstancesVariablebyProcessInstanceId() {
+    public void testGetAllProcessInstancesVariableByProcessInstanceId() {
 
         String query =
                 "{ GetAllProcessInstancesVariableByProcessInstanceId ( 
processInstanceId : \\\"1\\\")  { eventId, eventDate, processType, processId, 
processVersion, parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, variableId, variableName, variableValue } }";
@@ -301,6 +301,7 @@ public class QuarkusAuditProcessInstanceServiceTest {
         List<Map<String, Object>> data = given()
                 .contentType(ContentType.JSON)
                 .body(query)
+                .port(port)
                 .when()
                 .post(SubsystemConstants.DATA_AUDIT_QUERY_PATH)
                 .then()
@@ -321,11 +322,12 @@ public class QuarkusAuditProcessInstanceServiceTest {
     public void testGetAllProcessInstancesVariableHistoryByProcessInstanceId() 
{
 
         String query =
-                "{ GetAllProcessInstancesVariableHistoryByProcessInstanceId ( 
processInstanceId : \\\"1\\\")  { variableId, variableName, logs { eventId, 
eventDate, processType, processId, processVersion, parentProcessInstanceId, 
rootProcessId, rootProcessInstanceId, processInstanceId, businessKey, 
variableId, variableName, variableValue} } }";
+                "{ GetAllProcessInstancesVariableHistoryByProcessInstanceId ( 
processInstanceId : \\\"1\\\")  { variableId, variableName, logs { eventId, 
eventDate, eventUser, processType, processId, processVersion, 
parentProcessInstanceId, rootProcessId, rootProcessInstanceId, 
processInstanceId, businessKey, variableId, variableName, variableValue} } }";
         query = wrapQuery(query);
         List<Map<String, Object>> data = given()
                 .contentType(ContentType.JSON)
                 .body(query)
+                .port(port)
                 .when()
                 .post(SubsystemConstants.DATA_AUDIT_QUERY_PATH)
                 .then()
@@ -340,5 +342,12 @@ public class QuarkusAuditProcessInstanceServiceTest {
                 .containsExactlyInAnyOrder(
                         tuple("var_id1", "varName"));
 
+        List<Map<String, Object>> variableLogs = (List<Map<String, Object>>) 
data.get(0).get("logs");
+        assertThat(variableLogs)
+                .hasSize(2)
+                .extracting(e -> e.get("processInstanceId"), e -> 
e.get("variableId"), e -> e.get("variableName"), e -> e.get("variableValue"), e 
-> e.get("eventUser"))
+                .containsExactlyInAnyOrder(tuple("1", "var_id1", "varName", 
"variableValue", "identity"),
+                        tuple("1", "var_id1", "varName", "errorMessage", 
"identity"));
+
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to