From df70625f352af286bc4aa4b241439d8d918a8a07 Mon Sep 17 00:00:00 2001 From: jiaqian Date: Tue, 11 Jun 2024 15:39:21 +0800 Subject: [PATCH 1/6] =?UTF-8?q?--other=3D=E5=8C=97=E6=9E=81=E6=98=9F?= =?UTF-8?q?=E8=B7=AF=E7=94=B1=E6=A8=A1=E5=9D=97=E7=94=A8=E4=BE=8B=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../open/polaris/common/PolarisTransTest.java | 79 ++++++++++++++++++- 1 file changed, 75 insertions(+), 4 deletions(-) diff --git a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java index 69448746f2..5184db371a 100644 --- a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java +++ b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java @@ -11,18 +11,31 @@ package com.tencent.trpc.selector.open.polaris.common; +import static org.mockito.Mockito.when; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.junit.Assert; +import org.junit.Test; +import org.mockito.Mockito; + import com.google.common.collect.Maps; +import com.tencent.polaris.api.plugin.route.RouteResult; +import com.tencent.polaris.api.plugin.route.RouteResult.NextRouterInfo; +import com.tencent.polaris.api.plugin.route.RouteResult.State; +import com.tencent.polaris.api.pojo.Instance; +import com.tencent.polaris.api.rpc.InstancesResponse; import com.tencent.polaris.factory.config.ConfigurationImpl; import com.tencent.polaris.factory.config.consumer.ConsumerConfigImpl; import com.tencent.polaris.factory.config.consumer.LocalCacheConfigImpl; import com.tencent.polaris.factory.config.global.APIConfigImpl; import com.tencent.polaris.factory.config.global.ServerConnectorConfigImpl; +import com.tencent.trpc.core.selector.ServiceInstance; import com.tencent.trpc.polaris.common.PolarisConstant; import com.tencent.trpc.polaris.common.PolarisTrans; -import java.util.HashMap; -import java.util.Map; -import org.junit.Assert; -import org.junit.Test; public class PolarisTransTest { @@ -143,4 +156,62 @@ public void testUpdateConsumerConfig() { Assert.assertEquals(3, cacheConfig.getPersistMaxWriteRetry()); Assert.assertEquals("test_type", cacheConfig.getType()); } + + @Test + public void testGetPolarisInstanceId() { + Instance instance = Mockito.mock(Instance.class); + when(instance.getHost()).thenReturn("127.0.0.1"); + when(instance.getPort()).thenReturn(111); + when(instance.isHealthy()).thenReturn(true); + when(instance.getRevision()).thenReturn("1.0.0"); + Map metadata = new HashMap<>(); + metadata.put("set", "set.sz.1"); + metadata.put(PolarisConstant.POLARIS_ID, "sz0001"); + when(instance.getMetadata()).thenReturn(metadata); + + InstancesResponse instancesResponse = Mockito.mock(InstancesResponse.class); + when(instancesResponse.getTotalWeight()).thenReturn(1000); + when(instancesResponse.getNamespace()).thenReturn("dev"); + when(instancesResponse.getService()).thenReturn("trpc.test.test.1"); + when(instancesResponse.getInstances()).thenReturn(new Instance[]{instance}); + + ServiceInstance serviceInstance = PolarisTrans + .toServiceInstance(instancesResponse, instance); + String instanceId = PolarisTrans.getPolarisInstanceId(serviceInstance); + Assert.assertEquals("sz0001",instanceId); + } + + @Test + public void testParseRouterResult() { + Instance instance1 = Mockito.mock(Instance.class); + when(instance1.getId()).thenReturn("10001"); + when(instance1.getHost()).thenReturn("10.0.0.1"); + when(instance1.getPort()).thenReturn(2); + Map metadata = new HashMap<>(); + metadata.put("set", "set.sz.1"); + metadata.put(PolarisConstant.POLARIS_ID, "sz0001"); + when(instance1.getMetadata()).thenReturn(metadata); + + Instance instance2 = Mockito.mock(Instance.class); + when(instance2.getId()).thenReturn("10002"); + when(instance2.getHost()).thenReturn("10.0.0.1"); + when(instance2.getPort()).thenReturn(1); + List instances = new ArrayList<>(); + instances.add(instance1); + instances.add(instance2); + InstancesResponse instancesResponse = Mockito.mock(InstancesResponse.class); + when(instancesResponse.getTotalWeight()).thenReturn(1000); + when(instancesResponse.getNamespace()).thenReturn("dev"); + when(instancesResponse.getService()).thenReturn("trpc.test.test.1"); + when(instancesResponse.getInstances()).thenReturn(instances.toArray(new Instance[0])); + + RouteResult routeResult = Mockito.mock(RouteResult.class); + when(routeResult.getInstances()).thenReturn(instances); + when(routeResult.getNextRouterInfo()).thenReturn(new NextRouterInfo(State.Next)); + + List serviceInstances = PolarisTrans.parseRouterResult(routeResult,instancesResponse); + + Assert.assertEquals(2,serviceInstances.size()); + Assert.assertEquals("sz0001",serviceInstances.get(0).getParameter(PolarisConstant.POLARIS_ID)); + } } From 6d42da3e0f861bdfa8b49c54b8554f501897572e Mon Sep 17 00:00:00 2001 From: jiaqian Date: Thu, 13 Jun 2024 20:57:16 +0800 Subject: [PATCH 2/6] =?UTF-8?q?--other=3D=E7=94=A8=E4=BE=8B=E8=A1=A5?= =?UTF-8?q?=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trpc/selector/open/polaris/DataTest.java | 15 +++++ .../open/polaris/PolarisSelectorTest.java | 57 +++++++++++++++++-- .../open/polaris/common/PolarisTransTest.java | 16 ++++++ 3 files changed, 84 insertions(+), 4 deletions(-) diff --git a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/DataTest.java b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/DataTest.java index 7cb06efb93..1487179d4e 100644 --- a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/DataTest.java +++ b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/DataTest.java @@ -102,6 +102,13 @@ public static ServiceId newServiceId() { return serviceId; } + public static ServiceId newTestServiceId() { + ServiceId serviceId = new ServiceId(); + Map params = new HashMap<>(); + serviceId.setParameters(params); + return serviceId; + } + public static ServiceInstance genServiceInstance(int i) { Map map = new HashMap<>(); map.put(POLARIS_CMDBCAMPUS, "cmdbCampus"); @@ -170,6 +177,14 @@ private static PluginConfig createDiscoveryConfig() { return new PluginConfig("polaris", PolarisSelector.class, extMap); } + private static PluginConfig createDiscoveryConfig1() { + Map extMap = new HashMap<>(); + extMap.put(PolarisConstant.POLARIS_RUNMODE_KEY, RunMode.ModeNoAgent.ordinal()); + extMap.put(PolarisConstant.POLARIS_ADDRESSES_KEY, "http://10.235.25.499:8080"); + extMap.put(PolarisConstant.POLARIS_ENABLE_TRANS_META, "true"); + return new PluginConfig("polaris", PolarisSelector.class, extMap); + } + private static PluginConfig createWorkerPoolConfig() { return WorkerPoolManager.newThreadWorkerPoolConfig("selector_pool1", 4, Boolean.FALSE); diff --git a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java index c85b9a7d0f..3e64bf3ebd 100644 --- a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java +++ b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java @@ -26,22 +26,25 @@ import com.tencent.polaris.api.rpc.InstancesResponse; import com.tencent.polaris.client.api.SDKContext; import com.tencent.polaris.factory.api.APIFactory; +import com.tencent.polaris.factory.config.ConfigurationImpl; import com.tencent.trpc.core.common.ConfigManager; import com.tencent.trpc.core.common.config.PluginConfig; import com.tencent.trpc.core.rpc.Request; import com.tencent.trpc.core.selector.ServiceId; import com.tencent.trpc.core.selector.ServiceInstance; +import com.tencent.trpc.polaris.common.PolarisConstant; import com.tencent.trpc.polaris.common.PolarisTrans; import com.tencent.trpc.selector.polaris.PolarisSelector; +import com.tencent.trpc.selector.polaris.common.PolarisCommon; import com.tencent.trpc.selector.polaris.common.pojo.PolarisServiceInstances; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; + +import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionStage; import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; + +import org.apache.commons.lang3.ObjectUtils; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -327,4 +330,50 @@ public void testGetConsumerAPI() { Assert.assertNotNull(polarisSelector.getPolarisAPI()); polarisSelector.destroy(); } + + @Test + public void testGenPolarisConfiguration() { + PolarisSelector polarisSelector = new PolarisSelector(); + try { + polarisSelector.init(); + Assert.assertNull(polarisSelector.getPolarisAPI()); + polarisSelector.destroy(); + } catch (Exception e) { + return; + } + } + + @Test + public void testWarmup() { + PolarisSelector clusterNaming = new PolarisSelector(); + clusterNaming.setPluginConfig(selectorConfig); + clusterNaming.init(); + ServiceId serviceId = DataTest.newTestServiceId(); + try { + clusterNaming.warmup(serviceId); + } catch (Exception e) { + return; + } + } + + @Test + public void testSelectOneFallback() { + PolarisSelector clusterNaming = new PolarisSelector(); + clusterNaming.setPluginConfig(selectorConfig); + clusterNaming.init(); + ServiceId serviceId = DataTest.newServiceId(); + serviceId.setServiceName("service-metadata-select-one"); + clusterNaming.warmup(serviceId); + Request request = DataTest.mockServiceMetadataRequest(); + CompletionStage future = clusterNaming.asyncSelectOne(serviceId, request); + AtomicReference errorRef = new AtomicReference<>(); + CompletionStage stage = future.whenComplete((res, err) -> { + if (err != null) { + errorRef.set(err); + err.printStackTrace(); + } + }); + CompletableFuture.allOf(stage.toCompletableFuture()).join(); + Assert.assertNull(errorRef.get()); + } } diff --git a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java index 5184db371a..bf62b02df0 100644 --- a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java +++ b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java @@ -18,6 +18,8 @@ import java.util.List; import java.util.Map; +import com.tencent.polaris.api.pojo.ServiceInstances; +import com.tencent.polaris.factory.config.consumer.CircuitBreakerConfigImpl; import org.junit.Assert; import org.junit.Test; import org.mockito.Mockito; @@ -36,6 +38,7 @@ import com.tencent.trpc.core.selector.ServiceInstance; import com.tencent.trpc.polaris.common.PolarisConstant; import com.tencent.trpc.polaris.common.PolarisTrans; +import com.tencent.trpc.selector.polaris.common.PolarisCommon; public class PolarisTransTest { @@ -211,7 +214,20 @@ public void testParseRouterResult() { List serviceInstances = PolarisTrans.parseRouterResult(routeResult,instancesResponse); + ServiceInstances convertServiceIns = PolarisCommon.toServiceInstances(serviceInstances); + Assert.assertEquals(2,serviceInstances.size()); Assert.assertEquals("sz0001",serviceInstances.get(0).getParameter(PolarisConstant.POLARIS_ID)); + Assert.assertEquals(2,convertServiceIns.getInstances().size()); + } + + @Test + public void testGenCircuitBreakerConfiguration() { + ConfigurationImpl configuration = new ConfigurationImpl(); + configuration.setDefault(); + Map extMap = new HashMap<>(); + extMap.put(PolarisConstant.POLARIS_ID, "sz0001"); + CircuitBreakerConfigImpl circuitBreakerConfig = PolarisCommon.genCircuitBreakerConfiguration(configuration,extMap); + Assert.assertEquals(1,circuitBreakerConfig.getChain().size()); } } From f0ef5e006624316bf52f32518ffb632de0397a1d Mon Sep 17 00:00:00 2001 From: jiaqian Date: Fri, 14 Jun 2024 11:14:37 +0800 Subject: [PATCH 3/6] --other=codecc --- .../trpc/selector/open/polaris/common/PolarisTransTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java index bf62b02df0..e9f058f3a5 100644 --- a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java +++ b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java @@ -227,7 +227,8 @@ public void testGenCircuitBreakerConfiguration() { configuration.setDefault(); Map extMap = new HashMap<>(); extMap.put(PolarisConstant.POLARIS_ID, "sz0001"); - CircuitBreakerConfigImpl circuitBreakerConfig = PolarisCommon.genCircuitBreakerConfiguration(configuration,extMap); + CircuitBreakerConfigImpl circuitBreakerConfig = + PolarisCommon.genCircuitBreakerConfiguration(configuration,extMap); Assert.assertEquals(1,circuitBreakerConfig.getChain().size()); } } From ebfdbcf58ee1f33cc6d1ba36440bc7c2ac238b15 Mon Sep 17 00:00:00 2001 From: jiaqian Date: Fri, 14 Jun 2024 15:53:24 +0800 Subject: [PATCH 4/6] --other=add unittest --- .../open/polaris/PolarisSelectorTest.java | 52 ++++++++++++++-- .../open/polaris/common/PolarisTransTest.java | 62 +++++++++++++++++++ 2 files changed, 110 insertions(+), 4 deletions(-) diff --git a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java index 3e64bf3ebd..914a96942e 100644 --- a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java +++ b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java @@ -155,9 +155,9 @@ public void testFallback() { clusterNaming.init(); ServiceId serviceId = DataTest.newServiceId(); serviceId.setServiceName("fallback"); - + Request request = DataTest.request; CompletionStage future = clusterNaming - .asyncSelectOne(serviceId, DataTest.request); + .asyncSelectOne(serviceId, request); AtomicReference errorRef = new AtomicReference<>(); CompletionStage stage = future.whenComplete((res, err) -> { if (err != null) { @@ -310,6 +310,12 @@ public void toPolarisInstance() { Assert.assertEquals("set.sz.1", polarisServiceInstance.getMetadata().get("set")); } + @Test + public void testEmptyToPolarisInstance() { + List serviceInstances = null; + Assert.assertNull(PolarisTrans.toPolarisInstance(serviceInstances)); + } + @Test public void testDestroy() { PolarisSelector clusterNaming = new PolarisSelector(); @@ -332,7 +338,7 @@ public void testGetConsumerAPI() { } @Test - public void testGenPolarisConfiguration() { + public void testInit() { PolarisSelector polarisSelector = new PolarisSelector(); try { polarisSelector.init(); @@ -357,7 +363,7 @@ public void testWarmup() { } @Test - public void testSelectOneFallback() { + public void testAsyncSelectOne() { PolarisSelector clusterNaming = new PolarisSelector(); clusterNaming.setPluginConfig(selectorConfig); clusterNaming.init(); @@ -376,4 +382,42 @@ public void testSelectOneFallback() { CompletableFuture.allOf(stage.toCompletableFuture()).join(); Assert.assertNull(errorRef.get()); } + + @Test + public void testEmptyAsyncSelectOne() { + PolarisSelector clusterNaming = new PolarisSelector(); + clusterNaming.setPluginConfig(selectorConfig); + clusterNaming.init(); + ServiceId serviceId = DataTest.newServiceId(); + serviceId.setServiceName("service-metadata-select-one"); + clusterNaming.warmup(serviceId); + Request request = DataTest.mockServiceMetadataRequest(); + request.getMeta().setHashVal(null); + CompletionStage future = clusterNaming.asyncSelectOne(serviceId, request); + AtomicReference errorRef = new AtomicReference<>(); + CompletionStage stage = future.whenComplete((res, err) -> { + if (err != null) { + errorRef.set(err); + err.printStackTrace(); + } + }); + CompletableFuture.allOf(stage.toCompletableFuture()).join(); + Assert.assertNull(errorRef.get()); + } + + @Test + public void testExceptionAsyncSelectOne() { + PolarisSelector clusterNaming = new PolarisSelector(); + clusterNaming.setPluginConfig(selectorConfig); + ServiceId serviceId = DataTest.newServiceId(); + serviceId.setServiceName("fallback"); + Request request = DataTest.request; + request.getMeta().setHashVal(null); + try { + CompletionStage future = clusterNaming + .asyncSelectOne(serviceId, request); + } catch (Exception e) { + return; + } + } } diff --git a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java index e9f058f3a5..c6444355c6 100644 --- a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java +++ b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java @@ -20,6 +20,7 @@ import com.tencent.polaris.api.pojo.ServiceInstances; import com.tencent.polaris.factory.config.consumer.CircuitBreakerConfigImpl; +import com.tencent.trpc.selector.polaris.PolarisSelector; import org.junit.Assert; import org.junit.Test; import org.mockito.Mockito; @@ -231,4 +232,65 @@ public void testGenCircuitBreakerConfiguration() { PolarisCommon.genCircuitBreakerConfiguration(configuration,extMap); Assert.assertEquals(1,circuitBreakerConfig.getChain().size()); } + + @Test + public void testEmptyGenCircuitBreakerConfiguration() { + ConfigurationImpl configuration = new ConfigurationImpl(); + configuration.setDefault(); + Map extMap = null; + CircuitBreakerConfigImpl circuitBreakerConfig = + PolarisCommon.genCircuitBreakerConfiguration(configuration,extMap); + Assert.assertEquals(1,circuitBreakerConfig.getChain().size()); + } + + @Test + public void testEmptyGenPolarisConfiguration() { + Assert.assertNotNull(PolarisCommon.genPolarisConfiguration(null)); + } + + @Test + public void testGetSetName() { + Instance instance = Mockito.mock(Instance.class); + when(instance.getHost()).thenReturn("127.0.0.1"); + when(instance.getPort()).thenReturn(111); + when(instance.isHealthy()).thenReturn(true); + when(instance.getRevision()).thenReturn("1.0.0"); + Map metadata = new HashMap<>(); + metadata.put(PolarisConstant.INTERNAL_SET_NAME_KEY, "set.sz.1"); + metadata.put(PolarisConstant.INTERNAL_ENABLE_SET_KEY, "Y"); + when(instance.getMetadata()).thenReturn(metadata); + Assert.assertEquals("set.sz.1",PolarisTrans.getSetName(instance)); + } + + @Test + public void testGetContainerName() { + Instance instance = Mockito.mock(Instance.class); + when(instance.getHost()).thenReturn("127.0.0.1"); + when(instance.getPort()).thenReturn(111); + when(instance.isHealthy()).thenReturn(true); + when(instance.getRevision()).thenReturn("1.0.0"); + Map metadata = new HashMap<>(); + metadata.put(PolarisConstant.CONTAINER_NAME, "xxx1"); + when(instance.getMetadata()).thenReturn(metadata); + Assert.assertEquals("xxx1",PolarisTrans.getContainerName(instance)); + } + + @Test + public void testPickMetaData() { + Assert.assertNotNull(PolarisTrans.pickMetaData(new HashMap<>(),false,"sz11")); + } + + @Test + public void testEmptyTransfer2ServiceInstance() { + Assert.assertEquals(0,PolarisTrans.transfer2ServiceInstance(null,null).size()); + } + + @Test + public void testExceptionParseRouterResult() { + try { + PolarisTrans.parseRouterResult(null,null); + } catch (Exception e) { + return; + } + } } From 4c5e1fcfdc500c3b568c5252be02c39172aef1aa Mon Sep 17 00:00:00 2001 From: jiaqian Date: Fri, 14 Jun 2024 16:43:12 +0800 Subject: [PATCH 5/6] --other=add unittest --- .../selector/open/polaris/PolarisSelectorTest.java | 12 ++++++++++++ .../open/polaris/common/PolarisTransTest.java | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java index 914a96942e..e7077e3dd5 100644 --- a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java +++ b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java @@ -420,4 +420,16 @@ public void testExceptionAsyncSelectOne() { return; } } + + @Test + public void testExceptionReport() { + PolarisSelector clusterNaming = new PolarisSelector(); + clusterNaming.setPluginConfig(selectorConfig); + clusterNaming.init(); + try { + clusterNaming.report(null, 1, -1L); + } catch (Exception e) { + return; + } + } } diff --git a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java index c6444355c6..18f5ec6fd4 100644 --- a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java +++ b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/common/PolarisTransTest.java @@ -20,6 +20,10 @@ import com.tencent.polaris.api.pojo.ServiceInstances; import com.tencent.polaris.factory.config.consumer.CircuitBreakerConfigImpl; +import com.tencent.trpc.core.common.config.PluginConfig; +import com.tencent.trpc.core.selector.SelectorManager; +import com.tencent.trpc.core.selector.spi.Selector; +import com.tencent.trpc.selector.open.polaris.DataTest; import com.tencent.trpc.selector.polaris.PolarisSelector; import org.junit.Assert; import org.junit.Test; From 9fcc6c3a65b5395479c5489e813729f90863d001 Mon Sep 17 00:00:00 2001 From: jiaqian Date: Sat, 15 Jun 2024 14:33:50 +0800 Subject: [PATCH 6/6] --other=add unittest --- .../open/polaris/PolarisSelectorTest.java | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java index e7077e3dd5..67ae1eff96 100644 --- a/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java +++ b/trpc-selector/trpc-selector-open-polaris/src/test/java/com/tencent/trpc/selector/open/polaris/PolarisSelectorTest.java @@ -27,6 +27,8 @@ import com.tencent.polaris.client.api.SDKContext; import com.tencent.polaris.factory.api.APIFactory; import com.tencent.polaris.factory.config.ConfigurationImpl; +import com.tencent.polaris.plugins.loadbalancer.random.WeightedRandomBalance; +import com.tencent.polaris.plugins.loadbalancer.ringhash.ConsistentHashLoadBalance; import com.tencent.trpc.core.common.ConfigManager; import com.tencent.trpc.core.common.config.PluginConfig; import com.tencent.trpc.core.rpc.Request; @@ -338,9 +340,10 @@ public void testGetConsumerAPI() { } @Test - public void testInit() { + public void testExceptionInit() { PolarisSelector polarisSelector = new PolarisSelector(); try { + polarisSelector.setPluginConfig(selectorConfig); polarisSelector.init(); Assert.assertNull(polarisSelector.getPolarisAPI()); polarisSelector.destroy(); @@ -350,7 +353,7 @@ public void testInit() { } @Test - public void testWarmup() { + public void testExceptionWarmup() { PolarisSelector clusterNaming = new PolarisSelector(); clusterNaming.setPluginConfig(selectorConfig); clusterNaming.init(); @@ -384,7 +387,7 @@ public void testAsyncSelectOne() { } @Test - public void testEmptyAsyncSelectOne() { + public void testGetCriteria() { PolarisSelector clusterNaming = new PolarisSelector(); clusterNaming.setPluginConfig(selectorConfig); clusterNaming.init(); @@ -392,7 +395,7 @@ public void testEmptyAsyncSelectOne() { serviceId.setServiceName("service-metadata-select-one"); clusterNaming.warmup(serviceId); Request request = DataTest.mockServiceMetadataRequest(); - request.getMeta().setHashVal(null); + request.getMeta().setHashVal("123333"); CompletionStage future = clusterNaming.asyncSelectOne(serviceId, request); AtomicReference errorRef = new AtomicReference<>(); CompletionStage stage = future.whenComplete((res, err) -> { @@ -412,7 +415,6 @@ public void testExceptionAsyncSelectOne() { ServiceId serviceId = DataTest.newServiceId(); serviceId.setServiceName("fallback"); Request request = DataTest.request; - request.getMeta().setHashVal(null); try { CompletionStage future = clusterNaming .asyncSelectOne(serviceId, request); @@ -432,4 +434,17 @@ public void testExceptionReport() { return; } } + + @Test + public void testExceptionAsyncSelectAll() { + PolarisSelector clusterNaming = new PolarisSelector(); + clusterNaming.setPluginConfig(selectorConfig); + clusterNaming.init(); + try { + ServiceId serviceId = Mockito.mock(ServiceId.class); + clusterNaming.asyncSelectAll(serviceId,DataTest.request); + } catch (Exception e) { + return; + } + } }