26 lines
1.5 KiB
JavaScript
26 lines
1.5 KiB
JavaScript
'use strict';
|
|
|
|
const assert = require('node:assert/strict');
|
|
const fs = require('node:fs');
|
|
const path = require('node:path');
|
|
|
|
const map = JSON.parse(fs.readFileSync(path.join(__dirname, 'enterprise-permission-handoff-map.json'), 'utf8'));
|
|
const nodes = JSON.parse(fs.readFileSync(path.join(__dirname, 'server-node-map.json'), 'utf8'));
|
|
|
|
assert.equal(map.enterprise_node, 'AW-GZ-001');
|
|
assert.equal(map.technical_control.human_id, 'TCS-GL-0016∞');
|
|
assert.equal(map.technical_control.member_node_id, 'AW-OWN-GZ-001');
|
|
assert.equal(map.technical_control.state, 'ACTIVE_HUMAN_TECHNICAL_REVIEW_CONTROLLER');
|
|
assert.equal(map.technical_control.persona_executor_id, 'PER-AW-ARCH-001');
|
|
assert.match(map.technical_control.persona_executor_state, /FORMAL_REGISTERED/);
|
|
assert.equal(map.nontechnical_control.constitutional_actions_require_both, true);
|
|
assert.equal(map.nontechnical_control.controllers.find((item) => item.human_controller === '肥猫').state, 'ACTIVE');
|
|
assert.equal(map.nontechnical_control.controllers.find((item) => item.human_controller === '桔子').state, 'ACTIVE');
|
|
assert.equal(map.nontechnical_control.state, 'ACTIVE_DUAL_CONTROL_FEIMAO_AND_JUZI');
|
|
assert.equal(map.forgejo_projection.juzi, 'WRITE_ON_ENTERPRISE_PUBLIC_REPOSITORIES');
|
|
assert.ok(map.excluded.includes('FIFTH_DOMAIN_PRIVATE_BODY'));
|
|
for (const id of ['AW-GZ-001', 'AW-OWN-GZ-001', 'JZ-SV-001', 'SY-GZ-001']) {
|
|
assert.ok(nodes.nodes.some((node) => node.node_id === id), `missing ${id}`);
|
|
}
|
|
|
|
console.log('enterprise permission handoff map: ok');
|