Ejemplo n.º 1
0
 /**
  * @test
  * @expectedException \TYPO3\Surf\Exception
  */
 public function initializeIsAllowedOnlyOnce()
 {
     $workflow = new \TYPO3\Surf\Domain\Model\SimpleWorkflow();
     $deployment = new \TYPO3\Surf\Domain\Model\Deployment('Test deployment');
     $deployment->setWorkflow($workflow);
     $deployment->initialize();
     $deployment->initialize();
 }
Ejemplo n.º 2
0
 /**
  * @test
  */
 public function executePassesApplicationOptionsToTask()
 {
     $node = new \TYPO3\Surf\Domain\Model\Node('Test node');
     $application = new \TYPO3\Surf\Domain\Model\Application('Test application');
     $deployment = new \TYPO3\Surf\Domain\Model\Deployment('Test deployment');
     /** @var \Psr\Log\LoggerInterface|\PHPUnit_Framework_MockObject_MockObject $logger */
     $logger = $this->getMock('Psr\\Log\\LoggerInterface');
     $deployment->setLogger($logger);
     $task = $this->getMock('TYPO3\\Surf\\Domain\\Model\\Task');
     /** @var \TYPO3\Surf\Domain\Service\TaskManager|\PHPUnit_Framework_MockObject_MockObject $taskManager */
     $taskManager = $this->getMock('TYPO3\\Surf\\Domain\\Service\\TaskManager', array('createTaskInstance'));
     $taskManager->expects($this->any())->method('createTaskInstance')->with('MyVendor\\MyPackage\\Task\\TaskGroup\\MyTask')->will($this->returnValue($task));
     $applicationOptions = array('repositoryUrl' => 'ssh://review.typo3.org/foo');
     $application->setOptions($applicationOptions);
     $task->expects($this->atLeastOnce())->method('execute')->with($this->anything(), $this->anything(), $this->anything(), $this->arrayHasKey('repositoryUrl'));
     $localOptions = array();
     $taskManager->execute('MyVendor\\MyPackage\\Task\\TaskGroup\\MyTask', $node, $application, $deployment, 'test', $localOptions);
 }
Ejemplo n.º 3
0
 /**
  * @test
  */
 public function executeProcessProperlyLogsStandardAndErrorOutput()
 {
     $shellCommandService = new \TYPO3\Surf\Domain\Service\ShellCommandService();
     $deployment = new \TYPO3\Surf\Domain\Model\Deployment('TestDeployment');
     /** @var \Psr\Log\LoggerInterface|\PHPUnit_Framework_MockObject_MockObject $mockLogger */
     $mockLogger = $this->getMock('Psr\\Log\\LoggerInterface');
     $deployment->setLogger($mockLogger);
     $mockLogger->expects($this->at(0))->method('debug')->with('$ out');
     $mockLogger->expects($this->at(1))->method('error')->with('$ err');
     $shellCommandService->executeProcess($deployment, 'echo "out" ; echo "err" >&2 ', true, '$ ');
 }
Ejemplo n.º 4
0
 /**
  * Build a Deployment object with Workflow for testing
  *
  * @param array $executedTasks Register for executed tasks
  * @return \TYPO3\Surf\Domain\Model\Deployment A configured Deployment for testing
  */
 protected function buildDeployment(array &$executedTasks = array())
 {
     $deployment = new \TYPO3\Surf\Domain\Model\Deployment('Test deployment');
     $mockLogger = $this->getMock('Psr\\Log\\LoggerInterface');
     // Enable log to console to debug tests
     // $mockLogger->expects($this->any())->method('log')->will($this->returnCallback(function($message) {
     // 	echo $message . chr(10);
     // }));
     $deployment->setLogger($mockLogger);
     $mockTaskManager = $this->getMock('TYPO3\\Surf\\Domain\\Service\\TaskManager');
     $mockTaskManager->expects($this->any())->method('execute')->will($this->returnCallback(function ($task, Node $node, Application $application, \TYPO3\Surf\Domain\Model\Deployment $deployment, $stage, array $options = array()) use(&$executedTasks) {
         $executedTasks[] = array('task' => $task, 'node' => $node->getName(), 'application' => $application->getName(), 'deployment' => $deployment->getName(), 'stage' => $stage, 'options' => $options);
     }));
     $workflow = new SimpleWorkflow($mockTaskManager);
     $deployment->setWorkflow($workflow);
     return $deployment;
 }