code style fix

add command tests
This commit is contained in:
Saeed Vaziry
2023-09-02 16:41:42 +02:00
parent 71f9dabc24
commit e1eb42059f
135 changed files with 1859 additions and 135 deletions

View File

@ -0,0 +1,30 @@
<?php
namespace Tests\Feature\SSHCommands\PHP;
use App\SSHCommands\PHP\ChangeDefaultPHPCommand;
use Tests\TestCase;
class ChangeDefaultPHPCommandTest extends TestCase
{
public function test_generate_command()
{
$command = new ChangeDefaultPHPCommand('8.2');
$expected = <<<'EOD'
if ! sudo rm /usr/bin/php; then
echo 'VITO_SSH_ERROR' && exit 1
fi
if ! sudo ln -s /usr/bin/php8.2 /usr/bin/php; then
echo 'VITO_SSH_ERROR' && exit 1
fi
echo "Default php is: "
php -v
EOD;
$this->assertStringContainsString($expected, $command->content());
}
}

View File

@ -0,0 +1,20 @@
<?php
namespace Tests\Feature\SSHCommands\PHP;
use App\SSHCommands\PHP\GetPHPIniCommand;
use Tests\TestCase;
class GetPHPIniCommandTest extends TestCase
{
public function test_generate_command()
{
$command = new GetPHPIniCommand('8.2');
$expected = <<<'EOD'
cat /etc/php/8.2/cli/php.ini
EOD;
$this->assertStringContainsString($expected, $command->content());
}
}

View File

@ -0,0 +1,26 @@
<?php
namespace Tests\Feature\SSHCommands\PHP;
use App\SSHCommands\PHP\InstallComposerCommand;
use Tests\TestCase;
class InstallComposerCommandTest extends TestCase
{
public function test_generate_command()
{
$command = new InstallComposerCommand();
$expected = <<<'EOD'
cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
composer
EOD;
$this->assertStringContainsString($expected, $command->content());
}
}

View File

@ -0,0 +1,32 @@
<?php
namespace Tests\Feature\SSHCommands\PHP;
use App\SSHCommands\PHP\InstallPHPCommand;
use Tests\TestCase;
class InstallPHPCommandTest extends TestCase
{
public function test_generate_command()
{
$command = new InstallPHPCommand('8.1');
$expected = <<<'EOD'
sudo add-apt-repository ppa:ondrej/php -y
sudo DEBIAN_FRONTEND=noninteractive apt update
sudo DEBIAN_FRONTEND=noninteractive apt install -y php8.1 php8.1-fpm php8.1-mbstring php8.1-mysql php8.1-mcrypt php8.1-gd php8.1-xml php8.1-curl php8.1-gettext php8.1-zip php8.1-bcmath php8.1-soap php8.1-redis
if ! sudo sed -i 's/www-data/vito/g' /etc/php/8.1/fpm/pool.d/www.conf; then
echo 'VITO_SSH_ERROR' && exit 1
fi
sudo service php8.1-fpm enable
sudo service php8.1-fpm start
EOD;
$this->assertStringContainsString($expected, $command->content());
}
}

View File

@ -0,0 +1,24 @@
<?php
namespace Tests\Feature\SSHCommands\PHP;
use App\SSHCommands\PHP\InstallPHPExtensionCommand;
use Tests\TestCase;
class InstallPHPExtensionCommandTest extends TestCase
{
public function test_generate_command()
{
$command = new InstallPHPExtensionCommand('8.1', 'imagick');
$expected = <<<'EOD'
sudo apt install -y php8.1-imagick
sudo service php8.1-fpm restart
php8.1 -m
EOD;
$this->assertStringContainsString($expected, $command->content());
}
}

View File

@ -0,0 +1,24 @@
<?php
namespace Tests\Feature\SSHCommands\PHP;
use App\SSHCommands\PHP\UninstallPHPCommand;
use Tests\TestCase;
class UninstallPHPCommandTest extends TestCase
{
public function test_generate_command()
{
$command = new UninstallPHPCommand('8.1');
$expected = <<<'EOD'
sudo service php8.1-fpm stop
if ! sudo DEBIAN_FRONTEND=noninteractive apt remove -y php8.1 php8.1-fpm php8.1-mbstring php8.1-mysql php8.1-mcrypt php8.1-gd php8.1-xml php8.1-curl php8.1-gettext php8.1-zip php8.1-bcmath php8.1-soap php8.1-redis; then
echo 'VITO_SSH_ERROR' && exit 1
fi
EOD;
$this->assertStringContainsString($expected, $command->content());
}
}