Files
peardock/test/protocol.coverage.test.js
T
snxraven 0ee9b67834
CI / test (push) Successful in 9m54s
Complete production roadmap: vault, peers, swarm, streams, ops
Ship remaining roadmap items: encrypted registry vault, peer invite/revoke,
Swarm/plugins behind flags, binary streams, engine create validation, deploy
rollback, schema validation, fleet/access UI, metrics, fuzz/load/soak tests,
systemd packaging, and release tooling. Mark ROADMAP fully complete.
2026-07-10 20:50:55 -04:00

27 lines
921 B
JavaScript

import test from 'brittle'
import { Methods, MethodRoles, Roles, roleAllows, Pushes } from '../shared/protocol.js'
test('every Method has MethodRoles', (t) => {
for (const m of Object.values(Methods)) {
t.ok(MethodRoles[m], `missing MethodRoles for ${m}`)
}
})
test('viewer cannot admin methods', (t) => {
t.not(roleAllows(Roles.viewer, Methods.invitePeer))
t.not(roleAllows(Roles.viewer, Methods.vaultStoreCredential))
t.not(roleAllows(Roles.viewer, Methods.createContainer))
t.ok(roleAllows(Roles.viewer, Methods.getMetrics))
t.ok(roleAllows(Roles.viewer, Methods.getStatsHistory))
t.ok(roleAllows(Roles.operator, Methods.createContainer))
t.ok(roleAllows(Roles.operator, Methods.pushImage))
t.ok(roleAllows(Roles.admin, Methods.swarmInit))
})
test('push channels defined', (t) => {
t.ok(Pushes.binaryChunk)
t.ok(Pushes.pushProgress)
t.ok(Pushes.attachOutput)
t.ok(Pushes.metrics)
})