def setUp(self): self.next_objectid = 13 self.objectids = {} self.master = mock.Mock() self.master.master = self.master def getObjectId(sched_name, class_name): k = (sched_name, class_name) try: rv = self.objectids[k] except KeyError: rv = self.objectids[k] = self.next_objectid self.next_objectid += 1 return defer.succeed(rv) self.master.db.state.getObjectId = getObjectId def getScheduler(sched_id): return defer.succeed(dict(enabled=True)) self.master.db.schedulers.getScheduler = getScheduler self.new_config = mock.Mock() self.sm = manager.SchedulerManager() self.sm.setServiceParent(self.master) return self.sm.startService()
def test_finding_scheduler_by_builder_name(self): scheduler_manager = manager.SchedulerManager(self.master) first_scheduler = mock.Mock(spec=self.Sched, builderNames=['builder_a', 'builder_b']) scheduler_manager.addService(first_scheduler) second_scheduler = mock.Mock(spec=self.Sched, builderNames=['builder_c', 'builder_d']) scheduler_manager.addService(second_scheduler) self.assertEqual( scheduler_manager.findSchedulerByBuilderName('builder_c'), second_scheduler)
def setUp(self): self.next_objectid = 13 self.objectids = {} self.master = mock.Mock() def getObjectId(sched_name, class_name): k = (sched_name, class_name) try: rv = self.objectids[k] except: rv = self.objectids[k] = self.next_objectid self.next_objectid += 1 return defer.succeed(rv) self.master.db.state.getObjectId = getObjectId self.new_config = mock.Mock() self.sm = manager.SchedulerManager(self.master) self.sm.startService()
def test_finding_scheduler_by_name(self): scheduler_manager = manager.SchedulerManager(self.master) mocked_schedulers = [ mock.Mock(spec=self.Sched), mock.Mock(spec=self.Sched), mock.Mock(spec=self.ReconfigSched), mock.Mock(spec=self.ReconfigSched), ] for index, scheduler in enumerate(mocked_schedulers): scheduler.name = 'scheduler-{}'.format(index) scheduler_manager.addService(scheduler) for scheduler in mocked_schedulers: self.assertEqual( scheduler_manager.findSchedulerByName(scheduler.name), scheduler) self.assertIsNone( scheduler_manager.findSchedulerByName('not-existing-scheduler'))
def test_finding_scheduler_by_builder_name_filter_by_scheduler_type(self): fake_scheduler_type = type('FakeScheduler', (base.BaseScheduler, ), {}) scheduler_manager = manager.SchedulerManager(self.master) first_scheduler = mock.Mock(spec=self.Sched, builderNames=['builder_a', 'builder_b']) scheduler_manager.addService(first_scheduler) second_scheduler = mock.Mock(spec=fake_scheduler_type, builderNames=['builder_b', 'builder_c']) scheduler_manager.addService(second_scheduler) self.assertEqual( scheduler_manager.findSchedulerByBuilderName( 'builder_b', scheduler_type=self.Sched), first_scheduler, ) self.assertEqual( scheduler_manager.findSchedulerByBuilderName( 'builder_b', scheduler_type=fake_scheduler_type), second_scheduler, )