Skip to content

Commit

Permalink
Merge pull request #1650 from daizhenyu/2.1.x-fix-ut-bug
Browse files Browse the repository at this point in the history
fix the issue that XdsRouterUtilTest mock XdsServiceDiscovery failed
  • Loading branch information
Sherlockhan authored Oct 24, 2024
2 parents 1d65e26 + d0976e5 commit 26c6fad
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,17 @@ public static Optional<XdsLocality> getLocalityInfoOfSelfService() {
}
}

/**
* updateServiceDiscovery
*
* @param xdsServiceDiscovery xdsServiceDiscovery
*/
public static void updateServiceDiscovery(XdsServiceDiscovery xdsServiceDiscovery) {
if (xdsServiceDiscovery != null) {
serviceDiscovery = xdsServiceDiscovery;
}
}

private static Optional<ServiceInstance> getMatchedServiceInstanceByPodIp(Set<ServiceInstance> serviceInstances,
String podIp) {
return serviceInstances.stream()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,32 +48,31 @@
* @since 2024-08-31
**/
public class XdsRouterUtilTest {
private static XdsServiceDiscovery serviceDiscovery;

private static MockedStatic<ServiceManager> serviceManager;

private static MockedStatic<NetworkUtils> networkUtils;

private static MockedStatic<ConfigManager> configManager;

@BeforeClass
public static void setUp() throws Exception {
public static void setUp() {
XdsCoreService xdsCoreService = Mockito.mock(XdsCoreService.class);
serviceManager = Mockito.mockStatic(ServiceManager.class);
Mockito.when(ServiceManager.getService(XdsCoreService.class)).thenReturn(xdsCoreService);
networkUtils = Mockito.mockStatic(NetworkUtils.class);
Mockito.when(NetworkUtils.getKubernetesPodIp()).thenReturn("127.0.0.1");

serviceDiscovery = Mockito.mock(XdsServiceDiscovery.class);
XdsServiceDiscovery serviceDiscovery = Mockito.mock(XdsServiceDiscovery.class);
Mockito.when(xdsCoreService.getXdsServiceDiscovery()).thenReturn(serviceDiscovery);
Mockito.when(serviceDiscovery.getServiceInstance("serviceA"))
.thenReturn(createServiceInstance4Service(Arrays.asList("127.0.0.1", "host", "localhost")));

XdsRouterUtils.updateServiceDiscovery(serviceDiscovery);
configManager = Mockito.mockStatic(ConfigManager.class);
}

@AfterClass
public static void tearDown() throws Exception {
public static void tearDown() {
serviceManager.close();
networkUtils.close();
configManager.close();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,14 @@
import java.util.Set;

/**
* XdsRouterHandlerTest
*
* @author daizhenyu
* @since 2024-08-30
**/
public class XdsRouterHandlerTest {
private static final String CLUSTER_NAME = "outbound|8080||serviceA.default.svc.cluster.local";

private static XdsRouteService routeService;

private static XdsServiceDiscovery serviceDiscovery;

private static MockedStatic<ServiceManager> serviceManager;

private static MockedStatic<XdsRouterUtils> xdsRouterUtil;
Expand All @@ -69,8 +67,8 @@ public class XdsRouterHandlerTest {

@BeforeClass
public static void setUp() {
routeService = Mockito.mock(XdsRouteService.class);
serviceDiscovery = Mockito.mock(XdsServiceDiscovery.class);
XdsRouteService routeService = Mockito.mock(XdsRouteService.class);
XdsServiceDiscovery serviceDiscovery = Mockito.mock(XdsServiceDiscovery.class);
XdsCoreService xdsCoreService = Mockito.mock(XdsCoreService.class);
Mockito.when(xdsCoreService.getXdsRouteService()).thenReturn(routeService);
Mockito.when(xdsCoreService.getXdsServiceDiscovery()).thenReturn(serviceDiscovery);
Expand Down

0 comments on commit 26c6fad

Please sign in to comment.