53 lines
1.2 KiB
PHP
53 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
require_once(DIR_ALVEOLATA . '/accesscontrol/functions.php');
|
||
|
|
||
|
|
||
|
$data = \alveolata\test\get_data();
|
||
|
\alveolata\test\add(
|
||
|
[
|
||
|
'name' => 'alveolata',
|
||
|
'sections' => [
|
||
|
[
|
||
|
'name' => 'accesscontrol',
|
||
|
'sections' => [
|
||
|
[
|
||
|
'name' => 'check',
|
||
|
'setup' => function (&$environment) use ($data) {
|
||
|
$environment['subject'] = \alveolata\accesscontrol\make(
|
||
|
[
|
||
|
'password' => function ($parameters, $state) {
|
||
|
return ($state['password'] === $parameters['value']);
|
||
|
},
|
||
|
],
|
||
|
$data['check']['parameters']['acl']
|
||
|
);
|
||
|
},
|
||
|
'cases' => array_map(
|
||
|
function (array $case_raw) : array {
|
||
|
return [
|
||
|
'name' => $case_raw['name'],
|
||
|
'procedure' => function ($assert, &$environment) use ($case_raw) {
|
||
|
// execution
|
||
|
$resultActual = \alveolata\accesscontrol\check(
|
||
|
$environment['subject'],
|
||
|
$case_raw['input']['action'],
|
||
|
$case_raw['input']['state'],
|
||
|
);
|
||
|
// assertions
|
||
|
$resultExpected = $case_raw['output'];
|
||
|
$assert->equal($resultActual, $resultExpected);
|
||
|
},
|
||
|
];
|
||
|
},
|
||
|
$data['check']['cases']
|
||
|
),
|
||
|
],
|
||
|
]
|
||
|
]
|
||
|
]
|
||
|
]
|
||
|
);
|
||
|
|
||
|
?>
|