From fb2a3a436898ab45c4066187739ac94433179c36 Mon Sep 17 00:00:00 2001 From: cnathe Date: Tue, 1 Jul 2025 12:14:49 -0500 Subject: [PATCH 1/5] Add AuditLogHelper checkAuditEventDiffCount support for checking event "Metadata" in addition to "NewRecordMap" --- src/org/labkey/test/util/AuditLogHelper.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/org/labkey/test/util/AuditLogHelper.java b/src/org/labkey/test/util/AuditLogHelper.java index 8914ff5190..5747710cf1 100644 --- a/src/org/labkey/test/util/AuditLogHelper.java +++ b/src/org/labkey/test/util/AuditLogHelper.java @@ -170,16 +170,21 @@ public void checkAuditEventDiffCount(String containerPath, AuditEvent auditEvent checkAuditEventDiffCount(containerPath, auditEventName, Collections.emptyList(), expectedDiffCounts); } public void checkAuditEventDiffCount(String containerPath, AuditEvent auditEventName, List filters, List expectedDiffCounts) throws IOException, CommandException + { + checkAuditEventDiffCount(containerPath, auditEventName, "NewRecordMap", filters, expectedDiffCounts); + } + + public void checkAuditEventDiffCount(String containerPath, AuditEvent auditEventName, String eventDiffFieldName, 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(); + 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); } } From 740536bd831d8d867f75080747e9ecaa82f4d593 Mon Sep 17 00:00:00 2001 From: cnathe Date: Wed, 2 Jul 2025 09:07:14 -0500 Subject: [PATCH 2/5] AuditLogHelper remove maxRows to test if it is needed --- src/org/labkey/test/util/AuditLogHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/labkey/test/util/AuditLogHelper.java b/src/org/labkey/test/util/AuditLogHelper.java index 5747710cf1..42687dd893 100644 --- a/src/org/labkey/test/util/AuditLogHelper.java +++ b/src/org/labkey/test/util/AuditLogHelper.java @@ -176,7 +176,7 @@ public void checkAuditEventDiffCount(String containerPath, AuditEvent auditEvent public void checkAuditEventDiffCount(String containerPath, AuditEvent auditEventName, String eventDiffFieldName, List filters, List expectedDiffCounts) throws IOException, CommandException { - Integer maxRows = expectedDiffCounts.size(); + Integer maxRows = null;//expectedDiffCounts.size(); TODO decide on this up before merge 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++) From d0c69d9a14883fa471ad7f545923658e3f39db0c Mon Sep 17 00:00:00 2001 From: cnathe Date: Wed, 2 Jul 2025 10:38:31 -0500 Subject: [PATCH 3/5] WebDriverWrapper helper for getUserId --- src/org/labkey/test/WebDriverWrapper.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/org/labkey/test/WebDriverWrapper.java b/src/org/labkey/test/WebDriverWrapper.java index efab59f6f8..d350a1114a 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 Number getUserId() + { + return whoAmI().getUserId(); + } + public String getCurrentDateTimeFormatString() { return (String)executeScript("return LABKEY.container.formats.dateTimeFormat"); From 5a0628d02a55348554b79c75bfeb95e03f708f6d Mon Sep 17 00:00:00 2001 From: cnathe Date: Wed, 2 Jul 2025 13:20:15 -0500 Subject: [PATCH 4/5] AuditLogHelper.checkAuditEventDiffCount should set maxRows when no filters provided --- src/org/labkey/test/util/AuditLogHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/org/labkey/test/util/AuditLogHelper.java b/src/org/labkey/test/util/AuditLogHelper.java index 42687dd893..f684b03d0c 100644 --- a/src/org/labkey/test/util/AuditLogHelper.java +++ b/src/org/labkey/test/util/AuditLogHelper.java @@ -176,7 +176,7 @@ public void checkAuditEventDiffCount(String containerPath, AuditEvent auditEvent public void checkAuditEventDiffCount(String containerPath, AuditEvent auditEventName, String eventDiffFieldName, List filters, List expectedDiffCounts) throws IOException, CommandException { - Integer maxRows = null;//expectedDiffCounts.size(); TODO decide on this up before merge + 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++) From c2abed70ceae14ad8a44b9a10b49d4c80cadae70 Mon Sep 17 00:00:00 2001 From: cnathe Date: Mon, 7 Jul 2025 12:56:29 -0500 Subject: [PATCH 5/5] test build fix --- src/org/labkey/test/WebDriverWrapper.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/org/labkey/test/WebDriverWrapper.java b/src/org/labkey/test/WebDriverWrapper.java index 9ecc0f217d..e24b95b1eb 100644 --- a/src/org/labkey/test/WebDriverWrapper.java +++ b/src/org/labkey/test/WebDriverWrapper.java @@ -1358,9 +1358,9 @@ public String getDisplayName() return whoAmI().getDisplayName(); } - public Number getUserId() + public int getCurrentUserId() { - return whoAmI().getUserId(); + return whoAmI().getUserId().intValue(); } public String getCurrentDateTimeFormatString()