const test = require('node:test'); const assert = require('node:assert/strict'); const fs = require('fs'); const path = require('path'); const { isAdmin } = require('../server/authz'); const routeSource = fs.readFileSync(path.join(__dirname, '..', 'server', 'routes', 'live.js'), 'utf8'); test('projection status route requires authentication', () => { assert.match(routeSource, /router\.get\('\/projection\/status', requireAuth,/); }); test('projection rebuild route requires authentication and admin authorization', () => { assert.match(routeSource, /router\.post\('\/projection\/rebuild', requireAuth, requireAdmin,/); }); test('projection authorization distinguishes viewer and admin roles', () => { assert.equal(isAdmin({ role: 'viewer' }), false); assert.equal(isAdmin({ role: 'admin' }), true); assert.equal(isAdmin(null), false); });