const kOneMegaByte = kOneKiloByte * kOneKiloByte
describe('net module', function () {
- describe('HTTP basics', function () {
- let server
- beforeEach(function (done) {
- server = http.createServer()
- server.listen(0, '127.0.0.1', function () {
- server.url = 'http://127.0.0.1:' + server.address().port
- done()
+ let server
+ const connections = new Set()
+
+ beforeEach(function (done) {
+ server = http.createServer()
+ server.listen(0, '127.0.0.1', function () {
+ server.url = `http://127.0.0.1:${server.address().port}`
+ done()
+ })
+ server.on('connection', (connection) => {
+ connections.add(connection)
+ connection.once('close', () => {
+ connections.delete(connection)
})
})
+ })
- afterEach(function () {
- server.close(function () {
- })
+ afterEach(function (done) {
+ for (const connection of connections) {
+ connection.destroy()
+ }
+ server.close(function () {
server = null
+ done()
})
+ })
+ describe('HTTP basics', function () {
it('should be able to issue a basic GET request', function (done) {
const requestUrl = '/requestUrl'
server.on('request', function (request, response) {
})
describe('ClientRequest API', function () {
- let server
- beforeEach(function (done) {
- server = http.createServer()
- server.listen(0, '127.0.0.1', function () {
- server.url = 'http://127.0.0.1:' + server.address().port
- done()
- })
- })
-
afterEach(function () {
- server.close(function () {
- })
- server = null
session.defaultSession.webRequest.onBeforeRequest(null)
})
urlRequest.end()
})
})
- describe('IncomingMessage API', function () {
- let server
- beforeEach(function (done) {
- server = http.createServer()
- server.listen(0, '127.0.0.1', function () {
- server.url = 'http://127.0.0.1:' + server.address().port
- done()
- })
- })
-
- afterEach(function () {
- server.close()
- server = null
- })
+ describe('IncomingMessage API', function () {
it('response object should implement the IncomingMessage API', function (done) {
const requestUrl = '/requestUrl'
const customHeaderName = 'Some-Custom-Header-Name'
urlRequest.end()
})
})
- describe('Stability and performance', function (done) {
- let server
- beforeEach(function (done) {
- server = http.createServer()
- server.listen(0, '127.0.0.1', function () {
- server.url = 'http://127.0.0.1:' + server.address().port
- done()
- })
- })
-
- afterEach(function () {
- server.close()
- server = null
- })
+ describe('Stability and performance', function (done) {
it('should free unreferenced, never-started request objects without crash', function (done) {
const requestUrl = '/requestUrl'
ipcRenderer.once('api-net-spec-done', function () {
})
`)
})
+
it('should not collect on-going requests without crash', function (done) {
const requestUrl = '/requestUrl'
server.on('request', function (request, response) {
urlRequest.end()
`)
})
+
it('should collect unreferenced, ended requests without crash', function (done) {
const requestUrl = '/requestUrl'
server.on('request', function (request, response) {