Exemplo n.º 1
0
 def test_at_after_time(self):
     schedule = Schedule().every().day().at(12, 00)
     now = datetime.now()
     next_run = schedule.get_next_run_time(now)
     expected_datetime = (now + timedelta(days=1)).replace(hour=12,
                                                           minute=0,
                                                           second=0,
                                                           microsecond=0)
     assert next_run == expected_datetime
Exemplo n.º 2
0
    def test_job_run_correctly(self):
        test_func = MagicMock()
        schedule = Schedule().every().day().at(12, 00)
        job = ScheduledJob(schedule, test_func)

        job.run()
        test_func.assert_called_once()
Exemplo n.º 3
0
    def test_add_function(self):
        def scheduled_func(message):
            return message

        self.bot.add_scheduled(Schedule().second(), scheduled_func)
        scheduled_funcs = [
            func for func in [job.func for job in self.bot.scheduler.jobs]
        ]
        self.assertTrue(scheduled_func in scheduled_funcs)
Exemplo n.º 4
0
    def test_decarator(self):
        @self.bot.scheduled(Schedule().second())
        def scheduled_func(message):
            return message

        scheduled_funcs = [
            func for func in [job.func for job in self.bot.scheduler.jobs]
        ]
        self.assertTrue(scheduled_func in scheduled_funcs)
Exemplo n.º 5
0
    def test_adds_job_correctly(self):
        test_func = MagicMock()
        schedule = Schedule().every().day().at(12, 00)
        job = ScheduledJob(schedule, test_func)

        scheduler = Scheduler()
        scheduler.add_job(job)

        self.assertIn(job, scheduler.jobs)
Exemplo n.º 6
0
    def test_runs_jobs_correctly(self):
        test_func = MagicMock()
        schedule = Schedule().every().day().at(12, 00)
        job = ScheduledJob(schedule, test_func)

        job.should_run = MagicMock(return_value=True)

        scheduler = Scheduler()
        scheduler.add_job(job)

        scheduler.run_pending()
        test_func.assert_called_once()
Exemplo n.º 7
0
    def test_job_create_correctly(self):
        def job_func():
            pass

        schedule = Schedule().every().day().at(12, 00)
        job = ScheduledJob(schedule, job_func)

        expected_time = (datetime.now() + timedelta(days=1)).replace(
            hour=12, minute=0, second=0, microsecond=0)

        self.assertEqual(job.func, job_func)
        self.assertEqual(job.next_run, expected_time)
        self.assertFalse(job.should_run())
Exemplo n.º 8
0
 def test_at_throws_when_not_on_day(self):
     with self.assertRaises(Exception):
         Schedule().every().at(12, 00)
Exemplo n.º 9
0
 def test_at_throws_when_on_already_set(self):
     with self.assertRaises(Exception):
         Schedule().every().day().at(12, 00).at(12, 00)
Exemplo n.º 10
0
 def test_day(self):
     schedule = Schedule().every().day()
     now = datetime.now()
     next_run = schedule.get_next_run_time(now)
     expected_datetime = now + timedelta(days=1)
     assert next_run == expected_datetime
Exemplo n.º 11
0
 def test_seconds(self):
     schedule = Schedule().every().seconds(2)
     now = datetime.now()
     next_run = schedule.get_next_run_time(now)
     expected_datetime = now + timedelta(seconds=2)
     assert next_run == expected_datetime