All files / core/blong-kukum/test/fixture/e2e-realm index.ts

0% Statements 0/53
0% Branches 0/1
0% Functions 0/1
0% Lines 0/53

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 52 53 54                                                                                                           
import unchanged from '@feasibleone/blong';
import {server} from '@feasibleone/blong';

/**
 * index.ts — standalone server bootstrap for `e2e` integration tests.
 *
 * Wires the runtime infrastructure (blong-server, login, core, access) around
 * the `e2e` realm and enables RBAC on the gateway so access-control is
 * enforced. The realm reuses blong-server's subject orchestrator + db adapter.
 */
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 — provides core.resource / core.triple for RBAC seeds */
        async function core() {
            return import('@feasibleone/blong-core/server.ts');
        },
        /** Access realm — provides authZ tables used with core.triple hierarchy */
        async function access() {
            return import('@feasibleone/blong-access/server.ts');
        },
        /** `e2e` management realm */
        async function e2e() {
            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'},
        },
        dev: {
            srv: {},
            core: {},
            access: {},
            e2e: {},
            login: {},
        },
        integration: {
            watch: {
                test: ['test.widget', 'test.gadget'],
            },
        },
    },
}));