Files
pest/tests/Arch.php
Clara 7b8e4aec08 feature(presets): Add security preset
Looks for functions often seen as insecure
2024-06-10 11:44:45 +10:00

45 lines
984 B
PHP

<?php
use Pest\Expectation;
arch()->preset()->base()->ignoring([
Expectation::class,
'eval',
]);
arch()->preset()->strict();
arch()->preset()->security();
arch('globals')
->expect(['dd', 'dump', 'ray', 'die', 'var_dump', 'sleep'])
->not->toBeUsed()
->ignoring(Expectation::class);
arch('dependencies')
->expect('Pest')
->toOnlyUse([
'dd',
'dump',
'expect',
'uses',
'Termwind',
'ParaTest',
'Pest\Arch',
'Pest\Plugin',
'NunoMaduro\Collision',
'Whoops',
'Symfony\Component\Console',
'Symfony\Component\Process',
])->ignoring(['Composer', 'PHPUnit', 'SebastianBergmann']);
arch('contracts')
->expect('Pest\Contracts')
->toOnlyUse([
'NunoMaduro\Collision\Contracts',
'Pest\Factories\TestCaseMethodFactory',
'Symfony\Component\Console',
'Pest\Arch\Contracts',
'Pest\PendingCalls',
])->toBeInterfaces();