diff --git a/src/org/labkey/test/WebDriverWrapper.java b/src/org/labkey/test/WebDriverWrapper.java index 28cca5bc2f..e24b95b1eb 100644 --- a/src/org/labkey/test/WebDriverWrapper.java +++ b/src/org/labkey/test/WebDriverWrapper.java @@ -1358,6 +1358,11 @@ public String getDisplayName() return whoAmI().getDisplayName(); } + public int getCurrentUserId() + { + return whoAmI().getUserId().intValue(); + } + public String getCurrentDateTimeFormatString() { return (String)executeScript("return LABKEY.container.formats.dateTimeFormat"); diff --git a/src/org/labkey/test/util/AuditLogHelper.java b/src/org/labkey/test/util/AuditLogHelper.java index 8914ff5190..f684b03d0c 100644 --- a/src/org/labkey/test/util/AuditLogHelper.java +++ b/src/org/labkey/test/util/AuditLogHelper.java @@ -171,15 +171,20 @@ public void checkAuditEventDiffCount(String containerPath, AuditEvent auditEvent } public void checkAuditEventDiffCount(String containerPath, AuditEvent auditEventName, List filters, List expectedDiffCounts) throws IOException, CommandException { - Integer maxRows = expectedDiffCounts.size(); - List> events = getAuditLogsFromLKS(containerPath, auditEventName, List.of("InventoryUpdateType", "NewRecordMap"), filters, maxRows, ContainerFilter.CurrentAndSubfolders).getRows(); + checkAuditEventDiffCount(containerPath, auditEventName, "NewRecordMap", filters, expectedDiffCounts); + } + + public void checkAuditEventDiffCount(String containerPath, AuditEvent auditEventName, String eventDiffFieldName, List filters, List expectedDiffCounts) throws IOException, CommandException + { + Integer maxRows = filters == null || filters.isEmpty() ? expectedDiffCounts.size() : null; + List> events = getAuditLogsFromLKS(containerPath, auditEventName, List.of("InventoryUpdateType", eventDiffFieldName), filters, maxRows, ContainerFilter.CurrentAndSubfolders).getRows(); assertEquals("Unexpected number of events", expectedDiffCounts.size(), events.size()); for (int i = 0; i < expectedDiffCounts.size(); i++) { Map event = events.get(i); boolean isInventoryUpdateType = event.get("InventoryUpdateType") != null; int expectedDiffCount = isInventoryUpdateType ? 0 : expectedDiffCounts.get(i); - String dataChangesStr = (String) event.get("NewRecordMap"); + String dataChangesStr = (String) event.get(eventDiffFieldName); String[] dataChanges = dataChangesStr != null ? dataChangesStr.split("&") : new String[0]; // filter out SampleStateLabel as that is not a change, it is added for display purposes @@ -187,8 +192,8 @@ public void checkAuditEventDiffCount(String containerPath, AuditEvent auditEvent // filter out RowId as that is not a change, it is added for display purposes dataChanges = Stream.of(dataChanges).filter(s -> !s.toLowerCase().startsWith("rowid=")).toArray(String[]::new); - TestLogger.log("Audit record data changes diff count check: " + dataChangesStr); - assertEquals("Audit record data changes did not include the expected number of diffs, expected " + expectedDiffCount + " but was " + dataChanges.length + ": " + dataChangesStr, + TestLogger.log("Audit record data changes diff count check (" + eventDiffFieldName + "): " + dataChangesStr); + assertEquals("Audit record data changes did not include the expected number of diffs in " + eventDiffFieldName + ", expected " + expectedDiffCount + " but was " + dataChanges.length + ": " + dataChangesStr, expectedDiffCount, dataChanges.length); } }