Skip to content

Commit bfcd1c5

Browse files
ApoorvApoorv
authored andcommitted
fix: lint and type errors in tests
1 parent 9147560 commit bfcd1c5

3 files changed

Lines changed: 110 additions & 96 deletions

File tree

__tests__/allowHalfOpen.test.js

Lines changed: 75 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
import { expect, test, jest } from '@jest/globals';
32
import net from '../src/index';
43
import { nativeEventEmitter } from '../src/Globals';
@@ -10,11 +9,12 @@ jest.mock('../src/Globals', () => {
109
const { EventEmitter } = require('events');
1110
const emitter = new EventEmitter();
1211
const originalAddListener = emitter.addListener.bind(emitter);
12+
// @ts-ignore
1313
emitter.addListener = (event, listener) => {
1414
originalAddListener(event, listener);
1515
return { remove: () => emitter.removeListener(event, listener) };
1616
};
17-
17+
1818
let idCounter = 1000;
1919
return {
2020
__esModule: true,
@@ -23,81 +23,87 @@ jest.mock('../src/Globals', () => {
2323
};
2424
});
2525

26-
test('allowHalfOpen: false (default) should call Sockets.end() on end event', (done) => {
27-
// Reset mocks
28-
Sockets.end.mockClear();
26+
test('allowHalfOpen: false (default) should call Sockets.end() on end event', () => {
27+
return new Promise((resolve, reject) => {
28+
// Reset mocks
29+
Sockets.end.mockClear();
30+
31+
const server = net.createServer(); // allowHalfOpen default false
32+
// @ts-ignore
33+
const serverId = server._id;
34+
server.listen(12345);
2935

30-
const server = net.createServer(); // allowHalfOpen default false
31-
const serverId = server._id;
32-
server.listen(12345);
33-
34-
server.on('connection', (socket) => {
35-
socket.on('end', () => {
36-
try {
37-
// When we receive 'end', if allowHalfOpen is false, socket.end() should be called
38-
// which calls Sockets.end(id)
39-
expect(Sockets.end).toHaveBeenCalled();
40-
done();
41-
} catch (e) {
42-
done(e);
43-
}
36+
server.on('connection', (socket) => {
37+
socket.on('end', () => {
38+
try {
39+
// When we receive 'end', if allowHalfOpen is false, socket.end() should be called
40+
// which calls Sockets.end(id)
41+
expect(Sockets.end).toHaveBeenCalled();
42+
resolve(undefined);
43+
} catch (e) {
44+
reject(e);
45+
}
46+
});
4447
});
45-
});
4648

47-
// Simulate connection
48-
nativeEventEmitter.emit('connection', {
49-
id: serverId,
50-
info: {
51-
id: 456,
52-
connection: {
53-
localAddress: '127.0.0.1',
54-
localPort: 12345,
55-
remoteAddress: '127.0.0.1',
56-
remotePort: 54321,
57-
remoteFamily: 'IPv4'
58-
}
59-
}
60-
});
49+
// Simulate connection
50+
nativeEventEmitter.emit('connection', {
51+
id: serverId,
52+
info: {
53+
id: 456,
54+
connection: {
55+
localAddress: '127.0.0.1',
56+
localPort: 12345,
57+
remoteAddress: '127.0.0.1',
58+
remotePort: 54321,
59+
remoteFamily: 'IPv4',
60+
},
61+
},
62+
});
6163

62-
// Simulate 'end' event from native for socket 456
63-
nativeEventEmitter.emit('end', { id: 456 });
64+
// Simulate 'end' event from native for socket 456
65+
nativeEventEmitter.emit('end', { id: 456 });
66+
});
6467
});
6568

66-
test('allowHalfOpen: true should NOT call Sockets.end() on end event', (done) => {
67-
// Reset mocks
68-
Sockets.end.mockClear();
69+
test('allowHalfOpen: true should NOT call Sockets.end() on end event', () => {
70+
return new Promise((resolve, reject) => {
71+
// Reset mocks
72+
Sockets.end.mockClear();
73+
74+
const server = net.createServer({ allowHalfOpen: true });
75+
// @ts-ignore
76+
const serverId = server._id;
77+
server.listen(12346);
6978

70-
const server = net.createServer({ allowHalfOpen: true });
71-
const serverId = server._id;
72-
server.listen(12346);
73-
74-
server.on('connection', (socket) => {
75-
socket.on('end', () => {
76-
try {
77-
// When we receive 'end', if allowHalfOpen is true, socket.end() should NOT be called
78-
expect(Sockets.end).not.toHaveBeenCalled();
79-
done();
80-
} catch (e) {
81-
done(e);
82-
}
79+
server.on('connection', (socket) => {
80+
socket.on('end', () => {
81+
try {
82+
// When we receive 'end', if allowHalfOpen is true, socket.end() should NOT be called
83+
expect(Sockets.end).not.toHaveBeenCalled();
84+
resolve(undefined);
85+
} catch (e) {
86+
reject(e);
87+
}
88+
});
8389
});
84-
});
8590

86-
// Simulate connection
87-
nativeEventEmitter.emit('connection', {
88-
id: serverId,
89-
info: {
90-
id: 457,
91-
connection: {
92-
localAddress: '127.0.0.1',
93-
localPort: 12346,
94-
remoteAddress: '127.0.0.1',
95-
remotePort: 54321,
96-
remoteFamily: 'IPv4'
97-
}
98-
}
99-
});
91+
// Simulate connection
92+
nativeEventEmitter.emit('connection', {
93+
id: serverId,
94+
info: {
95+
id: 457,
96+
connection: {
97+
localAddress: '127.0.0.1',
98+
localPort: 12346,
99+
remoteAddress: '127.0.0.1',
100+
remotePort: 54321,
101+
remoteFamily: 'IPv4',
102+
},
103+
},
104+
});
100105

101-
// Simulate 'end' event from native for socket 457
102-
nativeEventEmitter.emit('end', { id: 457 });
106+
// Simulate 'end' event from native for socket 457
107+
nativeEventEmitter.emit('end', { id: 457 });
108+
});
103109
});

__tests__/server_options.test.js

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
21
import { expect, test, jest } from '@jest/globals';
32

43
jest.mock('../src/Globals', () => {
54
const { EventEmitter } = require('events');
65
const emitter = new EventEmitter();
76
const originalAddListener = emitter.addListener.bind(emitter);
7+
// @ts-ignore
88
emitter.addListener = (event, listener) => {
99
originalAddListener(event, listener);
1010
return { remove: () => emitter.removeListener(event, listener) };
@@ -19,32 +19,35 @@ jest.mock('../src/Globals', () => {
1919
import net from '../src/index';
2020
import { nativeEventEmitter } from '../src/Globals';
2121

22-
test('server option pauseOnConnect should pause the socket', (done) => {
23-
const server = net.createServer({ pauseOnConnect: true });
24-
25-
server.listen(12345);
26-
27-
server.on('connection', (socket) => {
28-
try {
29-
// Check if socket is paused
30-
expect(socket._paused).toBe(true);
31-
done();
32-
} catch (error) {
33-
done(error);
34-
}
35-
});
22+
test('server option pauseOnConnect should pause the socket', () => {
23+
return new Promise((resolve, reject) => {
24+
const server = net.createServer({ pauseOnConnect: true });
3625

37-
nativeEventEmitter.emit('connection', {
38-
id: 123,
39-
info: {
40-
id: 456,
41-
connection: {
42-
localAddress: '127.0.0.1',
43-
localPort: 12345,
44-
remoteAddress: '127.0.0.1',
45-
remotePort: 54321,
46-
remoteFamily: 'IPv4'
26+
server.listen(12345);
27+
28+
server.on('connection', (socket) => {
29+
try {
30+
// Check if socket is paused
31+
// @ts-ignore
32+
expect(socket._paused).toBe(true);
33+
resolve(undefined);
34+
} catch (error) {
35+
reject(error);
4736
}
48-
}
37+
});
38+
39+
nativeEventEmitter.emit('connection', {
40+
id: 123,
41+
info: {
42+
id: 456,
43+
connection: {
44+
localAddress: '127.0.0.1',
45+
localPort: 12345,
46+
remoteAddress: '127.0.0.1',
47+
remotePort: 54321,
48+
remoteFamily: 'IPv4',
49+
},
50+
},
51+
});
4952
});
5053
});

src/Socket.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,12 @@ export default class Socket extends EventEmitter {
165165
});
166166
this._connecting = true;
167167
this._readyState = 'opening';
168-
NativeModules.TcpSockets.connect(this._id, customOptions.host, customOptions.port, customOptions);
168+
NativeModules.TcpSockets.connect(
169+
this._id,
170+
customOptions.host,
171+
customOptions.port,
172+
customOptions
173+
);
169174
return this;
170175
}
171176

0 commit comments

Comments
 (0)