From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-biz-common/jnpf-audit-sdk/src/test/java/jnpf/audit/sdk/aspect/AuditRequestTitleResolverChecks.java |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/jnpf-biz-common/jnpf-audit-sdk/src/test/java/jnpf/audit/sdk/aspect/AuditRequestTitleResolverChecks.java b/jnpf-biz-common/jnpf-audit-sdk/src/test/java/jnpf/audit/sdk/aspect/AuditRequestTitleResolverChecks.java
new file mode 100644
index 0000000..e5742e6
--- /dev/null
+++ b/jnpf-biz-common/jnpf-audit-sdk/src/test/java/jnpf/audit/sdk/aspect/AuditRequestTitleResolverChecks.java
@@ -0,0 +1,43 @@
+package jnpf.audit.sdk.aspect;
+
+import java.nio.charset.StandardCharsets;
+import java.util.Base64;
+
+/** Header decoding and title sanitizing checks; runnable without a test framework. */
+public final class AuditRequestTitleResolverChecks {
+
+    private AuditRequestTitleResolverChecks() {
+    }
+
+    public static void main(String[] args) {
+        String encoded = Base64.getEncoder().encodeToString(("["
+                + "{\"field\":\"code\",\"displayValue\":\"LIMS-001\"},"
+                + "{\"field\":\"product\",\"displayValue\":\"闃胯帿瑗挎灄\\n鑳跺泭\"}"
+                + "]").getBytes(StandardCharsets.UTF_8));
+        check("LIMS-001/闃胯帿瑗挎灄 鑳跺泭".equals(AuditRequestTitleResolver.resolveEncoded(encoded)));
+        String full = repeat('a', 400);
+        String capped = encode("[{\"displayValue\":\"" + full + "\"},{\"displayValue\":\"tail\"}]");
+        check(full.equals(AuditRequestTitleResolver.resolveEncoded(capped)));
+        check(AuditRequestTitleResolver.resolveEncoded("not-base64") == null);
+        check(AuditRequestTitleResolver.resolveEncoded(null) == null);
+        System.out.println("AuditRequestTitleResolverChecks: all checks passed");
+    }
+
+    private static void check(boolean condition) {
+        if (!condition) {
+            throw new AssertionError();
+        }
+    }
+
+    private static String encode(String value) {
+        return Base64.getEncoder().encodeToString(value.getBytes(StandardCharsets.UTF_8));
+    }
+
+    private static String repeat(char value, int count) {
+        StringBuilder out = new StringBuilder(count);
+        for (int i = 0; i < count; i++) {
+            out.append(value);
+        }
+        return out.toString();
+    }
+}

--
Gitblit v1.8.0