maestro/src/bridge/app-harness-token.test.ts
oss-sync b857c33ef6
Some checks failed
CI / build-and-test (push) Has been cancelled
sync: update from private repo (f6d625db)
2026-06-26 03:35:45 +00:00

25 lines
968 B
TypeScript

import { describe, it, expect } from 'vitest';
import { mintAppHarnessToken, verifyAppHarnessToken, revokeAppHarnessToken } from './app-harness-token.js';
describe('app-harness-token', () => {
it('mints + verifies a scoped token', () => {
const t = mintAppHarnessToken({ userId: 'u1', spaceId: 's1' });
expect(verifyAppHarnessToken(t)).toEqual({ userId: 'u1', spaceId: 's1' });
});
it('rejects unknown/garbage tokens', () => {
expect(verifyAppHarnessToken('nope')).toBeNull();
});
it('rejects after revoke', () => {
const t = mintAppHarnessToken({ userId: 'u1', spaceId: 's1' });
revokeAppHarnessToken(t);
expect(verifyAppHarnessToken(t)).toBeNull();
});
it('rejects after expiry', () => {
const t = mintAppHarnessToken({ userId: 'u1', spaceId: 's1' }, 1);
// wait past TTL
const until = Date.now() + 5;
while (Date.now() < until) { /* spin briefly */ }
expect(verifyAppHarnessToken(t)).toBeNull();
});
});