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, )
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)
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)
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, )