Release v2.11.1
This commit is contained in:
@@ -3,7 +3,8 @@ const assert = require('node:assert/strict');
|
||||
|
||||
require('../src/common');
|
||||
|
||||
const { buildAuditChanges, recordRequestAuditEvent } = require('../src/data/audit-log');
|
||||
const { AUDIT_CATEGORY_KEYS, AUDIT_CATEGORY_LABELS, buildAuditChanges, recordRequestAuditEvent } = require('../src/data/audit-log');
|
||||
const { getDefaultAppSettings } = require('../src/data/app-settings');
|
||||
|
||||
function createPool(settings) {
|
||||
const inserts = [];
|
||||
@@ -14,6 +15,7 @@ function createPool(settings) {
|
||||
return [[
|
||||
{ setting_key: 'audit.enabled', setting_value: JSON.stringify(settings.enabled) },
|
||||
{ setting_key: 'audit.categories', setting_value: JSON.stringify(settings.categories) },
|
||||
{ setting_key: 'audit.screen_control_commands', setting_value: JSON.stringify(settings.screenControlCommands || []) },
|
||||
{ setting_key: 'audit.include_request_metadata', setting_value: JSON.stringify(settings.includeMetadata) }
|
||||
]];
|
||||
}
|
||||
@@ -32,6 +34,24 @@ const request = {
|
||||
}
|
||||
};
|
||||
|
||||
test('audit categories include weather data sources', () => {
|
||||
assert.ok(AUDIT_CATEGORY_KEYS.includes('weather'));
|
||||
assert.equal(AUDIT_CATEGORY_LABELS.weather, 'Weather');
|
||||
});
|
||||
|
||||
test('screen control auditing is disabled by default', () => {
|
||||
assert.equal(getDefaultAppSettings()['audit.categories'].includes('screen-controls'), false);
|
||||
assert.deepEqual(getDefaultAppSettings()['audit.screen_control_commands'], []);
|
||||
});
|
||||
|
||||
test('screen control auditing filters commands and groups navigation', async () => {
|
||||
const pool = createPool({ enabled: true, categories: ['screen-controls'], screenControlCommands: ['navigation'], includeMetadata: false });
|
||||
await recordRequestAuditEvent(pool, request, { category: 'screen-controls', eventType: 'screen-control.previous' });
|
||||
await recordRequestAuditEvent(pool, request, { category: 'screen-controls', eventType: 'screen-control.pause' });
|
||||
assert.equal(pool.inserts.length, 1);
|
||||
assert.equal(pool.inserts[0][1], 'screen-control.previous');
|
||||
});
|
||||
|
||||
test('audit writer skips disabled categories', async () => {
|
||||
const pool = createPool({ enabled: true, categories: ['security'], includeMetadata: true });
|
||||
await recordRequestAuditEvent(pool, request, { category: 'authentication', eventType: 'login.success' });
|
||||
|
||||
Reference in New Issue
Block a user