|
|
@ -35,7 +35,6 @@ import com.netflix.loadbalancer.RetryRule;
|
|
|
|
import com.netflix.loadbalancer.RoundRobinRule;
|
|
|
|
import com.netflix.loadbalancer.RoundRobinRule;
|
|
|
|
import com.netflix.loadbalancer.Server;
|
|
|
|
import com.netflix.loadbalancer.Server;
|
|
|
|
import com.netflix.loadbalancer.WeightedResponseTimeRule;
|
|
|
|
import com.netflix.loadbalancer.WeightedResponseTimeRule;
|
|
|
|
import com.netflix.loadbalancer.ZoneAvoidanceRule;
|
|
|
|
|
|
|
|
import com.tencent.cloud.common.metadata.MetadataContext;
|
|
|
|
import com.tencent.cloud.common.metadata.MetadataContext;
|
|
|
|
import com.tencent.cloud.common.metadata.MetadataContextHolder;
|
|
|
|
import com.tencent.cloud.common.metadata.MetadataContextHolder;
|
|
|
|
import com.tencent.cloud.common.pojo.PolarisServer;
|
|
|
|
import com.tencent.cloud.common.pojo.PolarisServer;
|
|
|
@ -113,18 +112,18 @@ public class PolarisLoadBalancerCompositeRuleTest {
|
|
|
|
public void testGetDefaultLB() {
|
|
|
|
public void testGetDefaultLB() {
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn("");
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn("");
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null);
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null, null);
|
|
|
|
|
|
|
|
|
|
|
|
AbstractLoadBalancerRule defaultRule = compositeRule.getRule();
|
|
|
|
AbstractLoadBalancerRule defaultRule = compositeRule.getRule();
|
|
|
|
|
|
|
|
|
|
|
|
Assert.assertTrue(defaultRule instanceof ZoneAvoidanceRule);
|
|
|
|
Assert.assertNull(defaultRule);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
public void testRandomLB() {
|
|
|
|
public void testRandomLB() {
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_RANDOM);
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_RANDOM);
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null);
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null, null);
|
|
|
|
|
|
|
|
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
|
|
|
|
|
|
|
@ -135,7 +134,7 @@ public class PolarisLoadBalancerCompositeRuleTest {
|
|
|
|
public void testWeightLB() {
|
|
|
|
public void testWeightLB() {
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_WEIGHT);
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_WEIGHT);
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null);
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null, null);
|
|
|
|
|
|
|
|
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
|
|
|
|
|
|
|
@ -146,7 +145,7 @@ public class PolarisLoadBalancerCompositeRuleTest {
|
|
|
|
public void testRetryLB() {
|
|
|
|
public void testRetryLB() {
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_RETRY);
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_RETRY);
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null);
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null, null);
|
|
|
|
|
|
|
|
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
|
|
|
|
|
|
|
@ -157,7 +156,7 @@ public class PolarisLoadBalancerCompositeRuleTest {
|
|
|
|
public void testWeightedResponseTimeLB() {
|
|
|
|
public void testWeightedResponseTimeLB() {
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_RESPONSE_TIME_WEIGHTED);
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_RESPONSE_TIME_WEIGHTED);
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null);
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null, null);
|
|
|
|
|
|
|
|
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
|
|
|
|
|
|
|
@ -168,7 +167,7 @@ public class PolarisLoadBalancerCompositeRuleTest {
|
|
|
|
public void tesBestAvailableLB() {
|
|
|
|
public void tesBestAvailableLB() {
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_BEST_AVAILABLE);
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_BEST_AVAILABLE);
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null);
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null, null);
|
|
|
|
|
|
|
|
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
|
|
|
|
|
|
|
@ -179,7 +178,7 @@ public class PolarisLoadBalancerCompositeRuleTest {
|
|
|
|
public void tesRoundRobinLB() {
|
|
|
|
public void tesRoundRobinLB() {
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_ROUND_ROBIN);
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_ROUND_ROBIN);
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null);
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null, null);
|
|
|
|
|
|
|
|
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
|
|
|
|
|
|
|
@ -190,7 +189,7 @@ public class PolarisLoadBalancerCompositeRuleTest {
|
|
|
|
public void testAvailabilityFilteringLB() {
|
|
|
|
public void testAvailabilityFilteringLB() {
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_AVAILABILITY_FILTERING);
|
|
|
|
when(polarisLoadBalancerProperties.getStrategy()).thenReturn(PolarisLoadBalancerCompositeRule.STRATEGY_AVAILABILITY_FILTERING);
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null);
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null, null);
|
|
|
|
|
|
|
|
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
AbstractLoadBalancerRule lbRule = compositeRule.getRule();
|
|
|
|
|
|
|
|
|
|
|
@ -209,7 +208,7 @@ public class PolarisLoadBalancerCompositeRuleTest {
|
|
|
|
setTransitiveMetadata();
|
|
|
|
setTransitiveMetadata();
|
|
|
|
|
|
|
|
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null);
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null, null);
|
|
|
|
|
|
|
|
|
|
|
|
ServiceInstances serviceInstances = assembleServiceInstances();
|
|
|
|
ServiceInstances serviceInstances = assembleServiceInstances();
|
|
|
|
PolarisRouterContext routerContext = assembleRouterContext();
|
|
|
|
PolarisRouterContext routerContext = assembleRouterContext();
|
|
|
@ -244,7 +243,7 @@ public class PolarisLoadBalancerCompositeRuleTest {
|
|
|
|
setTransitiveMetadata();
|
|
|
|
setTransitiveMetadata();
|
|
|
|
|
|
|
|
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null);
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null, null);
|
|
|
|
|
|
|
|
|
|
|
|
ServiceInstances serviceInstances = assembleServiceInstances();
|
|
|
|
ServiceInstances serviceInstances = assembleServiceInstances();
|
|
|
|
PolarisRouterContext routerContext = assembleRouterContext();
|
|
|
|
PolarisRouterContext routerContext = assembleRouterContext();
|
|
|
@ -275,7 +274,7 @@ public class PolarisLoadBalancerCompositeRuleTest {
|
|
|
|
setTransitiveMetadata();
|
|
|
|
setTransitiveMetadata();
|
|
|
|
|
|
|
|
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null);
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null, null);
|
|
|
|
|
|
|
|
|
|
|
|
ServiceInstances serviceInstances = assembleServiceInstances();
|
|
|
|
ServiceInstances serviceInstances = assembleServiceInstances();
|
|
|
|
PolarisRouterContext routerContext = assembleRouterContext();
|
|
|
|
PolarisRouterContext routerContext = assembleRouterContext();
|
|
|
@ -306,7 +305,7 @@ public class PolarisLoadBalancerCompositeRuleTest {
|
|
|
|
setTransitiveMetadata();
|
|
|
|
setTransitiveMetadata();
|
|
|
|
|
|
|
|
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
PolarisLoadBalancerCompositeRule compositeRule = new PolarisLoadBalancerCompositeRule(routerAPI,
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null);
|
|
|
|
polarisLoadBalancerProperties, config, requestInterceptors, null, null);
|
|
|
|
|
|
|
|
|
|
|
|
ProcessRoutersResponse assembleResponse = assembleProcessRoutersResponse();
|
|
|
|
ProcessRoutersResponse assembleResponse = assembleProcessRoutersResponse();
|
|
|
|
when(routerAPI.processRouters(any())).thenReturn(assembleResponse);
|
|
|
|
when(routerAPI.processRouters(any())).thenReturn(assembleResponse);
|
|
|
|