27 lines
1.0 KiB
Java
27 lines
1.0 KiB
Java
package com.baiyue.eventbridge.service;
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
|
|
class HttpLastlegEventClientTest {
|
|
private final ObjectMapper objectMapper = new ObjectMapper();
|
|
|
|
@Test
|
|
void failureIncludesBusinessCodeMessageAndTraceEvidence() throws Exception {
|
|
var body = objectMapper.readTree("""
|
|
{"code":"A0400","message":"入仓计划数据无效","requestId":"request-1","traceId":"trace-1"}
|
|
""");
|
|
|
|
assertThat(HttpLastlegEventClient.failureMessage(200, body))
|
|
.isEqualTo("尾程消费失败: HTTP 200, code=A0400, message=入仓计划数据无效, requestId=request-1, traceId=trace-1");
|
|
}
|
|
|
|
@Test
|
|
void nonJsonFailureIsStillDiagnosableWithoutLeakingRawBody() {
|
|
assertThat(HttpLastlegEventClient.failureMessage(502, null))
|
|
.isEqualTo("尾程消费失败: HTTP 502, code=missing, message=non-json response, requestId=missing, traceId=missing");
|
|
}
|
|
}
|