def test_get_schedule_token(self, repository_mock, time_mock):
        repository = mock.Mock()
        repository_mock.return_value = repository

        schedule_config = WorkflowScheduleConfig()
        schedule_config.workflow = 'some_workflow'
        schedule_config.start_date = '2012-01-01'
        schedule_config.time = '00.00.01.000'
        schedule_config.recurrence = '1d'
        schedule_config.overrun_policy = 'START_NEW'
        schedule_config.emails = ['*****@*****.**',
                                  '*****@*****.**']
        repository.get_schedule.return_value = schedule_config

        time_mock.return_value = 100.  # the value must be a float

        parser = RepositoryConfigParser()

        schedule_token = parser.get_schedule_token('some_workflow')

        self.assertEqual('/schedule/workflow/some_workflow',
                         schedule_token.name)
        # 1325376000 = 01 Jan 2012 00:00:00 UTC
        self.assertEqual(1325376000, schedule_token.expirationTime)
        schedule = pickle.loads(schedule_token.data)
        self.assertEqual(1325376000, schedule.next_run_time)
        self.assertEqual(24 * 60 * 60, schedule.recurrence_seconds)
        self.assertEqual(OverrunPolicy.START_NEW, schedule.overrun_policy)
        self.assertEqual('some_workflow', schedule.workflow)
        self.assertEqual(['*****@*****.**',
                          '*****@*****.**'], schedule.emails)

        repository.get_schedule.assert_called_once_with('some_workflow')
Beispiel #2
0
    def test_get_schedule_token(self, repository_mock, time_mock):
        repository = mock.Mock()
        repository_mock.return_value = repository

        schedule_config = WorkflowScheduleConfig()
        schedule_config.workflow = 'some_workflow'
        schedule_config.start_date = '2012-01-01'
        schedule_config.time = '00.00.01.000'
        schedule_config.recurrence = '1d'
        schedule_config.overrun_policy = 'START_NEW'
        schedule_config.emails = [
            '*****@*****.**', '*****@*****.**'
        ]
        repository.get_schedule.return_value = schedule_config

        time_mock.return_value = 100.  # the value must be a float

        parser = RepositoryConfigParser()

        schedule_token = parser.get_schedule_token('some_workflow')

        self.assertEqual('/schedule/workflow/some_workflow',
                         schedule_token.name)
        # 1325376000 = 01 Jan 2012 00:00:00 UTC
        self.assertEqual(1325376000, schedule_token.expirationTime)
        schedule = pickle.loads(schedule_token.data)
        self.assertEqual(1325376000, schedule.next_run_time)
        self.assertEqual(24 * 60 * 60, schedule.recurrence_seconds)
        self.assertEqual(OverrunPolicy.START_NEW, schedule.overrun_policy)
        self.assertEqual('some_workflow', schedule.workflow)
        self.assertEqual(
            ['*****@*****.**', '*****@*****.**'],
            schedule.emails)

        repository.get_schedule.assert_called_once_with('some_workflow')