package com.fanruan.api.cluster; import com.fr.cluster.ClusterBridge; import com.fr.cluster.core.ClusterNode; import com.fr.cluster.core.ClusterView; import com.fr.stable.Filter; import org.easymock.EasyMock; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.powermock.api.easymock.PowerMock; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import java.util.ArrayList; import java.util.List; /** * @author Lucian.Chen * @version 10.0 * Created by Lucian.Chen on 2020/3/24 */ @RunWith(PowerMockRunner.class) @PrepareForTest(ClusterBridge.class) public class ClusterBridgeKitTest { @Test public void testGetView() { ClusterView view = EasyMock.mock(ClusterView.class); PowerMock.mockStatic(ClusterBridge.class); EasyMock.expect(ClusterBridge.getView()).andReturn(view).anyTimes(); Filter filter = EasyMock.createMock(Filter.class); ClusterNode node1 = EasyMock.mock(ClusterNode.class); ClusterNode node2 = EasyMock.mock(ClusterNode.class); ClusterNode node3 = EasyMock.mock(ClusterNode.class); List list1 = new ArrayList<>(); List list2 = new ArrayList<>(); list1.add(node1); list1.add(node2); list2.add(node3); EasyMock.expect(view.getCurrent()).andReturn(node1).once(); EasyMock.expect(view.getNodeById("1")).andReturn(node2).once(); EasyMock.expect(view.listNodes()).andReturn(list1).once(); EasyMock.expect(view.listNodes(filter)).andReturn(list2).once(); EasyMock.replay(view, filter, node1, node2, node3); PowerMock.replay(ClusterBridge.class); Assert.assertEquals(ClusterBridgeKit.getCurrentNode(), node1); Assert.assertEquals(ClusterBridgeKit.getNodeById("1"), node2); Assert.assertEquals(ClusterBridgeKit.listNodes(), list1); Assert.assertEquals(ClusterBridgeKit.listNodes(filter), list2); EasyMock.verify(view, filter, node1, node2, node3); PowerMock.verify(ClusterBridge.class); } @Test public void testIsClusterMode() { PowerMock.mockStatic(ClusterBridge.class); EasyMock.expect(ClusterBridge.isClusterMode()).andReturn(true).once(); EasyMock.expect(ClusterBridge.isClusterMode()).andReturn(false).once(); PowerMock.replay(ClusterBridge.class); Assert.assertTrue(ClusterBridgeKit.isClusterMode()); Assert.assertFalse(ClusterBridgeKit.isClusterMode()); PowerMock.verify(ClusterBridge.class); } }