mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-20 10:21:37 +00:00
47 lines
1.3 KiB
PHP
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());
|
|
}
|
|
}
|