同步Admin PDA全量验收协议

This commit is contained in:
2026-09-23 18:32:23 +08:00
parent 5a6bfb2a30
commit e58f087e97
6 changed files with 21 additions and 11 deletions
+14 -1
View File
@@ -315,7 +315,7 @@ function usage() {
也可使用环境变量: ADMIN_TEST_GATEWAY, ADMIN_OVERSEAS_GATEWAY, ADMIN_TEST_USERNAME, ADMIN_TEST_PASSWORD,
ADMIN_TEST_WEIGHT_IMAGE_PATH, ADMIN_TEST_CUSTOMER_NAME, MERCHANT_TEST_USERNAME,
MERCHANT_TEST_PASSWORD, ADMIN_WAIT_SPLIT_COUNT`)
MERCHANT_TEST_PASSWORD, ADMIN_PDA_USERNAME, ADMIN_PDA_PASSWORD, ADMIN_WAIT_SPLIT_COUNT`)
}
export function parseArguments(argv) {
@@ -356,6 +356,8 @@ export function parseArguments(argv) {
overseasGateway: (values.get('overseas-gateway') || process.env.ADMIN_OVERSEAS_GATEWAY || '').replace(/\/$/, ''),
username: values.get('username') || process.env.ADMIN_TEST_USERNAME || '',
password: values.get('password') || process.env.ADMIN_TEST_PASSWORD || '',
pdaUsername: values.get('pda-username') || process.env.ADMIN_PDA_USERNAME || '',
pdaPassword: values.get('pda-password') || process.env.ADMIN_PDA_PASSWORD || '',
modules,
requestedModules,
customerName: values.get('customer-name') || process.env.ADMIN_TEST_CUSTOMER_NAME || '',
@@ -551,6 +553,7 @@ export class AcceptanceRun {
this.coverageGaps = []
this.context = {}
this.token = ''
this.pdaToken = ''
this.refreshToken = ''
this.overseasToken = ''
this.overseasExpiresAt = 0
@@ -559,6 +562,7 @@ export class AcceptanceRun {
async request(method, path, body = undefined, token = this.token, extraHeaders = {}) {
const headers = { Accept: 'application/json', ...extraHeaders }
if (this.pdaToken && /\/pda-loading\/tasks\/\d+/.test(String(path))) token = this.pdaToken
if (token) headers.Authorization = `Bearer ${token}`
if (body !== undefined) headers['Content-Type'] = 'application/json; charset=utf-8'
const maxAttempts = ['GET', 'HEAD'].includes(String(method).toUpperCase()) ? 3 : 1
@@ -1756,6 +1760,15 @@ export class AcceptanceRun {
if (!login?.accessToken) this.fatal = '平台管理员登录失败,未执行业务模块'
else {
this.token = login.accessToken
if (this.options.pdaUsername && this.options.pdaPassword) {
const pdaLoginResponse = await this.request('POST', '/api/auth/login', {
loginId: this.options.pdaUsername, password: this.options.pdaPassword,
}, '')
const pdaLogin = this.apiSuccess('authentication', '国内 PDA 作业员登录', pdaLoginResponse)
this.pdaToken = pdaLogin?.accessToken || ''
this.assert('authentication', 'PDA 作业员登录成功', pdaLoginResponse, Boolean(this.pdaToken),
`tokenPresent=${Boolean(this.pdaToken)}`, { deploymentBlocker: true, scenario: 'phase3-pda' })
}
this.refreshToken = login.refreshToken || ''
this.overseasToken = login.overseasAccessToken || ''
this.overseasExpiresAt = Number(login.overseasExpiresIn) > 0