From d0976e5653289189240fda6836cf039615167de6 Mon Sep 17 00:00:00 2001 From: daizhenyu <1449308021@qq.com> Date: Thu, 10 Oct 2024 14:32:09 +0800 Subject: [PATCH] fix the issue that XdsRouterUtilTest mock XdsServiceDiscovery failed Signed-off-by: daizhenyu <1449308021@qq.com> --- .../sermant/router/common/utils/XdsRouterUtils.java | 11 +++++++++++ .../router/common/utils/XdsRouterUtilTest.java | 9 ++++----- .../router/common/xds/XdsRouterHandlerTest.java | 10 ++++------ 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/sermant-plugins/sermant-router/router-common/src/main/java/io/sermant/router/common/utils/XdsRouterUtils.java b/sermant-plugins/sermant-router/router-common/src/main/java/io/sermant/router/common/utils/XdsRouterUtils.java index c954f62f95..9ba22daa30 100644 --- a/sermant-plugins/sermant-router/router-common/src/main/java/io/sermant/router/common/utils/XdsRouterUtils.java +++ b/sermant-plugins/sermant-router/router-common/src/main/java/io/sermant/router/common/utils/XdsRouterUtils.java @@ -77,6 +77,17 @@ public static Optional getLocalityInfoOfSelfService() { } } + /** + * updateServiceDiscovery + * + * @param xdsServiceDiscovery xdsServiceDiscovery + */ + public static void updateServiceDiscovery(XdsServiceDiscovery xdsServiceDiscovery) { + if (xdsServiceDiscovery != null) { + serviceDiscovery = xdsServiceDiscovery; + } + } + private static Optional getMatchedServiceInstanceByPodIp(Set serviceInstances, String podIp) { return serviceInstances.stream() diff --git a/sermant-plugins/sermant-router/router-common/src/test/java/io/sermant/router/common/utils/XdsRouterUtilTest.java b/sermant-plugins/sermant-router/router-common/src/test/java/io/sermant/router/common/utils/XdsRouterUtilTest.java index cb8c74748b..df7fbef0a1 100644 --- a/sermant-plugins/sermant-router/router-common/src/test/java/io/sermant/router/common/utils/XdsRouterUtilTest.java +++ b/sermant-plugins/sermant-router/router-common/src/test/java/io/sermant/router/common/utils/XdsRouterUtilTest.java @@ -48,8 +48,6 @@ * @since 2024-08-31 **/ public class XdsRouterUtilTest { - private static XdsServiceDiscovery serviceDiscovery; - private static MockedStatic serviceManager; private static MockedStatic networkUtils; @@ -57,23 +55,24 @@ public class XdsRouterUtilTest { private static MockedStatic 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(); diff --git a/sermant-plugins/sermant-router/router-common/src/test/java/io/sermant/router/common/xds/XdsRouterHandlerTest.java b/sermant-plugins/sermant-router/router-common/src/test/java/io/sermant/router/common/xds/XdsRouterHandlerTest.java index c77482c98b..57b70f9d7f 100644 --- a/sermant-plugins/sermant-router/router-common/src/test/java/io/sermant/router/common/xds/XdsRouterHandlerTest.java +++ b/sermant-plugins/sermant-router/router-common/src/test/java/io/sermant/router/common/xds/XdsRouterHandlerTest.java @@ -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; private static MockedStatic xdsRouterUtil; @@ -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);