Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace Illuminate\Tests\Integration\Foundation; use Illuminate\Foundation\Conso..
Decoded Output download
<?php
namespace Illuminate\Tests\Integration\Foundation;
use Illuminate\Foundation\Console\DownCommand;
use Illuminate\Foundation\Console\UpCommand;
use Illuminate\Foundation\Events\MaintenanceModeDisabled;
use Illuminate\Foundation\Events\MaintenanceModeEnabled;
use Illuminate\Foundation\Http\MaintenanceModeBypassCookie;
use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Route;
use Orchestra\Testbench\Http\Middleware\PreventRequestsDuringMaintenance as TestbenchPreventRequestsDuringMaintenance;
use Orchestra\Testbench\TestCase;
use Symfony\Component\HttpFoundation\Cookie;
class MaintenanceModeTest extends TestCase
{
protected function setUp(): void
{
$this->beforeApplicationDestroyed(function () {
@unlink(storage_path('framework/down'));
});
parent::setUp();
$this->withoutMiddleware(TestbenchPreventRequestsDuringMaintenance::class);
}
public function testBasicMaintenanceModeResponse()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'refresh' => 60,
]));
Route::get('/foo', function () {
return 'Hello World';
})->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->get('/foo');
$response->assertStatus(503);
$response->assertHeader('Retry-After', '60');
$response->assertHeader('Refresh', '60');
}
public function testMaintenanceModeCanHaveCustomStatus()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'status' => 200,
]));
Route::get('/foo', function () {
return 'Hello World';
})->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->get('/foo');
$response->assertStatus(200);
$response->assertHeader('Retry-After', '60');
}
public function testMaintenanceModeCanHaveCustomTemplate()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'template' => 'Rendered Content',
]));
Route::get('/foo', function () {
return 'Hello World';
})->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->get('/foo');
$response->assertStatus(503);
$response->assertHeader('Retry-After', '60');
$this->assertSame('Rendered Content', $response->original);
}
public function testMaintenanceModeCanRedirectWithBypassCookie()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'secret' => 'foo',
'template' => 'Rendered Content',
]));
Route::get('/foo', function () {
return 'Hello World';
})->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->get('/foo');
$response->assertStatus(302);
$response->assertCookie('laravel_maintenance');
}
public function testMaintenanceModeCanBeBypassedWithValidCookie()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'secret' => 'foo',
]));
$cookie = MaintenanceModeBypassCookie::create('foo');
Route::get('/test', function () {
return 'Hello World';
})->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->withUnencryptedCookies([
'laravel_maintenance' => $cookie->getValue(),
])->get('/test');
$response->assertStatus(200);
$this->assertSame('Hello World', $response->original);
}
public function testMaintenanceModeCanBeBypassedOnExcludedUrls()
{
$this->app->instance(PreventRequestsDuringMaintenance::class, new class($this->app) extends PreventRequestsDuringMaintenance
{
protected $except = ['/test'];
});
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
]));
Route::get('/test', fn () => 'Hello World')->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->get('/test');
$response->assertStatus(200);
$this->assertSame('Hello World', $response->original);
}
public function testMaintenanceModeCantBeBypassedWithInvalidCookie()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'secret' => 'foo',
]));
$cookie = MaintenanceModeBypassCookie::create('test-key');
Route::get('/test', function () {
return 'Hello World';
})->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->withUnencryptedCookies([
'laravel_maintenance' => $cookie->getValue(),
])->get('/test');
$response->assertStatus(503);
}
public function testCanCreateBypassCookies()
{
$cookie = MaintenanceModeBypassCookie::create('test-key');
$this->assertInstanceOf(Cookie::class, $cookie);
$this->assertSame('laravel_maintenance', $cookie->getName());
$this->assertTrue(MaintenanceModeBypassCookie::isValid($cookie->getValue(), 'test-key'));
$this->assertFalse(MaintenanceModeBypassCookie::isValid($cookie->getValue(), 'wrong-key'));
Carbon::setTestNow(now()->addMonths(6));
$this->assertFalse(MaintenanceModeBypassCookie::isValid($cookie->getValue(), 'test-key'));
}
public function testDispatchEventWhenMaintenanceModeIsEnabled()
{
Event::fake();
Event::assertNotDispatched(MaintenanceModeEnabled::class);
$this->artisan(DownCommand::class);
Event::assertDispatched(MaintenanceModeEnabled::class);
}
public function testDispatchEventWhenMaintenanceModeIsDisabled()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'refresh' => 60,
]));
Event::fake();
Event::assertNotDispatched(MaintenanceModeDisabled::class);
$this->artisan(UpCommand::class);
Event::assertDispatched(MaintenanceModeDisabled::class);
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace Illuminate\Tests\Integration\Foundation;
use Illuminate\Foundation\Console\DownCommand;
use Illuminate\Foundation\Console\UpCommand;
use Illuminate\Foundation\Events\MaintenanceModeDisabled;
use Illuminate\Foundation\Events\MaintenanceModeEnabled;
use Illuminate\Foundation\Http\MaintenanceModeBypassCookie;
use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Route;
use Orchestra\Testbench\Http\Middleware\PreventRequestsDuringMaintenance as TestbenchPreventRequestsDuringMaintenance;
use Orchestra\Testbench\TestCase;
use Symfony\Component\HttpFoundation\Cookie;
class MaintenanceModeTest extends TestCase
{
protected function setUp(): void
{
$this->beforeApplicationDestroyed(function () {
@unlink(storage_path('framework/down'));
});
parent::setUp();
$this->withoutMiddleware(TestbenchPreventRequestsDuringMaintenance::class);
}
public function testBasicMaintenanceModeResponse()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'refresh' => 60,
]));
Route::get('/foo', function () {
return 'Hello World';
})->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->get('/foo');
$response->assertStatus(503);
$response->assertHeader('Retry-After', '60');
$response->assertHeader('Refresh', '60');
}
public function testMaintenanceModeCanHaveCustomStatus()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'status' => 200,
]));
Route::get('/foo', function () {
return 'Hello World';
})->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->get('/foo');
$response->assertStatus(200);
$response->assertHeader('Retry-After', '60');
}
public function testMaintenanceModeCanHaveCustomTemplate()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'template' => 'Rendered Content',
]));
Route::get('/foo', function () {
return 'Hello World';
})->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->get('/foo');
$response->assertStatus(503);
$response->assertHeader('Retry-After', '60');
$this->assertSame('Rendered Content', $response->original);
}
public function testMaintenanceModeCanRedirectWithBypassCookie()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'secret' => 'foo',
'template' => 'Rendered Content',
]));
Route::get('/foo', function () {
return 'Hello World';
})->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->get('/foo');
$response->assertStatus(302);
$response->assertCookie('laravel_maintenance');
}
public function testMaintenanceModeCanBeBypassedWithValidCookie()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'secret' => 'foo',
]));
$cookie = MaintenanceModeBypassCookie::create('foo');
Route::get('/test', function () {
return 'Hello World';
})->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->withUnencryptedCookies([
'laravel_maintenance' => $cookie->getValue(),
])->get('/test');
$response->assertStatus(200);
$this->assertSame('Hello World', $response->original);
}
public function testMaintenanceModeCanBeBypassedOnExcludedUrls()
{
$this->app->instance(PreventRequestsDuringMaintenance::class, new class($this->app) extends PreventRequestsDuringMaintenance
{
protected $except = ['/test'];
});
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
]));
Route::get('/test', fn () => 'Hello World')->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->get('/test');
$response->assertStatus(200);
$this->assertSame('Hello World', $response->original);
}
public function testMaintenanceModeCantBeBypassedWithInvalidCookie()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'secret' => 'foo',
]));
$cookie = MaintenanceModeBypassCookie::create('test-key');
Route::get('/test', function () {
return 'Hello World';
})->middleware(PreventRequestsDuringMaintenance::class);
$response = $this->withUnencryptedCookies([
'laravel_maintenance' => $cookie->getValue(),
])->get('/test');
$response->assertStatus(503);
}
public function testCanCreateBypassCookies()
{
$cookie = MaintenanceModeBypassCookie::create('test-key');
$this->assertInstanceOf(Cookie::class, $cookie);
$this->assertSame('laravel_maintenance', $cookie->getName());
$this->assertTrue(MaintenanceModeBypassCookie::isValid($cookie->getValue(), 'test-key'));
$this->assertFalse(MaintenanceModeBypassCookie::isValid($cookie->getValue(), 'wrong-key'));
Carbon::setTestNow(now()->addMonths(6));
$this->assertFalse(MaintenanceModeBypassCookie::isValid($cookie->getValue(), 'test-key'));
}
public function testDispatchEventWhenMaintenanceModeIsEnabled()
{
Event::fake();
Event::assertNotDispatched(MaintenanceModeEnabled::class);
$this->artisan(DownCommand::class);
Event::assertDispatched(MaintenanceModeEnabled::class);
}
public function testDispatchEventWhenMaintenanceModeIsDisabled()
{
file_put_contents(storage_path('framework/down'), json_encode([
'retry' => 60,
'refresh' => 60,
]));
Event::fake();
Event::assertNotDispatched(MaintenanceModeDisabled::class);
$this->artisan(UpCommand::class);
Event::assertDispatched(MaintenanceModeDisabled::class);
}
}
Function Calls
| None |
Stats
| MD5 | 23829b15f7c709a64aea06859367b856 |
| Eval Count | 0 |
| Decode Time | 89 ms |