diff --git a/scripts/admin-test-env-modules/finance-downloads.mjs b/scripts/admin-test-env-modules/finance-downloads.mjs index 7af56c111..2f45e3a45 100644 --- a/scripts/admin-test-env-modules/finance-downloads.mjs +++ b/scripts/admin-test-env-modules/finance-downloads.mjs @@ -112,7 +112,9 @@ async function poll(context, taskId, expected = 'SUCCEEDED', attempts = 45) { async function createTask(context, type, parameters, suffix, expectedHeaders, expectedTokens = []) { const body = { exportType: type, format: 'XLSX', taskName: `${context.marker}-${suffix}`, parameters } - const createdResponse = await context.request('POST', '/api/platform/v1/files/export-tasks', body) + const idempotencyKey = `${context.marker}-export-${type}-${suffix}`.slice(0, 128) + const createdResponse = await context.request('POST', '/api/platform/v1/files/export-tasks', body, + context.token, { 'Idempotency-Key': idempotencyKey }) const created = context.apiSuccess(MODULE, `${type} 创建导出任务`, createdResponse, `type=${type}`, OPTIONS) const taskId = id(created?.id) @@ -122,7 +124,8 @@ async function createTask(context, type, parameters, suffix, expectedHeaders, ex `taskId=${taskId || 'missing'}, status=${created?.status ?? 'missing'}`, OPTIONS) if (!taskId) return null - const duplicateResponse = await context.request('POST', '/api/platform/v1/files/export-tasks', body) + const duplicateResponse = await context.request('POST', '/api/platform/v1/files/export-tasks', body, + context.token, { 'Idempotency-Key': idempotencyKey }) const duplicate = context.apiSuccess(MODULE, `${type} 重复请求`, duplicateResponse, '', OPTIONS) context.assert(MODULE, `${type} 60 秒同参请求合并`, duplicateResponse, id(duplicate?.id) === taskId, `original=${taskId}, duplicate=${id(duplicate?.id) || 'missing'}`, OPTIONS)