Add ReadEnvVarCommand test

This commit is contained in:
Alejandro Celaya
2024-10-14 08:55:09 +02:00
parent d79f11eeb8
commit e17556a7ae
3 changed files with 71 additions and 7 deletions

View File

@@ -4,6 +4,7 @@ declare(strict_types=1);
namespace Shlinkio\Shlink\CLI\Command\Config;
use Closure;
use Shlinkio\Shlink\CLI\Util\ExitCode;
use Shlinkio\Shlink\Core\Config\EnvVars;
use Symfony\Component\Console\Command\Command;
@@ -22,6 +23,15 @@ class ReadEnvVarCommand extends Command
{
public const NAME = 'env-var:read';
/** @var Closure(string $envVar): mixed */
private readonly Closure $loadEnvVar;
public function __construct(?Closure $loadEnvVar = null)
{
$this->loadEnvVar = $loadEnvVar ?? static fn (string $envVar) => EnvVars::from($envVar)->loadFromEnv();
parent::__construct();
}
protected function configure(): void
{
$this
@@ -51,7 +61,7 @@ class ReadEnvVarCommand extends Command
protected function execute(InputInterface $input, OutputInterface $output): int
{
$envVar = $input->getArgument('envVar');
$output->writeln(formatEnvVarValue(EnvVars::from($envVar)->loadFromEnv()));
$output->writeln(formatEnvVarValue(($this->loadEnvVar)($envVar)));
return ExitCode::EXIT_SUCCESS;
}