From 03045c16c08c04d16397804bde36a39a2b38027e Mon Sep 17 00:00:00 2001 From: lepdou Date: Tue, 1 Nov 2022 14:44:49 +0800 Subject: [PATCH] fix router unit test (#684) --- CHANGELOG.md | 1 + ...isCachingSpringLoadBalanceFactoryTest.java | 1 - .../feign/PolarisFeignLoadBalancerTest.java | 1 - .../router/feign/SimpleLoadBalancer.java | 72 +++++++++++++++++++ 4 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/SimpleLoadBalancer.java diff --git a/CHANGELOG.md b/CHANGELOG.md index f08c0d3ad..be798dea3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,3 +2,4 @@ --- - [fix router concurrent bug&fix spring-retry circuit breaker not work bug](https://github.com/Tencent/spring-cloud-tencent/pull/679) +- [fix router unit test](https://github.com/Tencent/spring-cloud-tencent/pull/684) diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/PolarisCachingSpringLoadBalanceFactoryTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/PolarisCachingSpringLoadBalanceFactoryTest.java index f84dec3eb..e1cd267aa 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/PolarisCachingSpringLoadBalanceFactoryTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/PolarisCachingSpringLoadBalanceFactoryTest.java @@ -20,7 +20,6 @@ package com.tencent.cloud.polaris.router.feign; import com.netflix.client.config.DefaultClientConfigImpl; import com.netflix.loadbalancer.ILoadBalancer; -import com.tencent.cloud.polaris.router.SimpleLoadBalancer; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/PolarisFeignLoadBalancerTest.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/PolarisFeignLoadBalancerTest.java index ed7ea3d0b..6c7dfb71f 100644 --- a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/PolarisFeignLoadBalancerTest.java +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/PolarisFeignLoadBalancerTest.java @@ -32,7 +32,6 @@ import com.tencent.cloud.common.metadata.MetadataContextHolder; import com.tencent.cloud.common.util.ApplicationContextAwareUtils; import com.tencent.cloud.common.util.JacksonUtils; import com.tencent.cloud.polaris.router.PolarisRouterContext; -import com.tencent.cloud.polaris.router.SimpleLoadBalancer; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/SimpleLoadBalancer.java b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/SimpleLoadBalancer.java new file mode 100644 index 000000000..54dab79e6 --- /dev/null +++ b/spring-cloud-starter-tencent-polaris-router/src/test/java/com/tencent/cloud/polaris/router/feign/SimpleLoadBalancer.java @@ -0,0 +1,72 @@ +/* + * Tencent is pleased to support the open source community by making Spring Cloud Tencent available. + * + * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. + * + * Licensed under the BSD 3-Clause License (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://opensource.org/licenses/BSD-3-Clause + * + * Unless required by applicable law or agreed to in writing, software distributed + * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR + * CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + +package com.tencent.cloud.polaris.router.feign; + +import java.util.Collections; +import java.util.List; + +import com.netflix.loadbalancer.ILoadBalancer; +import com.netflix.loadbalancer.Server; + +/** + * Simple load balancer only for getting and setting servers. + * + * @author lepdou 2022-05-17 + */ +public class SimpleLoadBalancer implements ILoadBalancer { + private List servers; + + @Override + public void addServers(List newServers) { + this.servers = newServers; + } + + @Override + public Server chooseServer(Object key) { + return null; + } + + @Override + public void markServerDown(Server server) { + + } + + @Override + public List getServerList(boolean availableOnly) { + if (servers == null) { + return Collections.emptyList(); + } + return Collections.unmodifiableList(servers); + } + + @Override + public List getReachableServers() { + if (servers == null) { + return Collections.emptyList(); + } + return Collections.unmodifiableList(servers); + } + + @Override + public List getAllServers() { + if (servers == null) { + return Collections.emptyList(); + } + return Collections.unmodifiableList(servers); + } +}