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);
|
}
|
}
|
}
|