def test_set_subtask(self): """ Tests setting the subtask of parallelTask """ args = 1, 2, 3 kwargs = {'a':1} pt = ParallelTask() pt.set_subtask(StandaloneTask, *args, **kwargs) self.assertEqual(pt._subtask_class, StandaloneTask, 'Class is not the same') self.assertEqual(pt._subtask_args, args, 'args are not the same') self.assertEqual(pt._subtask_kwargs, kwargs, 'kwargs are not the same')
def test_start_subtask(self): """ Tests Task.start() verify: * that the work method is deferred to a thread successfully * that the status changes to STATUS_RUNNING when its running * that the status changes to STATUS_COMPLETED when its finished """ task = ParallelTask() task.subtask = StartupAndWaitTask() task.parent = WorkerProxy() # defer rest of test because this will cause the reactor to start return threads.deferToThread(self.verify_status, task=task.subtask, parent=task, subtask_key='ParallelTask.StartupAndWaitTask')
def test_from_subtask(self): """ Tests creating a ParallelTask class using ParallelTask.from_subtask() """ args = 1, 2, 3 kwargs = {'a':1} pt = ParallelTask.from_subtask(StandaloneTask, *args, **kwargs) self.assertEqual(pt._subtask_class, StandaloneTask, 'Class is not the same') self.assertEqual(pt._subtask_args, args, 'args are not the same') self.assertEqual(pt._subtask_kwargs, kwargs, 'kwargs are not the same')
def __init__(self): ParallelTask.__init__(self) self.set_subtask(StandaloneTask, 'subtask') self._finished = [] self.complete=False