From 19e343e51740b70f68751e805410a4695463b8a7 Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 30 Nov 2025 17:23:57 +0100 Subject: [PATCH] loop tests --- test/test_api/api_test.js | 58 +++++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 20 deletions(-) diff --git a/test/test_api/api_test.js b/test/test_api/api_test.js index 9d8a74f3c..8d21d6240 100644 --- a/test/test_api/api_test.js +++ b/test/test_api/api_test.js @@ -2,34 +2,52 @@ // node api_test.js const axios = require('axios'); -async function testAPI(ip = "ems-esp.local", apiPath = "system") { +async function testAPI(ip = "ems-esp.local", apiPath = "system", loopCount = 1, delayMs = 1000) { const baseUrl = `http://${ip}/api`; const url = `${baseUrl}/${apiPath}`; + const results = []; - try { - const response = await axios.get(url, { - timeout: 5000, - headers: { - 'Content-Type': 'application/json' - } - }); - - console.log('Status:', response.status); - console.log('Data:', JSON.stringify(response.data, null, 2)); - - return response.data; - } catch (error) { - console.error('Error:', error.message); - if (error.response) { - console.error('Response status:', error.response.status); - console.error('Response data:', error.response.data); + for (let i = 0; i < loopCount; i++) { + if (loopCount > 1) { + console.log(`\n--- Request ${i + 1} of ${loopCount} ---`); + } + + try { + const response = await axios.get(url, { + timeout: 5000, + headers: { + 'Content-Type': 'application/json' + } + }); + + console.log('Status:', response.status); + console.log('Data:', JSON.stringify(response.data, null, 2)); + + results.push(response.data); + + // Delay before next request (except for the last one) + if (i < loopCount - 1) { + await new Promise(resolve => setTimeout(resolve, delayMs)); + } + } catch (error) { + console.error('Error:', error.message); + if (error.response) { + console.error('Response status:', error.response.status); + console.error('Response data:', error.response.data); + } + throw error; } - throw error; } + + return loopCount === 1 ? results[0] : results; } // Run the test -testAPI("192.168.1.65", "system") +// 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", 1000) .then(() => { console.log('Test completed successfully'); process.exit(0);