示例#1
0
 def setup_factory(self):
     self.context = mock.Mock()
     self.output_stream_dir = mock.Mock()
     self.time_zone = mock.Mock()
     self.action_runner = mock.create_autospec(
         actioncommand.SubprocessActionRunnerFactory, )
     self.factory = JobSchedulerFactory(
         self.context,
         self.output_stream_dir,
         self.time_zone,
         self.action_runner,
     )
示例#2
0
class TestJobSchedulerFactory(TestCase):
    @setup
    def setup_factory(self):
        self.context = mock.Mock()
        self.output_stream_dir = mock.Mock()
        self.time_zone = mock.Mock()
        self.action_runner = mock.create_autospec(
            actioncommand.SubprocessActionRunnerFactory,
        )
        self.factory = JobSchedulerFactory(
            self.context,
            self.output_stream_dir,
            self.time_zone,
            self.action_runner,
        )

    def test_build(self):
        config = mock.Mock()
        with mock.patch('tron.core.job_scheduler.Job', autospec=True) as mock_job:
            job_scheduler = self.factory.build(config)
            _, kwargs = mock_job.from_config.call_args
            assert_equal(kwargs['job_config'], config)
            assert_equal(
                job_scheduler.get_job(),
                mock_job.from_config.return_value,
            )
            assert_equal(kwargs['parent_context'], self.context)
            assert_equal(kwargs['output_path'].base, self.output_stream_dir)
            assert_equal(kwargs['action_runner'], self.action_runner)
示例#3
0
class TestJobSchedulerFactory(TestCase):
    @setup
    def setup_factory(self):
        self.context = mock.Mock()
        self.output_stream_dir = mock.Mock()
        self.time_zone = mock.Mock()
        self.action_runner = mock.create_autospec(
            actioncommand.SubprocessActionRunnerFactory,
        )
        self.factory = JobSchedulerFactory(
            self.context,
            self.output_stream_dir,
            self.time_zone,
            self.action_runner,
        )

    def test_build(self):
        config = mock.Mock()
        with mock.patch(
            'tron.core.job_scheduler.Job', autospec=True
        ) as mock_job:
            job_scheduler = self.factory.build(config)
            _, kwargs = mock_job.from_config.call_args
            assert_equal(kwargs['job_config'], config)
            assert_equal(
                job_scheduler.get_job(),
                mock_job.from_config.return_value,
            )
            assert_equal(kwargs['parent_context'], self.context)
            assert_equal(kwargs['output_path'].base, self.output_stream_dir)
            assert_equal(kwargs['action_runner'], self.action_runner)
示例#4
0
 def build_job_scheduler_factory(self, master_config, job_graph):
     output_stream_dir = master_config.output_stream_dir or self.working_dir
     action_runner = actioncommand.create_action_runner_factory_from_config(
         master_config.action_runner, )
     return JobSchedulerFactory(
         self.context,
         output_stream_dir,
         master_config.time_zone,
         action_runner,
         job_graph,
     )
示例#5
0
 def setup_factory(self):
     self.context = mock.Mock()
     self.output_stream_dir = mock.Mock()
     self.time_zone = mock.Mock()
     self.action_runner = mock.create_autospec(
         actioncommand.SubprocessActionRunnerFactory,
     )
     self.factory = JobSchedulerFactory(
         self.context,
         self.output_stream_dir,
         self.time_zone,
         self.action_runner,
     )