This is an automated email from the ASF dual-hosted git repository.
lidongdai pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new 632d52c [refactor][server-test] refactor RoundRobinHostManagerTest
(#3511)
632d52c is described below
commit 632d52cd69506b5e307c14cc3a687af6a739a0b8
Author: CalvinKirs <[email protected]>
AuthorDate: Mon Aug 31 20:35:45 2020 +0800
[refactor][server-test] refactor RoundRobinHostManagerTest (#3511)
* [refactor][server-test] refactor RoundRobinHostManagerTest
* add RoundRobinHostManagerTest
* format code
* format code
---
.../dispatch/host/RoundRobinHostManagerTest.java | 46 ++++++++--------------
pom.xml | 1 +
2 files changed, 17 insertions(+), 30 deletions(-)
diff --git
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java
index 2178063..ab2cc12 100644
---
a/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java
+++
b/dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/master/dispatch/host/RoundRobinHostManagerTest.java
@@ -14,67 +14,53 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package org.apache.dolphinscheduler.server.master.dispatch.host;
+import com.google.common.collect.Sets;
-import org.apache.dolphinscheduler.common.utils.NetUtils;
import org.apache.dolphinscheduler.common.utils.StringUtils;
import org.apache.dolphinscheduler.remote.utils.Host;
import
org.apache.dolphinscheduler.server.master.dispatch.context.ExecutionContext;
-import org.apache.dolphinscheduler.server.registry.DependencyConfig;
import org.apache.dolphinscheduler.server.registry.ZookeeperNodeManager;
-import org.apache.dolphinscheduler.server.registry.ZookeeperRegistryCenter;
import org.apache.dolphinscheduler.server.utils.ExecutionContextTestUtils;
-import org.apache.dolphinscheduler.server.worker.config.WorkerConfig;
-import org.apache.dolphinscheduler.server.worker.registry.WorkerRegistry;
-import org.apache.dolphinscheduler.server.zk.SpringZKServer;
-import org.apache.dolphinscheduler.service.zk.CuratorZookeeperClient;
-import org.apache.dolphinscheduler.service.zk.ZookeeperCachedOperator;
-import org.apache.dolphinscheduler.service.zk.ZookeeperConfig;
+
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringRunner;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnitRunner;
/**
* round robin host manager test
*/
-@RunWith(SpringRunner.class)
-@ContextConfiguration(classes={DependencyConfig.class, SpringZKServer.class,
WorkerRegistry.class, ZookeeperRegistryCenter.class, WorkerConfig.class,
- ZookeeperNodeManager.class, ZookeeperCachedOperator.class,
ZookeeperConfig.class, CuratorZookeeperClient.class})
+@RunWith(MockitoJUnitRunner.class)
public class RoundRobinHostManagerTest {
- @Autowired
+ @Mock
private ZookeeperNodeManager zookeeperNodeManager;
- @Autowired
- private WorkerRegistry workerRegistry;
-
- @Autowired
- private WorkerConfig workerConfig;
+ @InjectMocks
+ RoundRobinHostManager roundRobinHostManager;
@Test
- public void testSelectWithEmptyResult(){
- RoundRobinHostManager roundRobinHostManager = new
RoundRobinHostManager();
- roundRobinHostManager.setZookeeperNodeManager(zookeeperNodeManager);
+ public void testSelectWithEmptyResult() {
+
Mockito.when(zookeeperNodeManager.getWorkerGroupNodes("default")).thenReturn(null);
ExecutionContext context =
ExecutionContextTestUtils.getExecutionContext(10000);
Host emptyHost = roundRobinHostManager.select(context);
Assert.assertTrue(StringUtils.isEmpty(emptyHost.getAddress()));
}
@Test
- public void testSelectWithResult(){
- workerRegistry.registry();
- RoundRobinHostManager roundRobinHostManager = new
RoundRobinHostManager();
- roundRobinHostManager.setZookeeperNodeManager(zookeeperNodeManager);
+ public void testSelectWithResult() {
+
Mockito.when(zookeeperNodeManager.getWorkerGroupNodes("default")).thenReturn(Sets.newHashSet("192.168.1.1:22:100"));
ExecutionContext context =
ExecutionContextTestUtils.getExecutionContext(10000);
Host host = roundRobinHostManager.select(context);
Assert.assertTrue(StringUtils.isNotEmpty(host.getAddress()));
-
Assert.assertTrue(host.getAddress().equalsIgnoreCase(NetUtils.getHost() + ":" +
workerConfig.getListenPort()));
- workerRegistry.unRegistry();
+
Assert.assertTrue(host.getAddress().equalsIgnoreCase("192.168.1.1:22"));
}
}
diff --git a/pom.xml b/pom.xml
index 0c20bd8..32b2ccf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -821,6 +821,7 @@
<include>**/server/master/dispatch/host/assign/RandomSelectorTest.java</include>
<include>**/server/master/dispatch/host/assign/RoundRobinSelectorTest.java</include>
<include>**/server/master/register/MasterRegistryTest.java</include>
+
<include>**/server/master/dispatch/host/assign/RoundRobinHostManagerTest.java</include>
<include>**/server/master/AlertManagerTest.java</include>
<include>**/server/master/MasterCommandTest.java</include>
<include>**/server/master/DependentTaskTest.java</include>