コード例 #1
0
 def test_next_n(self):
     start_date = pendulum.datetime(2018, 1, 1)
     now = pendulum.now("UTC")
     s = schedules.IntervalSchedule(start_date, timedelta(days=1))
     t = schedules.OneTimeSchedule(start_date=s.next(1)[0].add(minutes=-1))
     main = schedules.UnionSchedule([s, t])
     assert main.next(2) == [t.next(1)[0], s.next(1)[0]]
コード例 #2
0
 def test_next_n_with_no_next(self):
     start_date = pendulum.datetime(2018, 1, 1)
     now = pendulum.now("UTC")
     s = schedules.IntervalSchedule(start_date, timedelta(days=1))
     t = schedules.OneTimeSchedule(start_date=now.add(hours=-1))
     main = schedules.UnionSchedule([s, t])
     assert main.next(2) == s.next(2)
コード例 #3
0
ファイル: test_schedules.py プロジェクト: weblearngit/prefect
def test_serialize_onetime_schedule():
    schema = schemas.OneTimeScheduleSchema()
    schedule = schedules.OneTimeSchedule(start_date=pendulum.today("utc"))
    assert schema.dump(schedule) == {
        "__version__": __version__,
        "start_date": serialize_fmt(schedule.start_date),
    }
コード例 #4
0
 def test_onetime_schedule_next_n_with_after_argument(self):
     start_date = pendulum.today("UTC").add(days=1)
     s = schedules.OneTimeSchedule(start_date)
     assert s.next(1,
                   after=start_date - timedelta(seconds=1)) == [start_date]
     assert s.next(1, after=start_date.add(days=-1)) == [start_date]
     assert s.next(1, after=start_date.add(days=1)) == []
コード例 #5
0
ファイル: test_schedules.py プロジェクト: weblearngit/prefect
def test_roundtrip_onetime_schedule():
    schema = schemas.OneTimeScheduleSchema()
    schedule = schedules.OneTimeSchedule(start_date=pendulum.today("utc"))
    new = schema.load(schema.dump(schedule))
    assert isinstance(new, schedules.OneTimeSchedule)
    assert new.start_date == schedule.start_date
    assert new.end_date == schedule.start_date
コード例 #6
0
 def test_serialize_onetime_schedule(self):
     start_date = pendulum.datetime(1986, 9, 20)
     schedule = schedules.OneTimeSchedule(start_date=start_date)
     assert schedule.serialize() == {
         "start_date": serialize_fmt(start_date),
         "type": "OneTimeSchedule",
         "__version__": __version__,
     }
コード例 #7
0
 def test_onetime_schedule_n_negative(self):
     start_date = pendulum.today("UTC").add(days=1)
     s = schedules.OneTimeSchedule(start_date=start_date)
     assert s.next(-3) == []
コード例 #8
0
 def test_onetime_schedule_next_n(self):
     """Test that default after is *now*"""
     start_date = pendulum.today("UTC").add(days=1)
     s = schedules.OneTimeSchedule(start_date)
     assert s.next(3) == [start_date]
     assert s.next(1) == [start_date]
コード例 #9
0
 def test_start_date_must_be_datetime(self):
     with pytest.raises(TypeError):
         schedules.OneTimeSchedule(start_date=None)
コード例 #10
0
 def test_start_date_must_be_provided(self):
     with pytest.raises(TypeError):
         schedules.OneTimeSchedule()
コード例 #11
0
 def test_create_onetime_schedule(self):
     schedule = schedules.OneTimeSchedule(start_date=pendulum.now("UTC"))
     assert schedule.start_date == schedule.end_date