feat: 프로필별 플레이 감사 조회와 권한 검사 연결

This commit is contained in:
2026-09-16 02:52:52 +00:00
parent 35155e6b59
commit ed2597aef3
12 changed files with 718 additions and 1 deletions
@@ -0,0 +1,30 @@
import { describe, expect, it } from 'vitest';
import { canReadPlayAudit, canReadPlayAuditAccounts } from '../src/auth/playAudit.js';
describe('play audit capability scope', () => {
it.each([
'superuser',
'admin.superuser',
'admin.playAudit.read',
'admin.playAudit.read:*',
'admin.playAudit.read:che:default',
])('accepts explicit capability %s', (role) => expect(canReadPlayAudit([role], 'che:default')).toBe(true));
it.each([
'admin',
'user',
'admin.audit.read',
'admin.profiles.runtime:che:default',
'admin.playAudit.read:che',
'admin.playAudit.read:hwe:default',
'admin.playAudit.accounts',
])('rejects unrelated role %s', (role) => expect(canReadPlayAudit([role], 'che:default')).toBe(false));
it('requires both scoped game audit and global account audit', () => {
expect(canReadPlayAuditAccounts(['admin.playAudit.read:che:default'], 'che:default')).toBe(false);
expect(
canReadPlayAuditAccounts(['admin.playAudit.read:che:default', 'admin.playAudit.accounts'], 'che:default')
).toBe(true);
expect(
canReadPlayAuditAccounts(['admin.playAudit.read:che:default', 'admin.playAudit.accounts'], 'hwe:default')
).toBe(false);
});
});