fix(event-bridge): retain downstream business errors
This commit is contained in:
+26
@@ -0,0 +1,26 @@
|
||||
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");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user