All files / realm/blong-commander index.ts

100% Statements 51/51
100% Branches 6/6
100% Functions 5/5
100% Lines 51/51

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 521x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
import {server} from '@feasibleone/blong';
 
/**
 * index.ts — standalone server bootstrap for the blong-commander integration
 * tests. Wires the runtime infrastructure (blong-server, login, core, access)
 * around the commander realm and enables RBAC on the gateway so access-control
 * is enforced.
 */
export default server(() => ({
    url: import.meta.url,
    children: [
        /** Built-in blong-server realm: RPC, validation orchestrator, DB adapter */
        async function srv() {
            return import('@feasibleone/blong-server/server.ts');
        },
        async function login() {
            return import('@feasibleone/blong-login/server.ts');
        },
        /** Core realm — resource/type/triple graph schema */
        async function core() {
            return import('@feasibleone/blong-core/server.ts');
        },
        /** Access realm — authZ tables + RBAC seeds (the `access-db` source) */
        async function access() {
            return import('@feasibleone/blong-access/server.ts');
        },
        /** Commander realm — generic protocol handlers + source descriptors */
        async function commander() {
            return import('./server.ts');
        },
    ],
    config: {
        default: {
            // Enforce RBAC on the gateway — resolves allowed actions for the
            // authenticated user (access realm), 403 when not authorized.
            gateway: {authorize: 'access.authorization.list'},
            srv: {},
            core: {},
            access: {},
            commander: {},
            // Activate the login realm — a child with no config block is
            // skipped, so without this the gateway has no login routes.
            login: {},
        },
        integration: {
            watch: {
                test: ['test.commander'],
            },
        },
    },
}));