예제 #1
0
    def test_reject_timezoned_timestamp_without_calling_individual_function(
            self):
        tz = pytz.timezone("Europe/Berlin")
        dt = tz.normalize(datetime.utcnow().replace(tzinfo=pytz.UTC))
        with contextlib.ExitStack() as stack:
            align_to_days = stack.enter_context(
                unittest.mock.patch("cuteborg.scheduler.utils.align_to_days"))

            stack.enter_context(
                self.assertRaisesRegex(ValueError, "needs naive datetime"))

            utils.align_to_interval(
                dt,
                2,
                config.IntervalUnit.DAY,
            )

        align_to_days.assert_not_called()
예제 #2
0
    def test_dispatch_to_year_impl(self):
        with contextlib.ExitStack() as stack:
            align_to_years = stack.enter_context(
                unittest.mock.patch(
                    "cuteborg.scheduler.utils.align_to_years", ))

            result = utils.align_to_interval(
                self.dt,
                unittest.mock.sentinel.step,
                config.IntervalUnit.YEAR,
            )

        align_to_years.assert_called_once_with(
            self.dt,
            unittest.mock.sentinel.step,
        )

        self.assertEqual(
            result,
            align_to_years(),
        )