mirror of https://github.com/hauke68/Magallanes
Andrés Montañez
8 years ago
12 changed files with 767 additions and 724 deletions
@ -1,157 +0,0 @@
|
||||
<?php |
||||
|
||||
namespace Mage\Tests\Command\BuiltIn\Composer; |
||||
|
||||
use Mage\Runtime\Runtime; |
||||
use Mage\Task\BuiltIn\Composer\SelfUpdateTask; |
||||
use PHPUnit_Framework_TestCase as TestCase; |
||||
use Symfony\Component\Process\Process; |
||||
|
||||
class SelfUpdateTaskTest extends TestCase |
||||
{ |
||||
public function testBasics() |
||||
{ |
||||
$task = new SelfUpdateTask(); |
||||
$this->assertSame('composer/selfupdate', $task->getName()); |
||||
$this->assertSame('[Composer] Selfupdate', $task->getDescription()); |
||||
} |
||||
|
||||
public function testExecuteWithFailingVersionDoesNotCallSelfupdate() |
||||
{ |
||||
$runtime = $this->getMockBuilder(Runtime::class) |
||||
->setMethods(['runCommand']) |
||||
->getMock(); |
||||
|
||||
$runtime |
||||
->expects($this->once()) |
||||
->method('runCommand') |
||||
->with('composer --version') |
||||
->willReturn($this->mockProcess(false)); |
||||
|
||||
$task = $this->getTask($runtime); |
||||
$this->assertFalse($task->execute()); |
||||
} |
||||
|
||||
public function testExecuteWithNoDateVersionDoesCallSelfupdate() |
||||
{ |
||||
$runtime = $this->getMockBuilder(Runtime::class) |
||||
->setMethods(['runCommand']) |
||||
->getMock(); |
||||
|
||||
$runtime |
||||
->expects($this->exactly(2)) |
||||
->method('runCommand') |
||||
->withConsecutive( |
||||
['composer --version'], |
||||
['composer selfupdate'] |
||||
) |
||||
->willReturnOnConsecutiveCalls( |
||||
$this->mockProcess(true, 'whatever-without-valid-date'), |
||||
$this->mockProcess(true) |
||||
); |
||||
|
||||
$task = $this->getTask($runtime); |
||||
$this->assertTrue($task->execute()); |
||||
} |
||||
|
||||
public function testExecuteShouldUpdate() |
||||
{ |
||||
$runtime = $this->getMockBuilder(Runtime::class) |
||||
->setMethods(['runCommand']) |
||||
->getMock(); |
||||
|
||||
$runtime |
||||
->expects($this->exactly(2)) |
||||
->method('runCommand') |
||||
->withConsecutive( |
||||
['composer --version'], |
||||
['composer selfupdate'] |
||||
) |
||||
->willReturnOnConsecutiveCalls( |
||||
$this->mockProcess(true, 'Composer version 1.3.2 2017-01-01 18:23:41'), |
||||
$this->mockProcess(true) |
||||
); |
||||
|
||||
$task = $this->getTask($runtime); |
||||
$task->setOptions(['days' => 30]); |
||||
$this->assertTrue($task->execute()); |
||||
} |
||||
|
||||
public function testExecuteShouldNotUpdate() |
||||
{ |
||||
$runtime = $this->getMockBuilder(Runtime::class) |
||||
->setMethods(['runCommand']) |
||||
->getMock(); |
||||
|
||||
$runtime |
||||
->expects($this->exactly(1)) |
||||
->method('runCommand') |
||||
->with('composer --version') |
||||
->willReturn($this->mockProcess(true, 'Composer version 1.3.2 2017-01-01 18:23:41')); |
||||
|
||||
$task = $this->getTask($runtime); |
||||
$task->setDateToCompare(\DateTime::createFromFormat('Y-m-d H:i:s', '2016-12-10 18:23:41')); |
||||
$task->setOptions(['days' => 30]); |
||||
$this->assertTrue($task->execute()); |
||||
} |
||||
|
||||
public function testWithRelease() |
||||
{ |
||||
$runtime = $this->getMockBuilder(Runtime::class) |
||||
->setMethods(['runCommand']) |
||||
->getMock(); |
||||
|
||||
$runtime |
||||
->expects($this->exactly(2)) |
||||
->method('runCommand') |
||||
->withConsecutive( |
||||
['composer --version'], |
||||
['composer selfupdate 1.3.1'] |
||||
) |
||||
->willReturnOnConsecutiveCalls( |
||||
$this->mockProcess(true, 'Composer version 1.3.2 2017-01-01 18:23:41'), |
||||
$this->mockProcess(true) |
||||
); |
||||
|
||||
$task = $this->getTask($runtime); |
||||
$task->setOptions(['days' => 30, 'release' => '1.3.1']); |
||||
$this->assertTrue($task->execute()); |
||||
} |
||||
|
||||
private function getTask($runtime) |
||||
{ |
||||
$config = [ |
||||
'magephp' => [ |
||||
'composer' => [ |
||||
'path' => 'composer.phar' |
||||
] |
||||
] |
||||
]; |
||||
|
||||
/** @var Runtime $runtime */ |
||||
$runtime->setConfiguration($config); |
||||
|
||||
$task = new SelfUpdateTask(); |
||||
$task->setRuntime($runtime); |
||||
|
||||
return $task; |
||||
} |
||||
|
||||
private function mockProcess($successful, $output = '') |
||||
{ |
||||
$process = $this->getMockBuilder(Process::class) |
||||
->disableOriginalConstructor() |
||||
->getMock(); |
||||
$process |
||||
->expects($this->any()) |
||||
->method('isSuccessful') |
||||
->willReturn($successful); |
||||
|
||||
$process |
||||
->expects($this->any()) |
||||
->method('getOutput') |
||||
->willReturn($output); |
||||
|
||||
return $process; |
||||
} |
||||
} |
@ -0,0 +1,173 @@
|
||||
<?php |
||||
|
||||
namespace Mage\Tests\Task\BuiltIn\Composer; |
||||
|
||||
use Mage\Tests\Runtime\RuntimeMockup; |
||||
use Mage\Task\BuiltIn\Composer\SelfUpdateTask; |
||||
use Mage\Task\Exception\SkipException; |
||||
use Exception; |
||||
use PHPUnit_Framework_TestCase as TestCase; |
||||
|
||||
class SelfUpdateTaskTest extends TestCase |
||||
{ |
||||
public function testSelfUpdateTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new SelfUpdateTask(); |
||||
$task->setOptions(['path' => 'composer']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
try { |
||||
$task->execute(); |
||||
} catch (Exception $exception) { |
||||
$this->assertTrue($exception instanceof SkipException, 'Update should been skipped'); |
||||
} |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
$testCase = array( |
||||
0 => 'composer --version', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testSelfUpdateAsRootTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new SelfUpdateTask(); |
||||
$task->setOptions(['path' => './composer']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
try { |
||||
$task->execute(); |
||||
} catch (Exception $exception) { |
||||
$this->assertTrue($exception instanceof SkipException, 'Update should been skipped'); |
||||
} |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
$testCase = array( |
||||
0 => './composer --version', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testSelfUpdateMustUpdateTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new SelfUpdateTask(); |
||||
$task->setOptions(['path' => 'composer.phar']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
try { |
||||
$result = $task->execute(); |
||||
$this->assertTrue($result, 'Result should be successful'); |
||||
} catch (Exception $exception) { |
||||
if ($exception instanceof SkipException) { |
||||
$this->assertTrue(false, 'Update should not have been skipped'); |
||||
} |
||||
} |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
$testCase = array( |
||||
0 => 'composer.phar --version', |
||||
1 => 'composer.phar self-update', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testSelfUpdateWrongOutputTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new SelfUpdateTask(); |
||||
$task->setOptions(['path' => 'php composer']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
try { |
||||
$result = $task->execute(); |
||||
$this->assertFalse($result, 'Result should be failure'); |
||||
} catch (Exception $exception) { |
||||
if ($exception instanceof SkipException) { |
||||
$this->assertTrue(false, 'Update should not have been skipped'); |
||||
} |
||||
} |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
$testCase = array( |
||||
0 => 'php composer --version', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testSelfUpdateFailExecTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new SelfUpdateTask(); |
||||
$task->setOptions(['path' => 'composer']); |
||||
$task->setRuntime($runtime); |
||||
$runtime->forceFail('composer --version'); |
||||
|
||||
try { |
||||
$result = $task->execute(); |
||||
$this->assertFalse($result, 'Result should be failure'); |
||||
} catch (Exception $exception) { |
||||
if ($exception instanceof SkipException) { |
||||
$this->assertTrue(false, 'Update should not have been skipped'); |
||||
} |
||||
} |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
$testCase = array( |
||||
0 => 'composer --version', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,158 @@
|
||||
<?php |
||||
/* |
||||
* This file is part of the Magallanes package. |
||||
* |
||||
* (c) Andrés Montañez <andres@andresmontanez.com> |
||||
* |
||||
* For the full copyright and license information, please view the LICENSE |
||||
* file that was distributed with this source code. |
||||
*/ |
||||
|
||||
namespace Mage\Tests\Task\BuiltIn\FileSystem; |
||||
|
||||
use Mage\Task\Exception\ErrorException; |
||||
use Mage\Task\BuiltIn\FS\CopyTask; |
||||
use Exception; |
||||
use Mage\Tests\Runtime\RuntimeMockup; |
||||
use PHPUnit_Framework_TestCase as TestCase; |
||||
|
||||
class CopyTaskTest extends TestCase |
||||
{ |
||||
public function testCopyTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new CopyTask(); |
||||
$task->setOptions(['from' => 'a.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'cp -p "a.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testCopyTaskWithFlags() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new CopyTask(); |
||||
$task->setOptions(['from' => 'a.txt', 'to' => 'b.txt', 'flags' => '-rp']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'cp -rp "a.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testCopyReplaceTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new CopyTask(); |
||||
$task->setOptions(['from' => '%environment%.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('test.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'cp -p "test.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testCopyMultipleReplaceTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
$runtime->setReleaseId('1234'); |
||||
$runtime->setWorkingHost('localhost'); |
||||
|
||||
$task = new CopyTask(); |
||||
$task->setOptions(['from' => '%host%.txt', 'to' => '%release%.yml']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('localhost.txt', $task->getDescription()); |
||||
$this->assertContains('1234.yml', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'cp -p "localhost.txt" "1234.yml"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testCopyBadOptionsTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new CopyTask(); |
||||
$task->setOptions(['form' => 'a.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
try { |
||||
$this->assertContains('[missing parameters]', $task->getDescription()); |
||||
$task->execute(); |
||||
$this->assertTrue(false, 'Task did not failed'); |
||||
} catch (Exception $exception) { |
||||
$this->assertTrue($exception instanceof ErrorException); |
||||
$this->assertEquals('Parameter "from" is not defined', $exception->getMessage()); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,127 @@
|
||||
<?php |
||||
/* |
||||
* This file is part of the Magallanes package. |
||||
* |
||||
* (c) Andrés Montañez <andres@andresmontanez.com> |
||||
* |
||||
* For the full copyright and license information, please view the LICENSE |
||||
* file that was distributed with this source code. |
||||
*/ |
||||
|
||||
namespace Mage\Tests\Task\BuiltIn\FileSystem; |
||||
|
||||
use Mage\Task\Exception\ErrorException; |
||||
use Mage\Task\BuiltIn\FS\LinkTask; |
||||
use Exception; |
||||
use Mage\Tests\Runtime\RuntimeMockup; |
||||
use PHPUnit_Framework_TestCase as TestCase; |
||||
|
||||
class LinkTaskTest extends TestCase |
||||
{ |
||||
public function testLinkTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new LinkTask(); |
||||
$task->setOptions(['from' => 'a.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'ln -snf "a.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testLinkTaskWithFlags() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new LinkTask(); |
||||
$task->setOptions(['from' => 'a.txt', 'to' => 'b.txt', 'flags' => '-P']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'ln -P "a.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testLinkReplaceTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new LinkTask(); |
||||
$task->setOptions(['from' => '%environment%.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('test.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'ln -snf "test.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testLinkBadOptionsTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new LinkTask(); |
||||
$task->setOptions(['form' => 'a.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
try { |
||||
$this->assertContains('[missing parameters]', $task->getDescription()); |
||||
$task->execute(); |
||||
$this->assertTrue(false, 'Task did not failed'); |
||||
} catch (Exception $exception) { |
||||
$this->assertTrue($exception instanceof ErrorException); |
||||
$this->assertEquals('Parameter "from" is not defined', $exception->getMessage()); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,127 @@
|
||||
<?php |
||||
/* |
||||
* This file is part of the Magallanes package. |
||||
* |
||||
* (c) Andrés Montañez <andres@andresmontanez.com> |
||||
* |
||||
* For the full copyright and license information, please view the LICENSE |
||||
* file that was distributed with this source code. |
||||
*/ |
||||
|
||||
namespace Mage\Tests\Task\BuiltIn\FileSystem; |
||||
|
||||
use Mage\Task\Exception\ErrorException; |
||||
use Mage\Task\BuiltIn\FS\MoveTask; |
||||
use Exception; |
||||
use Mage\Tests\Runtime\RuntimeMockup; |
||||
use PHPUnit_Framework_TestCase as TestCase; |
||||
|
||||
class MoveTaskTest extends TestCase |
||||
{ |
||||
public function testMoveTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new MoveTask(); |
||||
$task->setOptions(['from' => 'a.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'mv "a.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testMoveWithFlagsTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new MoveTask(); |
||||
$task->setOptions(['from' => 'a.txt', 'to' => 'b.txt', 'flags' => '-n']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'mv -n "a.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testMoveReplaceTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new MoveTask(); |
||||
$task->setOptions(['from' => '%environment%.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('test.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'mv "test.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testMoveBadOptionsTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new MoveTask(); |
||||
$task->setOptions(['form' => 'a.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
try { |
||||
$this->assertContains('[missing parameters]', $task->getDescription()); |
||||
$task->execute(); |
||||
$this->assertTrue(false, 'Task did not failed'); |
||||
} catch (Exception $exception) { |
||||
$this->assertTrue($exception instanceof ErrorException); |
||||
$this->assertEquals('Parameter "from" is not defined', $exception->getMessage()); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,124 @@
|
||||
<?php |
||||
/* |
||||
* This file is part of the Magallanes package. |
||||
* |
||||
* (c) Andrés Montañez <andres@andresmontanez.com> |
||||
* |
||||
* For the full copyright and license information, please view the LICENSE |
||||
* file that was distributed with this source code. |
||||
*/ |
||||
|
||||
namespace Mage\Tests\Task\BuiltIn\FileSystem; |
||||
|
||||
use Mage\Task\Exception\ErrorException; |
||||
use Mage\Task\BuiltIn\FS\RemoveTask; |
||||
use Exception; |
||||
use Mage\Tests\Runtime\RuntimeMockup; |
||||
use PHPUnit_Framework_TestCase as TestCase; |
||||
|
||||
class RemoveTaskTest extends TestCase |
||||
{ |
||||
public function testRemoveTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new RemoveTask(); |
||||
$task->setOptions(['file' => 'a.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'rm "a.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testRemoveWithFlagsTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new RemoveTask(); |
||||
$task->setOptions(['file' => 'a.txt', 'flags' => '-fr']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'rm -fr "a.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testRemoveReplaceTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new RemoveTask(); |
||||
$task->setOptions(['file' => '%environment%.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('test.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'rm "test.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testRemoveBadOptionsTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new RemoveTask(); |
||||
$task->setOptions(['from' => 'a.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
try { |
||||
$this->assertContains('[missing parameters]', $task->getDescription()); |
||||
$task->execute(); |
||||
$this->assertTrue(false, 'Task did not failed'); |
||||
} catch (Exception $exception) { |
||||
$this->assertTrue($exception instanceof ErrorException); |
||||
$this->assertEquals('Parameter "file" is not defined', $exception->getMessage()); |
||||
} |
||||
} |
||||
} |
@ -1,479 +0,0 @@
|
||||
<?php |
||||
/* |
||||
* This file is part of the Magallanes package. |
||||
* |
||||
* (c) Andrés Montañez <andres@andresmontanez.com> |
||||
* |
||||
* For the full copyright and license information, please view the LICENSE |
||||
* file that was distributed with this source code. |
||||
*/ |
||||
|
||||
namespace Mage\Tests\Task\BuiltIn; |
||||
|
||||
use Mage\Task\Exception\ErrorException; |
||||
use Mage\Task\BuiltIn\FS\CopyTask; |
||||
use Mage\Task\BuiltIn\FS\LinkTask; |
||||
use Mage\Task\BuiltIn\FS\MoveTask; |
||||
use Mage\Task\BuiltIn\FS\RemoveTask; |
||||
use Exception; |
||||
use Mage\Tests\Runtime\RuntimeMockup; |
||||
use PHPUnit_Framework_TestCase as TestCase; |
||||
|
||||
class FileSystemTaskTest extends TestCase |
||||
{ |
||||
public function testCopyTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new CopyTask(); |
||||
$task->setOptions(['from' => 'a.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'cp -p "a.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testCopyTaskWithFlags() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new CopyTask(); |
||||
$task->setOptions(['from' => 'a.txt', 'to' => 'b.txt', 'flags' => '-rp']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'cp -rp "a.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testCopyReplaceTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new CopyTask(); |
||||
$task->setOptions(['from' => '%environment%.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('test.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'cp -p "test.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testCopyMultipleReplaceTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
$runtime->setReleaseId('1234'); |
||||
$runtime->setWorkingHost('localhost'); |
||||
|
||||
$task = new CopyTask(); |
||||
$task->setOptions(['from' => '%host%.txt', 'to' => '%release%.yml']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('localhost.txt', $task->getDescription()); |
||||
$this->assertContains('1234.yml', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'cp -p "localhost.txt" "1234.yml"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testCopyBadOptionsTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new CopyTask(); |
||||
$task->setOptions(['form' => 'a.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
try { |
||||
$this->assertContains('[missing parameters]', $task->getDescription()); |
||||
$task->execute(); |
||||
$this->assertTrue(false, 'Task did not failed'); |
||||
} catch (Exception $exception) { |
||||
$this->assertTrue($exception instanceof ErrorException); |
||||
$this->assertEquals('Parameter "from" is not defined', $exception->getMessage()); |
||||
} |
||||
} |
||||
|
||||
public function testMoveTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new MoveTask(); |
||||
$task->setOptions(['from' => 'a.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'mv "a.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testMoveWithFlagsTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new MoveTask(); |
||||
$task->setOptions(['from' => 'a.txt', 'to' => 'b.txt', 'flags' => '-n']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'mv -n "a.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testMoveReplaceTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new MoveTask(); |
||||
$task->setOptions(['from' => '%environment%.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('test.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'mv "test.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testMoveBadOptionsTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new MoveTask(); |
||||
$task->setOptions(['form' => 'a.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
try { |
||||
$this->assertContains('[missing parameters]', $task->getDescription()); |
||||
$task->execute(); |
||||
$this->assertTrue(false, 'Task did not failed'); |
||||
} catch (Exception $exception) { |
||||
$this->assertTrue($exception instanceof ErrorException); |
||||
$this->assertEquals('Parameter "from" is not defined', $exception->getMessage()); |
||||
} |
||||
} |
||||
|
||||
public function testRemoveTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new RemoveTask(); |
||||
$task->setOptions(['file' => 'a.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'rm "a.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testRemoveWithFlagsTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new RemoveTask(); |
||||
$task->setOptions(['file' => 'a.txt', 'flags' => '-fr']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'rm -fr "a.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testRemoveReplaceTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new RemoveTask(); |
||||
$task->setOptions(['file' => '%environment%.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('test.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'rm "test.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testRemoveBadOptionsTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new RemoveTask(); |
||||
$task->setOptions(['from' => 'a.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
try { |
||||
$this->assertContains('[missing parameters]', $task->getDescription()); |
||||
$task->execute(); |
||||
$this->assertTrue(false, 'Task did not failed'); |
||||
} catch (Exception $exception) { |
||||
$this->assertTrue($exception instanceof ErrorException); |
||||
$this->assertEquals('Parameter "file" is not defined', $exception->getMessage()); |
||||
} |
||||
} |
||||
|
||||
public function testLinkTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new LinkTask(); |
||||
$task->setOptions(['from' => 'a.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'ln -snf "a.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testLinkTaskWithFlags() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new LinkTask(); |
||||
$task->setOptions(['from' => 'a.txt', 'to' => 'b.txt', 'flags' => '-P']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('a.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'ln -P "a.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testLinkReplaceTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new LinkTask(); |
||||
$task->setOptions(['from' => '%environment%.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
$this->assertContains('test.txt', $task->getDescription()); |
||||
$this->assertContains('b.txt', $task->getDescription()); |
||||
$task->execute(); |
||||
|
||||
$ranCommands = $runtime->getRanCommands(); |
||||
|
||||
$testCase = array( |
||||
0 => 'ln -snf "test.txt" "b.txt"', |
||||
); |
||||
|
||||
// Check total of Executed Commands |
||||
$this->assertEquals(count($testCase), count($ranCommands)); |
||||
|
||||
// Check Generated Commands |
||||
foreach ($testCase as $index => $command) { |
||||
$this->assertEquals($command, $ranCommands[$index]); |
||||
} |
||||
} |
||||
|
||||
public function testLinkBadOptionsTask() |
||||
{ |
||||
$runtime = new RuntimeMockup(); |
||||
$runtime->setConfiguration(['environments' => ['test' => []]]); |
||||
$runtime->setEnvironment('test'); |
||||
|
||||
$task = new LinkTask(); |
||||
$task->setOptions(['form' => 'a.txt', 'to' => 'b.txt']); |
||||
$task->setRuntime($runtime); |
||||
|
||||
try { |
||||
$this->assertContains('[missing parameters]', $task->getDescription()); |
||||
$task->execute(); |
||||
$this->assertTrue(false, 'Task did not failed'); |
||||
} catch (Exception $exception) { |
||||
$this->assertTrue($exception instanceof ErrorException); |
||||
$this->assertEquals('Parameter "from" is not defined', $exception->getMessage()); |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue