Files
miniapi/tests/customer_center_proxy_self_check.php
gaofeng 202ad2cac5 提交
2026-08-11 10:32:21 +08:00

39 lines
1.4 KiB
PHP

<?php
declare(strict_types=1);
require __DIR__ . '/../vendor/autoload.php';
use app\miniapi\service\CustomerCenter\CustomerCenterService;
function customerCenterProxyAssertSame(mixed $expected, mixed $actual, string $message): void
{
if ($expected !== $actual) {
throw new RuntimeException($message . PHP_EOL
. 'Expected: ' . var_export($expected, true) . PHP_EOL
. 'Actual: ' . var_export($actual, true));
}
}
$service = new CustomerCenterService();
customerCenterProxyAssertSame([
'user_id' => 42,
'page' => 2,
], $service->payload(42, ['page' => 2]), 'The proxy request must use the original unsigned parameter style');
customerCenterProxyAssertSame(
'https://uniuser.jzvisa.com/home/customer_center/applications',
$service->endpoint('https://uniuser.jzvisa.com/home/users/userLogin', 'applications'),
'The proxy endpoint must stay on the configured unified API host'
);
customerCenterProxyAssertSame(
'https://uniuser.jzvisa.com/home/customer_center/applicants',
$service->endpoint('https://uniuser.jzvisa.com/home/users/userLogin/', 'applicants'),
'The proxy endpoint must accept the trailing slash used by the site configuration'
);
customerCenterProxyAssertSame(
'',
$service->endpoint('https://example.com/unexpected', 'applications'),
'Unexpected user API URLs must fail closed'
);
echo "Customer center proxy self-check passed\n";