forked from wangziqi/gongxue-base
feat: add platform audit export
This commit is contained in:
@@ -1233,6 +1233,26 @@ async function testPlatformTenantOperationsAndAudit() {
|
||||
assert.ok(actions.has('platform.tenant.billing_profile_upserted'), 'platform audit should include billing profile update');
|
||||
assert.ok(actions.has('platform.tenant.status_updated'), 'platform audit should include status update');
|
||||
|
||||
const auditExport = await request('/api/platform-admin/audit-logs/export', {
|
||||
tenantId: false,
|
||||
userId: false,
|
||||
headers: adminHeaders,
|
||||
query: { tenantId, format: 'csv', limit: 50 },
|
||||
});
|
||||
assert.equal(auditExport.item?.format, 'csv', 'platform audit export should support csv');
|
||||
assert.equal(auditExport.item?.rowCount >= 3, true, 'platform audit export should include tenant audit rows');
|
||||
assert.ok(auditExport.item?.sha256, 'platform audit export should include content hash');
|
||||
assert.ok(Buffer.from(auditExport.item?.contentBase64 || '', 'base64').toString('utf8').includes('platform.tenant.created'), 'platform audit export should contain audit actions');
|
||||
|
||||
const invalidAuditExportFormat = await request('/api/platform-admin/audit-logs/export', {
|
||||
tenantId: false,
|
||||
userId: false,
|
||||
headers: adminHeaders,
|
||||
query: { tenantId, format: 'xlsx' },
|
||||
expectStatus: 400,
|
||||
});
|
||||
assert.equal(invalidAuditExportFormat.code, 'INVALID_EXPORT_FORMAT', 'platform audit export should reject invalid formats');
|
||||
|
||||
const candidates = await request('/api/platform-admin/invoices/subscription-candidates', {
|
||||
tenantId: false,
|
||||
userId: false,
|
||||
@@ -1421,6 +1441,13 @@ async function testPlatformTenantOperationsAndAudit() {
|
||||
});
|
||||
assert.equal(studentAuditDenied.code, 'PLATFORM_ADMIN_REQUIRED', 'student must not read platform audit logs');
|
||||
|
||||
const studentAuditExportDenied = await request('/api/platform-admin/audit-logs/export', {
|
||||
tenantId: false,
|
||||
userId: USER_ID,
|
||||
expectStatus: 403,
|
||||
});
|
||||
assert.equal(studentAuditExportDenied.code, 'PLATFORM_ADMIN_REQUIRED', 'student must not export platform audit logs');
|
||||
|
||||
const studentReminderDenied = await request('/api/platform-admin/invoices/reminders', {
|
||||
tenantId: false,
|
||||
userId: USER_ID,
|
||||
|
||||
Reference in New Issue
Block a user