/** * Get class of the task, run it's default method or method specified in * task data [method] * * @param Task $task */ protected function _runTask(Task $task) { $taskClassName = $task->getClassName(); if (!class_exists($taskClassName)) { throw new \InvalidArgumentException(sprintf('Task class "%s" not found', $taskClassName)); } $taskObject = new $taskClassName(); if ($taskObject instanceof TaskInterface) { $taskObject->setData($task->getData()); $taskObject->run(); return $taskObject; } else { $methodName = $task->getMethodName(); $taskObject->{$methodName}($task->getData()); } }
/** * @covers \Qutee\Task::__construct * @depends testCanSetAndGetName * @depends testCanSetAndGetData */ public function testCanSettAttributesUpponInstantiation() { $data = array('test' => 'data'); $task = new Task('TaskName', $data, Task::PRIORITY_HIGH, 'unique_identifier', 'methodName'); $this->assertEquals('TaskName', $task->getName()); $this->assertEquals($data, $task->getData()); $this->assertEquals('methodName', $task->getMethodName()); $this->assertEquals(3, $task->getPriority()); $this->assertEquals(md5('TaskNameunique_identifier'), $task->getUniqueId()); }