34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
|
|
import { buildVersionInfo } from '../../src/server/version.js';
|
|
import { HARBOR_VERSIONS, versionCompatibility } from '../../src/shared/versions.js';
|
|
|
|
test('component versions enforce one Harbor major and one Gateway major.minor', () => {
|
|
assert.deepEqual(versionCompatibility(HARBOR_VERSIONS), {
|
|
compatible: true,
|
|
major: true,
|
|
gateway: true,
|
|
});
|
|
assert.equal(versionCompatibility({
|
|
macClient: '1.9.4',
|
|
gatewayClient: '1.3.1',
|
|
gatewayBackend: '1.3.8',
|
|
}).compatible, true);
|
|
assert.equal(versionCompatibility({
|
|
macClient: '1.0.0',
|
|
gatewayClient: '1.3.0',
|
|
gatewayBackend: '1.4.0',
|
|
}).compatible, false);
|
|
});
|
|
|
|
test('runtime version info reports the installed sing-box binary', () => {
|
|
const run = () => ({ stdout: 'sing-box version 1.12.13\n', stderr: '' });
|
|
assert.deepEqual(buildVersionInfo('gateway', run), {
|
|
apiVersion: 1,
|
|
location: 'gateway',
|
|
components: { gatewayBackend: HARBOR_VERSIONS.gatewayBackend },
|
|
runtime: { singBox: '1.12.13' },
|
|
});
|
|
});
|