feat(ql3): prove Console adopted cutover entry

This commit is contained in:
whyour
2026-09-01 10:12:32 +08:00
parent 50e6742b72
commit b3421ac9cf
22 changed files with 666 additions and 167 deletions
@@ -0,0 +1,49 @@
const assert = require('node:assert/strict');
const { test } = require('node:test');
const {
localApiCliFailureFact,
parseLocalApiCliCommand,
} = require('../dist/production-process/cliCommand.js');
test('parses only the normal API and frozen cutover-probe commands', () => {
assert.deepEqual(parseLocalApiCliCommand(['--config', '/private/api.json']), {
configFilePath: '/private/api.json',
mode: 'api',
});
assert.deepEqual(
parseLocalApiCliCommand([
'--cutover-probe',
'--config',
'/private/api.json',
]),
{
configFilePath: '/private/api.json',
mode: 'cutover_probe',
},
);
for (const argv of [
[],
['--cutover-probe', '/private/api.json'],
['--config', '/private/api.json', '--cutover-probe'],
['--cutover-probe', '--config', ''],
]) {
assert.equal(parseLocalApiCliCommand(argv), null);
}
});
test('publishes bounded Local API failure facts', () => {
assert.deepEqual(
localApiCliFailureFact(
Object.assign(new Error('secret detail'), { code: 'QL3_TEST' }),
),
{
schemaVersion: 1,
component: 'qinglong3-local-api',
level: 'error',
event: 'process_failed',
name: 'Error',
code: 'QL3_TEST',
},
);
});