优化
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
function id(value) { return value == null ? '' : String(value) }
|
||||
|
||||
export async function run(context) {
|
||||
const module = 'audit'
|
||||
const base = '/api/platform/v1/audit/logs'
|
||||
|
||||
const pageResponse = await context.request('GET', `${base}?page=1&size=20`)
|
||||
const page = context.apiSuccess(module, '查询平台操作日志首页', pageResponse)
|
||||
const records = Array.isArray(page?.records) ? page.records : []
|
||||
const total = Number(page?.total)
|
||||
context.assert(module, '日志分页完整且标识字段齐全', pageResponse,
|
||||
Number(page?.page) === 1 && Number(page?.size) === 20 && Number.isFinite(total)
|
||||
&& records.length === Math.min(20, total)
|
||||
&& records.every((row) => id(row.id) && row.eventType && row.occurredAt),
|
||||
`page=${page?.page},size=${page?.size},total=${page?.total},records=${records.length}`)
|
||||
context.assert(module, '日志列表不返回变更前后快照', pageResponse,
|
||||
records.every((row) => !Object.hasOwn(row, 'beforeData') && !Object.hasOwn(row, 'afterData')),
|
||||
`records=${records.length}`)
|
||||
|
||||
if (records[0]) {
|
||||
const detailResponse = await context.request('GET', `${base}/${encodeURIComponent(records[0].id)}`)
|
||||
const detail = context.apiSuccess(module, '查询当前日志详情', detailResponse)
|
||||
context.assert(module, '日志详情与列表身份一致', detailResponse,
|
||||
id(detail?.id) === id(records[0].id) && Object.hasOwn(detail || {}, 'httpMethod'),
|
||||
`id=${detail?.id},eventType=${detail?.eventType}`)
|
||||
} else {
|
||||
context.addCoverageGap(module, 'audit', '日志详情',
|
||||
'测试环境当前没有审计日志;先执行本轮业务写入后重跑', 'not-implemented', { blocking: false })
|
||||
}
|
||||
|
||||
const missingResponse = await context.request('GET', `${base}/999999999999999`)
|
||||
context.assert(module, '不存在的日志详情被拒绝', missingResponse,
|
||||
(missingResponse.http === 200 && ['A0403', 'A0404'].includes(String(missingResponse.body?.code)))
|
||||
|| missingResponse.http === 404,
|
||||
`HTTP=${missingResponse.http},code=${missingResponse.body?.code ?? 'missing'}`)
|
||||
}
|
||||
Reference in New Issue
Block a user