package jnpf.audit.sdk.aspect; import jnpf.audit.model.AuditEventDTO; /** {@code @AuditLog} 请求签名 ID 归一化契约检查。 */ public final class AuditLogRelatedSignChecks { private AuditLogRelatedSignChecks() { } public static void main(String[] args) { check("签名 ID 去除首尾空白", "865169393657605381".equals( AuditLogAspect.normalizeRelatedSignId(" 865169393657605381 "))); check("空签名不关联", AuditLogAspect.normalizeRelatedSignId(" ") == null); check("缺少签名不关联", AuditLogAspect.normalizeRelatedSignId(null) == null); AuditEventDTO success = AuditEventDTO.builder().build(); AuditLogAspect.applyRequestRelatedSign(success, " sign-1 ", false); check("成功事件携带请求签名", "sign-1".equals(success.getRelatedSignId())); AuditEventDTO failure = AuditEventDTO.builder().build(); AuditLogAspect.applyRequestRelatedSign(failure, "sign-1", true); check("失败事件不声明签名已使用", failure.getRelatedSignId() == null); System.out.println("AuditLogRelatedSignChecks: all checks passed"); } private static void check(String name, boolean condition) { if (!condition) { throw new AssertionError(name); } } }