1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
<?php
namespace Illuminate\Tests\Foundation;
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Bootstrap\LoadEnvironmentVariables;
use Mockery as m;
use PHPUnit\Framework\TestCase;
class LoadEnvironmentVariablesTest extends TestCase
{
protected function tearDown(): void
{
unset($_ENV['FOO']);
unset($_SERVER['FOO']);
putenv('FOO');
m::close();
}
protected function getAppMock($file)
{
$app = m::mock(Application::class);
$app->shouldReceive('configurationIsCached')
->once()->with()->andReturn(false);
$app->shouldReceive('runningInConsole')
->once()->with()->andReturn(false);
$app->shouldReceive('environmentPath')
->once()->with()->andReturn(__DIR__.'/../fixtures');
$app->shouldReceive('environmentFile')
->once()->with()->andReturn($file);
return $app;
}
public function testCanLoad()
{
$this->expectOutputString('');
(new LoadEnvironmentVariables)->bootstrap($this->getAppMock('.env'));
$this->assertSame('BAR', env('FOO'));
$this->assertSame('BAR', getenv('FOO'));
$this->assertSame('BAR', $_ENV['FOO']);
$this->assertSame('BAR', $_SERVER['FOO']);
}
public function testCanFailSilent()
{
$this->expectOutputString('');
(new LoadEnvironmentVariables)->bootstrap($this->getAppMock('BAD_FILE'));
}
}
|