diff --git a/metapackages/auto-instrumentations-node/test/test-app/app-server.js b/metapackages/auto-instrumentations-node/test/test-app/app-server.js index 786cf0f175..61e12b089e 100644 --- a/metapackages/auto-instrumentations-node/test/test-app/app-server.js +++ b/metapackages/auto-instrumentations-node/test/test-app/app-server.js @@ -17,22 +17,34 @@ //Used in register.test.ts to mimic a JS app that stays alive like a server. const http = require('http'); -const options = { - hostname: 'example.com', - port: 80, - path: '/', - method: 'GET', -}; +// Create a local server that responds immediately +const server = http.createServer((req, res) => { + res.end('ok'); +}); + +server.listen(0, () => { + const port = server.address().port; + const req = http.request({ + hostname: 'localhost', + port: port, + path: '/', + method: 'GET', + }); -const req = http.request(options); -req.end(); -req.on('close', () => { - console.log('Finished request'); + req.end(); + req.on('response', res => { + res.on('end', () => { + console.log('Finished request'); + }); + res.resume(); + }); }); // Make sure there is work on the event loop const handle = setInterval(() => {}, 1); + // Gracefully shut down process.on('SIGTERM', () => { clearInterval(handle); + server.close(); });