42 lines
1.7 KiB
JavaScript
42 lines
1.7 KiB
JavaScript
'use strict';
|
|
|
|
const test = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
const { readBuildInfo } = require('../../src/platform/build-info');
|
|
|
|
test('build info accepts bounded provenance and normalizes timestamps', () => {
|
|
const build = readBuildInfo({
|
|
CHIMERA_BUILD_ID: '1fb4db70edfb',
|
|
CHIMERA_SOURCE_REVISION: '1fb4db70edfb9fd55d1d4ceabc9800079adadda8',
|
|
CHIMERA_SOURCE_TREE: '7fb4db70edfb9fd55d1d4ceabc9800079adadda1',
|
|
CHIMERA_BUILD_DATE: '2026-07-15T10:00:00Z',
|
|
});
|
|
assert.deepEqual(build, {
|
|
id: '1fb4db70edfb',
|
|
revision: '1fb4db70edfb9fd55d1d4ceabc9800079adadda8',
|
|
tree: '7fb4db70edfb9fd55d1d4ceabc9800079adadda1',
|
|
treeDigest: 'eb35c4caa0a978facf90b329ad5f9d4bbe132fc91bdd20efd4b7404ed6eeeae0',
|
|
builtAt: '2026-07-15T10:00:00.000Z',
|
|
});
|
|
assert.equal(Object.isFrozen(build), true);
|
|
});
|
|
|
|
test('build info rejects injected or malformed values', () => {
|
|
assert.deepEqual(readBuildInfo({
|
|
CHIMERA_BUILD_ID: 'release;cat /run/secrets/key',
|
|
CHIMERA_SOURCE_REVISION: 'not-a-commit',
|
|
CHIMERA_SOURCE_TREE: 'not-a-tree',
|
|
CHIMERA_BUILD_DATE: 'not-a-date',
|
|
}), { id: 'development', revision: 'development', tree: null, treeDigest: null, builtAt: null });
|
|
});
|
|
|
|
test('build info derives the tree from the governed build id for legacy deploy controllers', () => {
|
|
const tree = '7fb4db70edfb9fd55d1d4ceabc9800079adadda1';
|
|
const build = readBuildInfo({
|
|
CHIMERA_BUILD_ID: `1fb4db70edfb-tree-${tree}`,
|
|
CHIMERA_SOURCE_REVISION: '1fb4db70edfb9fd55d1d4ceabc9800079adadda8',
|
|
});
|
|
assert.equal(build.tree, tree);
|
|
assert.equal(build.treeDigest, 'eb35c4caa0a978facf90b329ad5f9d4bbe132fc91bdd20efd4b7404ed6eeeae0');
|
|
});
|