Loading dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/DependentUtilsTest.java +169 −5 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ public class DependentUtilsTest { private static final Logger logger = LoggerFactory.getLogger(ShellExecutorTest.class); @Test public void getDependResultForRelation() { //failed DependentRelation dependentRelation = DependentRelation.AND; List<DependResult> dependResultList = new ArrayList<>(); dependResultList.add(DependResult.FAILED); Loading @@ -42,10 +42,65 @@ public class DependentUtilsTest { DependResult result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.FAILED); //waiting dependResultList = new ArrayList<>(); dependResultList.add(DependResult.WAITING); dependResultList.add(DependResult.SUCCESS); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.WAITING); //success dependResultList = new ArrayList<>(); dependResultList.add(DependResult.SUCCESS); dependResultList.add(DependResult.SUCCESS); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.SUCCESS); //one success dependResultList = new ArrayList<>(); dependResultList.add(DependResult.SUCCESS); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.SUCCESS); //one failed dependResultList = new ArrayList<>(); dependResultList.add(DependResult.FAILED); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.FAILED); //or success dependentRelation = DependentRelation.OR; dependResultList = new ArrayList<>(); dependResultList.add(DependResult.FAILED); dependResultList.add(DependResult.SUCCESS); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.SUCCESS); //waiting dependResultList = new ArrayList<>(); dependResultList.add(DependResult.WAITING); dependResultList.add(DependResult.FAILED); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.WAITING); Assert.assertEquals(DependentUtils.getDependResultForRelation( dependentRelation, dependResultList), DependResult.SUCCESS); //success dependResultList = new ArrayList<>(); dependResultList.add(DependResult.SUCCESS); dependResultList.add(DependResult.SUCCESS); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.SUCCESS); //one success dependResultList = new ArrayList<>(); dependResultList.add(DependResult.SUCCESS); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.SUCCESS); //one failed dependResultList = new ArrayList<>(); dependResultList.add(DependResult.FAILED); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.FAILED); } @Test Loading Loading @@ -101,6 +156,115 @@ public class DependentUtilsTest { Assert.assertEquals(dateIntervals.get(0), monthHead); Assert.assertEquals(dateIntervals.get(dateIntervals.size() - 1), monthThis); dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-04 10:00:00"), "last1Hour"); DateInterval expect = new DateInterval(DateUtils.stringToDate("2019-02-04 09:00:00"), DateUtils.getEndOfHour(DateUtils.stringToDate("2019-02-04 09:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-04 10:00:00"), "last2Hours"); expect = new DateInterval(DateUtils.stringToDate("2019-02-04 08:00:00"), DateUtils.getEndOfHour(DateUtils.stringToDate("2019-02-04 08:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-04 10:00:00"), "last3Hours"); expect = new DateInterval(DateUtils.stringToDate("2019-02-04 07:00:00"), DateUtils.getEndOfHour(DateUtils.stringToDate("2019-02-04 07:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); dateValue = "last3Days"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-02-07 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-02-07 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); dateValue = "last7Days"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-02-03 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-02-03 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); dateValue = "lastWeek"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-28 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-28 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); expect = new DateInterval(DateUtils.stringToDate("2019-02-03 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-02-03 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(6)); Assert.assertEquals(7, dateIntervals.size()); dateValue = "lastMonday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-28 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-28 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastTuesday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-29 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-29 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastWednesday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-30 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-30 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastThursday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-31 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-31 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastFriday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-02-01 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-02-01 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastSaturday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-02-02 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-02-02 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastSunday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-02-03 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-02-03 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastMonth"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-01 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-01 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); expect = new DateInterval(DateUtils.stringToDate("2019-01-31 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-31 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(30)); Assert.assertEquals(31, dateIntervals.size()); dateValue = "lastMonthBegin"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-01 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-01 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastMonthEnd"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-31 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-31 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); } @Test Loading Loading
dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/DependentUtilsTest.java +169 −5 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ public class DependentUtilsTest { private static final Logger logger = LoggerFactory.getLogger(ShellExecutorTest.class); @Test public void getDependResultForRelation() { //failed DependentRelation dependentRelation = DependentRelation.AND; List<DependResult> dependResultList = new ArrayList<>(); dependResultList.add(DependResult.FAILED); Loading @@ -42,10 +42,65 @@ public class DependentUtilsTest { DependResult result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.FAILED); //waiting dependResultList = new ArrayList<>(); dependResultList.add(DependResult.WAITING); dependResultList.add(DependResult.SUCCESS); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.WAITING); //success dependResultList = new ArrayList<>(); dependResultList.add(DependResult.SUCCESS); dependResultList.add(DependResult.SUCCESS); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.SUCCESS); //one success dependResultList = new ArrayList<>(); dependResultList.add(DependResult.SUCCESS); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.SUCCESS); //one failed dependResultList = new ArrayList<>(); dependResultList.add(DependResult.FAILED); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.FAILED); //or success dependentRelation = DependentRelation.OR; dependResultList = new ArrayList<>(); dependResultList.add(DependResult.FAILED); dependResultList.add(DependResult.SUCCESS); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.SUCCESS); //waiting dependResultList = new ArrayList<>(); dependResultList.add(DependResult.WAITING); dependResultList.add(DependResult.FAILED); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.WAITING); Assert.assertEquals(DependentUtils.getDependResultForRelation( dependentRelation, dependResultList), DependResult.SUCCESS); //success dependResultList = new ArrayList<>(); dependResultList.add(DependResult.SUCCESS); dependResultList.add(DependResult.SUCCESS); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.SUCCESS); //one success dependResultList = new ArrayList<>(); dependResultList.add(DependResult.SUCCESS); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.SUCCESS); //one failed dependResultList = new ArrayList<>(); dependResultList.add(DependResult.FAILED); result = DependentUtils.getDependResultForRelation(dependentRelation, dependResultList); Assert.assertEquals(result, DependResult.FAILED); } @Test Loading Loading @@ -101,6 +156,115 @@ public class DependentUtilsTest { Assert.assertEquals(dateIntervals.get(0), monthHead); Assert.assertEquals(dateIntervals.get(dateIntervals.size() - 1), monthThis); dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-04 10:00:00"), "last1Hour"); DateInterval expect = new DateInterval(DateUtils.stringToDate("2019-02-04 09:00:00"), DateUtils.getEndOfHour(DateUtils.stringToDate("2019-02-04 09:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-04 10:00:00"), "last2Hours"); expect = new DateInterval(DateUtils.stringToDate("2019-02-04 08:00:00"), DateUtils.getEndOfHour(DateUtils.stringToDate("2019-02-04 08:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-04 10:00:00"), "last3Hours"); expect = new DateInterval(DateUtils.stringToDate("2019-02-04 07:00:00"), DateUtils.getEndOfHour(DateUtils.stringToDate("2019-02-04 07:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); dateValue = "last3Days"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-02-07 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-02-07 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); dateValue = "last7Days"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-02-03 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-02-03 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); dateValue = "lastWeek"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-28 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-28 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); expect = new DateInterval(DateUtils.stringToDate("2019-02-03 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-02-03 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(6)); Assert.assertEquals(7, dateIntervals.size()); dateValue = "lastMonday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-28 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-28 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastTuesday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-29 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-29 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastWednesday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-30 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-30 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastThursday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-31 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-31 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastFriday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-02-01 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-02-01 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastSaturday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-02-02 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-02-02 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastSunday"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-02-03 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-02-03 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastMonth"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-01 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-01 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); expect = new DateInterval(DateUtils.stringToDate("2019-01-31 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-31 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(30)); Assert.assertEquals(31, dateIntervals.size()); dateValue = "lastMonthBegin"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-01 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-01 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); dateValue = "lastMonthEnd"; dateIntervals = DependentUtils.getDateIntervalList(DateUtils.stringToDate("2019-02-10 07:00:00"), dateValue); expect = new DateInterval(DateUtils.stringToDate("2019-01-31 00:00:00"), DateUtils.getEndOfDay(DateUtils.stringToDate("2019-01-31 00:00:00"))); Assert.assertEquals(expect, dateIntervals.get(0)); Assert.assertEquals(1, dateIntervals.size()); } @Test Loading