import test from 'node:test'; import assert from 'node:assert/strict'; import {VaultSession} from '../vault-session.mjs'; import {updateState} from '../version.mjs'; test('vault session fails closed and honors bounded policies', () => { let now = 1000; const session = new VaultSession(() => now); const key = {extractable:false}; session.set(key, 'owner-a', '5'); assert.equal(session.get('owner-a'), key); assert.equal(session.get('owner-b'), null); session.set(key, 'owner-a', '5'); now += 5 * 60000; assert.equal(session.get('owner-a'), null); session.set(key, 'owner-a', 'close'); session.closed(); assert.equal(session.get('owner-a'), null); }); test('version UI only says something when an update is actually available', () => { assert.equal(updateState('0.4.4','0.4.4'),''); assert.equal(updateState('0.4.5','0.4.4'),''); assert.equal(updateState('0.4.4','0.4.5'),'Update available'); assert.equal(updateState('0.4.4','0.4.4.0'),''); assert.equal(updateState('bogus','0.4.5'),''); });