fix: préserver la catégorie dans les statuts applicatifs
This commit is contained in:
38
src/backend/test/healthcheck-category.test.js
Normal file
38
src/backend/test/healthcheck-category.test.js
Normal file
@@ -0,0 +1,38 @@
|
||||
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',
|
||||
urls: {},
|
||||
containerName: 'referentiel-ia',
|
||||
});
|
||||
|
||||
assert.equal(result.category, 'INFRA');
|
||||
console.log('healthcheck-category: OK');
|
||||
})().catch((error) => {
|
||||
console.error(error);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user