All checks were successful
Validation Dashboard / Tests backend et build frontend (push) Successful in 1m7s
41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
const assert = require('node:assert/strict');
|
||
const Module = require('node:module');
|
||
|
||
// Le test est autonome : aucune dépendance externe ni requête réseau n’est nécessaire.
|
||
const originalLoad = Module._load;
|
||
Module._load = function mockAxios(request, parent, isMain) {
|
||
if (request === 'axios') return { get: async () => ({ status: 200 }) };
|
||
return originalLoad.call(this, request, parent, isMain);
|
||
};
|
||
|
||
// Le test isole Docker : il valide le contrat de données émis par healthcheck.
|
||
const dockerPath = require.resolve('../src/docker');
|
||
require.cache[dockerPath] = {
|
||
id: dockerPath,
|
||
filename: dockerPath,
|
||
loaded: true,
|
||
exports: {
|
||
getContainerInfo: async () => ({ running: true }),
|
||
},
|
||
};
|
||
|
||
const { checkApp } = require('../src/healthcheck');
|
||
|
||
(async () => {
|
||
const result = await checkApp({
|
||
id: 'referentiel-ia',
|
||
name: 'Référentiel IA Santinova',
|
||
category: 'INFRA',
|
||
ai: { engines: [{ provider: 'Ollama', model: 'llama3.2:1b' }] },
|
||
urls: {},
|
||
containerName: 'referentiel-ia',
|
||
});
|
||
|
||
assert.equal(result.category, 'INFRA');
|
||
assert.deepEqual(result.ai, { engines: [{ provider: 'Ollama', model: 'llama3.2:1b' }] });
|
||
console.log('healthcheck-category: OK');
|
||
})().catch((error) => {
|
||
console.error(error);
|
||
process.exit(1);
|
||
});
|