提交
This commit is contained in:
@@ -5,8 +5,12 @@ const MINIAPI_TOKEN_KEY = 'test';
|
||||
function authcode($value, $operation = 'DECODE', $key = '', $expiry = 0) { return $value; }
|
||||
|
||||
require dirname(__DIR__) . '/app/miniapi/service/VisaApplication/VisaApplicationService.php';
|
||||
class VisaApplicationTestBase {}
|
||||
class_alias(VisaApplicationTestBase::class, 'app\\miniapi\\controller\\Base');
|
||||
require dirname(__DIR__) . '/app/miniapi/controller/VisaApplication.php';
|
||||
|
||||
use app\miniapi\service\VisaApplication\VisaApplicationService;
|
||||
use app\miniapi\controller\VisaApplication;
|
||||
|
||||
$service = new VisaApplicationService();
|
||||
if ($service->endpoint('https://user.example.com/users/list', 'start') !== 'https://user.example.com/visa_service/start') throw new RuntimeException('endpoint construction failed');
|
||||
@@ -16,6 +20,8 @@ if ($service->endpoint('https://user.example.com/users/list', 'invalid') !== '')
|
||||
$payload = $service->payload(9, ['order_source' => 'jnwxmini']);
|
||||
if (isset($payload['user_id']) || (json_decode((string)($payload['user_token'] ?? ''), true) !== ['purpose' => 'visa_api', 'user_id' => 9, 'order_source' => 'jnwxmini'])) throw new RuntimeException('trusted token payload failed');
|
||||
if (str_contains((new ReflectionMethod($service, 'start'))->getFileName() ? file_get_contents((new ReflectionMethod($service, 'start'))->getFileName()) : '', '$data + [\'order_source\'')) throw new RuntimeException('start source override failed');
|
||||
if (VisaApplication::sourceForCode('evus_jn_app') !== 'jnandroid') throw new RuntimeException('android visa source mapping failed');
|
||||
if (VisaApplication::sourceForCode('evus_jn_mp') !== 'jnwxmini' || VisaApplication::sourceForCode('evus_bj_mp') !== 'qlwxmini' || VisaApplication::sourceForCode('unknown') !== '') throw new RuntimeException('visa source mapping regression');
|
||||
if (!str_contains((string)file_get_contents(dirname(__DIR__) . '/app/miniapi/controller/VisaApplication.php'), "sourceForCode(string \$code)") || !str_contains((string)file_get_contents(dirname(__DIR__) . '/app/miniapi/controller/VisaApplication.php'), "\$code === 'evus_bj_mp'") || !str_contains((string)file_get_contents(dirname(__DIR__) . '/app/miniapi/controller/VisaApplication.php'), "\$filters['source_code'] = \$this->orderSource()")) throw new RuntimeException('visa source allowlist failed');
|
||||
$neutral = VisaApplicationService::decorateSubmitForCheck(['code' => 1, 'data' => ['order_sn' => 'V1', 'requires_payment' => false]]);
|
||||
$payable = VisaApplicationService::decorateSubmitForCheck(['code' => 1, 'data' => ['order_sn' => 'V 1', 'requires_payment' => true]]);
|
||||
|
||||
Reference in New Issue
Block a user