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 HttpFirstlegEventClientTest {
|
||
|
|
private final ObjectMapper objectMapper = new ObjectMapper();
|
||
|
|
|
||
|
|
@Test
|
||
|
|
void businessFailureIsDiagnosableAndMustNotBeTreatedAsAcknowledged() throws Exception {
|
||
|
|
var body = objectMapper.readTree("""
|
||
|
|
{"code":"A0409","message":"事件摘要冲突","requestId":"request-cn-1","traceId":"trace-cn-1"}
|
||
|
|
""");
|
||
|
|
|
||
|
|
assertThat(HttpFirstlegEventClient.failureMessage(200, body))
|
||
|
|
.isEqualTo("头程消费失败: HTTP 200, code=A0409, message=事件摘要冲突, requestId=request-cn-1, traceId=trace-cn-1");
|
||
|
|
}
|
||
|
|
|
||
|
|
@Test
|
||
|
|
void nonJsonFailureIsStillDiagnosableWithoutRawBody() {
|
||
|
|
assertThat(HttpFirstlegEventClient.failureMessage(503, null))
|
||
|
|
.isEqualTo("头程消费失败: HTTP 503, code=missing, message=non-json response, requestId=missing, traceId=missing");
|
||
|
|
}
|
||
|
|
}
|