package com.xiaopeng.automaticPilot.util;
|
|
import com.xiaopeng.api.feignClient.automaticPilot.VmpOpenServiceClient;
|
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.Test;
|
import org.mockito.Mockito;
|
|
import java.lang.reflect.Field;
|
import java.lang.reflect.Method;
|
import java.util.Collections;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
public class XPUUtilTest {
|
|
private XPUUtil xpuUtil;
|
|
@BeforeEach
|
public void setUp() throws Exception {
|
xpuUtil = new XPUUtil();
|
VmpOpenServiceClient vmpClient = Mockito.mock(VmpOpenServiceClient.class);
|
Map<String, String> mapping = new HashMap<>();
|
mapping.put(XPUUtil.XPU_ID_TYPE, "1234567890ABCDEFGHIJKL");
|
Mockito.when(vmpClient.getVehicleBindInfoByVin(Mockito.anyString(), Mockito.anyList()))
|
.thenReturn(mapping);
|
Field vmpField = XPUUtil.class.getDeclaredField("vmpOpenServiceClient");
|
vmpField.setAccessible(true);
|
vmpField.set(xpuUtil, vmpClient);
|
Field topicField = XPUUtil.class.getDeclaredField("topicPrefix");
|
topicField.setAccessible(true);
|
topicField.set(xpuUtil, "Robotaxi/Msg/Xpu");
|
}
|
|
@Test
|
public void testBuildTopicByVin() throws Exception {
|
Method buildTopic = XPUUtil.class.getDeclaredMethod("buildTopicByVin", String.class);
|
buildTopic.setAccessible(true);
|
String result = (String) buildTopic.invoke(xpuUtil, "VIN123");
|
Assertions.assertEquals("Robotaxi/Msg/Xpu/ABCDEFGHIJKL00000000", result);
|
}
|
}
|