fix: préserver la catégorie dans les statuts applicatifs
This commit is contained in:
@@ -63,6 +63,8 @@ async function checkApp(appConfig) {
|
|||||||
id: appConfig.id,
|
id: appConfig.id,
|
||||||
name: appConfig.name,
|
name: appConfig.name,
|
||||||
description: appConfig.description || '',
|
description: appConfig.description || '',
|
||||||
|
// Préserve la catégorie du manifeste pour le rendu différencié des services INFRA.
|
||||||
|
category: appConfig.category || 'SANTINOVA',
|
||||||
urls: appConfig.urls,
|
urls: appConfig.urls,
|
||||||
containerName: appConfig.containerName,
|
containerName: appConfig.containerName,
|
||||||
lastCheck: new Date().toISOString(),
|
lastCheck: new Date().toISOString(),
|
||||||
|
|||||||
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