34 lines
1.1 KiB
PHP
34 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
require dirname(__DIR__) . '/vendor/autoload.php';
|
|
|
|
use app\common\enum\AdminTerminalEnum;
|
|
|
|
function adminDesktopExpect(bool $condition, string $message): void
|
|
{
|
|
if (!$condition) {
|
|
fwrite(STDERR, "FAIL: {$message}\n");
|
|
exit(1);
|
|
}
|
|
}
|
|
|
|
adminDesktopExpect(AdminTerminalEnum::WECOM_RPA === 7, 'desktop admin terminal remains 7');
|
|
|
|
$validator = file_get_contents(dirname(__DIR__) . '/app/adminapi/validate/LoginValidate.php');
|
|
$controller = file_get_contents(dirname(__DIR__) . '/app/adminapi/controller/DesktopController.php');
|
|
adminDesktopExpect(is_string($validator) && is_string($controller), 'desktop auth sources are readable');
|
|
adminDesktopExpect(
|
|
str_contains($validator, 'AdminTerminalEnum::WECOM_RPA'),
|
|
'admin login accepts the dedicated desktop terminal'
|
|
);
|
|
adminDesktopExpect(
|
|
str_contains($controller, "public array \$notNeedLogin = ['session'];")
|
|
&& str_contains($controller, "'user_id' => 'admin:'")
|
|
&& str_contains($controller, "'account_type' => 'admin'"),
|
|
'desktop session verifies an admin token and namespaces its tenant identity'
|
|
);
|
|
|
|
echo "OK\n";
|