Kilix /
php-abac
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
| 1 | <?php |
||
| 2 | |||
| 3 | require_once('vendor/autoload.php'); |
||
| 4 | |||
| 5 | use PhpAbac\Abac; |
||
| 6 | |||
| 7 | $countries = include('tests/fixtures/countries.php'); |
||
| 8 | $visas = include('tests/fixtures/visas.php'); |
||
| 9 | $users = include('tests/fixtures/users.php'); |
||
| 10 | $vehicles = include('tests/fixtures/vehicles.php'); |
||
| 11 | |||
| 12 | $abac = new Abac([__DIR__.'/tests/fixtures/policy_rules.yml']); |
||
| 13 | |||
| 14 | putenv('SERVICE_STATE=OPEN'); |
||
| 15 | |||
| 16 | $user1Nationality = $abac->enforce('nationality-access', $users[3], null, [ |
||
| 17 | 'cache_result' => true, |
||
| 18 | 'cache_lifetime' => 100, |
||
| 19 | 'cache_driver' => 'memory' |
||
| 20 | ]); |
||
| 21 | |||
| 22 | if ($user1Nationality === true) { |
||
| 23 | echo("GRANTED : The user 1 is able to be nationalized\n"); |
||
| 24 | } else { |
||
| 25 | echo("FAIL : The system didn't grant access\n"); |
||
| 26 | } |
||
| 27 | |||
| 28 | $user2Nationality = $abac->enforce('nationality-access', $users[0]); |
||
| 29 | if ($user2Nationality !== true) { |
||
| 30 | echo("DENIED : The user 2 is not able to be nationalized because he hasn't done his JAPD\n"); |
||
| 31 | } else { |
||
| 32 | echo("FAIL : The system didn't deny access\n"); |
||
| 33 | } |
||
| 34 | |||
| 35 | $user1Vehicle = $abac->enforce('vehicle-homologation', $users[0], $vehicles[0], [ |
||
| 36 | 'dynamic_attributes' => ['proprietaire' => 1] |
||
| 37 | ]); |
||
| 38 | if($user1Vehicle === true) { |
||
|
0 ignored issues
–
show
Coding Style
introduced
by
Loading history...
|
|||
| 39 | echo("GRANTED : The vehicle 1 is able to be approved for the user 1\n"); |
||
| 40 | } else { |
||
| 41 | echo("FAIL : The system didn't grant access\n"); |
||
| 42 | } |
||
| 43 | $user3Vehicle = $abac->enforce('vehicle-homologation', $users[2], $vehicles[1], [ |
||
| 44 | 'dynamic_attributes' => ['proprietaire' => 3] |
||
| 45 | ]); |
||
| 46 | if(!$user3Vehicle !== true) { |
||
|
0 ignored issues
–
show
|
|||
| 47 | echo("DENIED : The vehicle 2 is not approved for the user 3 because its last technical review is too old\n"); |
||
| 48 | } else { |
||
| 49 | echo("FAIL : The system didn't deny access\n"); |
||
| 50 | } |
||
| 51 | $user4Vehicle = $abac->enforce('vehicle-homologation', $users[3], $vehicles[3], [ |
||
| 52 | 'dynamic_attributes' => ['proprietaire' => 4] |
||
| 53 | ]); |
||
| 54 | if($user4Vehicle !== true) { |
||
|
0 ignored issues
–
show
|
|||
| 55 | echo("DENIED : The vehicle 4 is not able to be approved for the user 4 because he has no driving license\n"); |
||
| 56 | } else { |
||
| 57 | echo("FAIL : The system didn't deny access\n"); |
||
| 58 | } |
||
| 59 | $user5Vehicle = $abac->enforce('vehicle-homologation', $users[3], $vehicles[3], [ |
||
| 60 | 'dynamic_attributes' => ['proprietaire' => 1] |
||
| 61 | ]); |
||
| 62 | if($user5Vehicle !== true) { |
||
|
0 ignored issues
–
show
|
|||
| 63 | echo("DENIED : The vehicle 4 is not able to be approved for the user 2 because he doesn't own the vehicle\n"); |
||
| 64 | } else { |
||
| 65 | echo("FAIL : The system didn't deny access\n"); |
||
| 66 | } |
||
| 67 | $userTravel1 = $abac->enforce('travel-to-foreign-country', $users[0], null, [ |
||
| 68 | 'dynamic_attributes' => [ |
||
| 69 | 'code-pays' => 'US' |
||
| 70 | ] |
||
| 71 | ]); |
||
| 72 | if($userTravel1 !== true) { |
||
|
0 ignored issues
–
show
|
|||
| 73 | echo("DENIED: The user 1 is not allowed to travel to the USA because he doesn't have an US visa\n"); |
||
| 74 | } else { |
||
| 75 | echo('FAIL: The system didn\'t deny access'); |
||
| 76 | } |
||
| 77 | $userTravel2 = $abac->enforce('travel-to-foreign-country', $users[1], null, [ |
||
| 78 | 'dynamic_attributes' => [ |
||
| 79 | 'code-pays' => 'US' |
||
| 80 | ] |
||
| 81 | ]); |
||
| 82 | if($userTravel2 === true) { |
||
|
0 ignored issues
–
show
|
|||
| 83 | echo("GRANTED: The user 2 is allowed to travel to the USA\n"); |
||
| 84 | } else { |
||
| 85 | echo('FAIL: The system didn\'t grant access'); |
||
| 86 | } |