Files
baiyue-firstleg/event-bridge-service/src/test/java/com/baiyue/eventbridge/service/HttpLastlegEventClientTest.java
T

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