diff --git a/test/test_api/api_test.js b/test/test_api/api_test.js index 8705d4006..1ded35ec6 100644 --- a/test/test_api/api_test.js +++ b/test/test_api/api_test.js @@ -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);