This commit is contained in:
proddy
2025-12-01 19:56:53 +01:00
parent e43416019d
commit a8fcc1fb44

View File

@@ -3,14 +3,14 @@
const axios = require('axios');
async function testAPI(ip = "ems-esp.local", apiPath = "system", loopCount = 1, delayMs = 1000) {
const baseUrl = `http://${ip}/api`;
const baseUrl = `http://${ip}`;
const url = `${baseUrl}/${apiPath}`;
const results = [];
for (let i = 0; i < loopCount; i++) {
let logMessage = '';
if (loopCount > 1) {
logMessage = `--- Request ${i + 1} of ${loopCount} ---`;
logMessage = `- Request ${i + 1}/${loopCount} -`;
}
try {
@@ -20,31 +20,31 @@ async function testAPI(ip = "ems-esp.local", apiPath = "system", loopCount = 1,
'Content-Type': 'application/json'
}
});
// console.log('Status:', response.status);
// console.log('Data:', JSON.stringify(response.data, null, 2));
// Extract and print freeMem
const freeMem = response.data?.freeMem || response.data?.system?.freeMem;
if (freeMem !== undefined) {
logMessage += (logMessage ? ' ' : '') + `System Free Memory: ${freeMem}`;
} else {
logMessage += (logMessage ? ' ' : '') + 'freeMem not found in response';
}
console.log(logMessage);
// Delay before next request (except for the last one)
if (i < loopCount - 1) {
await new Promise(resolve => setTimeout(resolve, delayMs));
}
logMessage += (logMessage ? ' ' : '') + `URL: ${url}, Status: ${response.status}`;
} catch (error) {
console.error('Error:', error.message);
if (error.response) {
console.error('Response status:', error.response.status);
console.error('Response data:', error.response.data);
}
// if (error.response) {
// console.error('Response status:', error.response.status);
// console.error('Response data:', error.response.data);
// }
throw error;
}
// if successful make another request to the /api/system/info endpoint to fetch the freeMem
const response = await axios.get(`${baseUrl}/api/system/info`);
const freeMem = response.data?.freeMem || response.data?.system?.freeMem;
const uptime = response.data?.uptime || response.data?.system?.uptime;
if (freeMem !== undefined) {
logMessage += (logMessage ? ' ' : '') + `(uptime: ${uptime}, freeMem: ${freeMem})`;
} else {
logMessage += (logMessage ? ' ' : '') + 'freeMem not found in response';
}
console.log(logMessage);
// Delay before next request (except for the last one)
if (i < loopCount - 1) {
await new Promise(resolve => setTimeout(resolve, delayMs));
}
}
return loopCount === 1 ? results[0] : results;
@@ -52,10 +52,10 @@ async function testAPI(ip = "ems-esp.local", apiPath = "system", loopCount = 1,
// Run the test
// Examples:
// testAPI("192.168.1.65", "system") - single call
// testAPI("192.168.1.65", "system", 5) - 5 calls with 1000ms delay
// testAPI("192.168.1.65", "system", 10, 2000) - 10 calls with 2000ms delay
testAPI("192.168.1.65", "system", 20000, 5)
// testAPI("192.168.1.65", "api/system") - single call
// testAPI("192.168.1.65", "api/system", 5) - 5 calls with 1000ms delay
// testAPI("192.168.1.65", "api/system", 10, 2000) - 10 calls with 2000ms delay
testAPI("192.168.1.65", "status", 20000, 5)
.then(() => {
console.log('Test completed successfully');
process.exit(0);