Browse Source

add CronUtils ut

pull/2/head
zhangzy 5 years ago
parent
commit
a09d2d9d0a
  1. 2
      dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/utils/cron/CronUtils.java
  2. 15
      dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/cron/CronUtilsTest.java

2
dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/utils/cron/CronUtils.java

@ -166,7 +166,7 @@ public class CronUtils {
public static List<Date> getSelfFireDateList(Date startTime, Date endTime, String cron) { public static List<Date> getSelfFireDateList(Date startTime, Date endTime, String cron) {
CronExpression cronExpression = null; CronExpression cronExpression = null;
try { try {
cronExpression = CronUtils.parse2CronExpression(cron); cronExpression = parse2CronExpression(cron);
}catch (ParseException e){ }catch (ParseException e){
logger.error(e.getMessage(), e); logger.error(e.getMessage(), e);
return Collections.EMPTY_LIST; return Collections.EMPTY_LIST;

15
dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/cron/CronUtilsTest.java

@ -17,6 +17,7 @@
package org.apache.dolphinscheduler.dao.cron; package org.apache.dolphinscheduler.dao.cron;
import org.apache.dolphinscheduler.common.enums.CycleEnum; import org.apache.dolphinscheduler.common.enums.CycleEnum;
import org.apache.dolphinscheduler.common.utils.DateUtils;
import org.apache.dolphinscheduler.dao.utils.cron.CronUtils; import org.apache.dolphinscheduler.dao.utils.cron.CronUtils;
import com.cronutils.builder.CronBuilder; import com.cronutils.builder.CronBuilder;
import com.cronutils.model.Cron; import com.cronutils.model.Cron;
@ -31,6 +32,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.text.ParseException; import java.text.ParseException;
import java.util.Date;
import static com.cronutils.model.field.expression.FieldExpressionFactory.*; import static com.cronutils.model.field.expression.FieldExpressionFactory.*;
@ -180,4 +182,17 @@ public class CronUtilsTest {
} }
} }
} }
@Test
public void test3(){
Date from = DateUtils.stringToDate("2020-01-01 00:00:00");
Date to = DateUtils.stringToDate("2020-01-31 01:00:00");
// test date
Assert.assertEquals(0, CronUtils.getSelfFireDateList(to, from, "0 0 0 * * ? ").size());
// test error cron
Assert.assertEquals(0, CronUtils.getSelfFireDateList(from, to, "0 0 0 * *").size());
// test cron
Assert.assertEquals(30, CronUtils.getSelfFireDateList(from, to, "0 0 0 * * ? ").size());
}
} }

Loading…
Cancel
Save