def test_time_partitions_weekly_partitions( start: datetime, end: datetime, partition_weeks_offset: Optional[int], current_time, expected_partitions: List[str], ): with pendulum.test(current_time): partitions = ScheduleTimeBasedPartitionsDefinition( schedule_type=ScheduleType.WEEKLY, start=start, execution_time=time(1, 20), execution_day=0, end=end, offset=partition_weeks_offset, ) assert_expected_partitions(partitions.get_partitions(), expected_partitions)
def test_time_partitions_hourly_partitions( start: datetime, end: datetime, timezone: Optional[str], partition_hours_offset: int, current_time, expected_partitions: List[str], ): with pendulum.test(current_time): partitions = ScheduleTimeBasedPartitionsDefinition( schedule_type=ScheduleType.HOURLY, start=start, execution_time=time(0, 1), end=end, timezone=timezone, fmt=DEFAULT_HOURLY_FORMAT_WITH_TIMEZONE, offset=partition_hours_offset, ) assert_expected_partitions(partitions.get_partitions(), expected_partitions)
def test_time_partitions_daily_partitions( start: datetime, execution_time: time, end: Optional[datetime], partition_days_offset: Optional[int], current_time, expected_partitions: List[str], timezone: Optional[str], ): with pendulum.test(current_time): partitions = ScheduleTimeBasedPartitionsDefinition( schedule_type=ScheduleType.DAILY, start=start, execution_time=execution_time, end=end, offset=partition_days_offset, timezone=timezone, ) assert_expected_partitions(partitions.get_partitions(), expected_partitions)