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