def test_remove_from_concern__none(self): nolock = None lock = utils.gen_concern_item(models.ConcernType.Lock) for obj in self.hierarchy.values(): obj.add_to_concerns(lock) obj.remove_from_concerns(nolock) self.assertTrue(obj.locked)
def test_add_to_concern(self): lock = utils.gen_concern_item(models.ConcernType.Lock) for obj in self.hierarchy.values(): obj.add_to_concerns(lock) self.assertTrue(obj.locked) locks = obj.concerns.all() self.assertEqual(len(locks), 1) self.assertEqual(locks[0].pk, lock.pk)
def test_is_locked__deleted(self): lock = utils.gen_concern_item(models.ConcernType.Lock) for obj in self.hierarchy.values(): obj.add_to_concerns(lock) lock.delete() for obj in self.hierarchy.values(): self.assertFalse(obj.locked)
def test_remove_from_concern__deleted(self): nolock = models.ConcernItem(type=models.ConcernType.Lock, name=None, reason='unsaved') lock = utils.gen_concern_item(models.ConcernType.Lock) for obj in self.hierarchy.values(): obj.add_to_concerns(lock) obj.remove_from_concerns(nolock) self.assertTrue(obj.locked)
def test_lock_affected__lock_is_single(self): cluster = utils.gen_cluster() task = utils.gen_task_log(cluster) utils.gen_job_log(task) task.lock = utils.gen_concern_item(models.ConcernType.Lock) task.save() task.lock_affected([cluster]) self.assertFalse(cluster.locked)
def test_is_locked__true(self): lock = utils.gen_concern_item(models.ConcernType.Lock) for obj in self.hierarchy.values(): obj.add_to_concerns(lock) self.assertTrue(obj.locked)