From 3cc0cfd86c21baf4d2ff3a3b7c0d910e7c577038 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Tue, 10 Sep 2024 09:34:46 -0500 Subject: [PATCH] CE-1654 - Just log, don't throw, if missing a security key value (should this be a setting??) --- .../core/actions/audits/AuditAction.java | 8 +++- .../core/actions/audits/AuditActionTest.java | 48 +++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/audits/AuditAction.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/audits/AuditAction.java index 518718a9..5cb122f4 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/audits/AuditAction.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/audits/AuditAction.java @@ -225,7 +225,13 @@ public class AuditAction extends AbstractQActionFunction auditRecord = GeneralProcessUtils.getRecordByField("audit", "recordId", recordId); + assertTrue(auditRecord.isPresent()); + + assertThat(collectingLogger.getCollectedMessages()).anyMatch(m -> m.getMessage().contains("Missing securityKeyValue in audit request")); + collectingLogger.clear(); + + //////////////////////////////////////////////////////////////////////////////////////////////// + // try again with a null value in the key - that should be ok - as at least you were thinking // + // about the key and put in SOME value (null has its own semantics in security keys) // + //////////////////////////////////////////////////////////////////////////////////////////////// + Map securityKeys = new HashMap<>(); + securityKeys.put(TestUtils.SECURITY_KEY_TYPE_STORE, null); + AuditAction.execute(TestUtils.TABLE_NAME_ORDER, recordId, securityKeys, "Test Audit"); + + ///////////////////////////////////// + // now the audit should be stored. // + ///////////////////////////////////// + auditRecord = GeneralProcessUtils.getRecordByField("audit", "recordId", recordId); + assertTrue(auditRecord.isPresent()); + assertThat(collectingLogger.getCollectedMessages()).noneMatch(m -> m.getMessage().contains("Missing securityKeyValue in audit request")); + } + + + /******************************************************************************* ** *******************************************************************************/