puzhibing
2026-04-10 ed838e62602c0a63a64ff4bd144a0d16cc9a7cf8
xp-robotaxi-automatic-pilot-boot/src/test/java/com/xiaopeng/automaticPilot/util/XPUUtilTest.java
@@ -3,8 +3,11 @@
import com.xiaopeng.api.dto.automaticPilot.MqttPublishDto;
import com.xiaopeng.api.feignClient.automaticPilot.VmpOpenServiceClient;
import com.xiaopeng.api.feignClient.automaticPilot.XPUClient;
import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicle;
import com.xiaopeng.api.vo.automaticPilot.MqttPublishVo;
import com.xiaopeng.api.vo.automaticPilot.protobuf.*;
import com.xiaopeng.common.core.domain.R;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -21,6 +24,7 @@
    private XPUUtil xpuUtil;
    private XPUClient xpuClient;
    private VmpOpenServiceClient vmpClient;
    private XpVehicleClient xpVehicleClient;
    @BeforeEach
    public void setUp() throws Exception {
@@ -48,6 +52,16 @@
        Field xpuClientField = XPUUtil.class.getDeclaredField("xpuClient");
        xpuClientField.setAccessible(true);
        xpuClientField.set(xpuUtil, xpuClient);
        XpVehicle xpVehicle = new XpVehicle();
        xpVehicle.setXpuId("c47b405bee79000f282a36e800000000");
        xpVehicleClient = Mockito.mock(XpVehicleClient.class);
        Mockito.when(xpVehicleClient.findByVehicleVin(Mockito.anyString()))
                .thenReturn(R.ok(xpVehicle));
        // Inject mocks
        Field xpVehicleClientField = XPUUtil.class.getDeclaredField("xpVehicleClient");
        xpVehicleClientField.setAccessible(true);
        xpVehicleClientField.set(xpuUtil, xpVehicleClient);
        Field topicField = XPUUtil.class.getDeclaredField("topicPrefix");
        topicField.setAccessible(true);
@@ -157,7 +171,7 @@
        String vin = "VIN12345678900000";
        xpuUtil.responseMessage(responseMessageBuilder.build(), vin);
        xpuUtil.responseMessage(RTCmdType.CLOUD_TASK_CONTROL, responseMessageBuilder.build(), vin);
        ArgumentCaptor<MqttPublishVo> captor = ArgumentCaptor.forClass(MqttPublishVo.class);
        Mockito.verify(xpuClient).publish(captor.capture());