Browse Source

add ResInfoTest.java ut

pull/2/head
xiaochun.liu 5 years ago
parent
commit
17162341c3
  1. 12
      dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ResInfo.java
  2. 25
      dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/ResInfoTest.java

12
dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ResInfo.java

@ -15,7 +15,6 @@
* limitations under the License. * limitations under the License.
*/ */
package org.apache.dolphinscheduler.common.utils; package org.apache.dolphinscheduler.common.utils;
import org.apache.dolphinscheduler.common.Constants; import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.model.Server; import org.apache.dolphinscheduler.common.model.Server;
@ -135,14 +134,15 @@ public class ResInfo {
* @return heartbeat info to Server * @return heartbeat info to Server
*/ */
public static Server parseHeartbeatForZKInfo(String heartBeatInfo){ public static Server parseHeartbeatForZKInfo(String heartBeatInfo){
Server masterServer = null; if (StringUtils.isEmpty(heartBeatInfo)) {
return null;
}
String[] masterArray = heartBeatInfo.split(Constants.COMMA); String[] masterArray = heartBeatInfo.split(Constants.COMMA);
if(masterArray == null || if(masterArray.length != Constants.HEARTBEAT_FOR_ZOOKEEPER_INFO_LENGTH){
masterArray.length != Constants.HEARTBEAT_FOR_ZOOKEEPER_INFO_LENGTH){ return null;
return masterServer;
} }
masterServer = new Server(); Server masterServer = new Server();
masterServer.setHost(masterArray[0]); masterServer.setHost(masterArray[0]);
masterServer.setPort(Integer.parseInt(masterArray[1])); masterServer.setPort(Integer.parseInt(masterArray[1]));
masterServer.setResInfo(getResInfoJson(Double.parseDouble(masterArray[2]), masterServer.setResInfo(getResInfoJson(Double.parseDouble(masterArray[2]),

25
dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/ArrayUtils.java → dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/ResInfoTest.java

@ -14,13 +14,30 @@
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package org.apache.dolphinscheduler.common.utils; package org.apache.dolphinscheduler.common.utils;
import org.junit.Assert;
import org.junit.Test;
import java.util.Date;
import org.apache.dolphinscheduler.common.model.Server;
public class ResInfoTest {
@Test
public void testGetHeartBeatInfo() {
String info = ResInfo.getHeartBeatInfo(new Date());
Assert.assertEquals(info.split(",").length, 7);
}
public class ArrayUtils { @Test
public void testParseHeartbeatForZKInfo() {
//normal info
String info = ResInfo.getHeartBeatInfo(new Date());
Server s = ResInfo.parseHeartbeatForZKInfo(info);
Assert.assertNotNull(s);
Assert.assertNotNull(s.getResInfo());
public static boolean isEmpty(final int[] array) { //null param
return array == null || array.length == 0; s = ResInfo.parseHeartbeatForZKInfo(null);
Assert.assertNull(s);
} }
} }
Loading…
Cancel
Save