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
< 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 <
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 <
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 <
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 < 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]