vito/tests/Feature/SSHCommands/Website/CloneRepositoryCommandTest.php
Saeed Vaziry e1eb42059f code style fix
add command tests
2023-09-02 16:41:42 +02:00

47 lines
1.3 KiB
PHP

<?php
namespace Tests\Feature\SSHCommands\Website;
use App\SSHCommands\Website\CloneRepositoryCommand;
use Tests\TestCase;
class CloneRepositoryCommandTest extends TestCase
{
public function test_generate_command()
{
$command = new CloneRepositoryCommand('git@github.com-key:vitodeploy/vito.git', 'path', 'main', 'pk_path');
$expected = <<<EOD
echo "Host github.com-pk_path
Hostname github.com
IdentityFile=~/.ssh/pk_path" >> ~/.ssh/config
ssh-keyscan -H github.com >> ~/.ssh/known_hosts
rm -rf path
if ! git config --global core.fileMode false; then
echo 'VITO_SSH_ERROR' && exit 1
fi
if ! git clone -b main git@github.com-key:vitodeploy/vito.git path; then
echo 'VITO_SSH_ERROR' && exit 1
fi
if ! find path -type d -exec chmod 755 {} \;; then
echo 'VITO_SSH_ERROR' && exit 1
fi
if ! find path -type f -exec chmod 644 {} \;; then
echo 'VITO_SSH_ERROR' && exit 1
fi
if ! cd path && git config core.fileMode false; then
echo 'VITO_SSH_ERROR' && exit 1
fi
EOD;
$this->assertStringContainsString($expected, $command->content());
}
}