刘光辉
4 小时以前 06f314545ac3514d7ce28939920866ae8188d31c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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);
        }
    }
}