From bcef9b00074109a0a008ee6a0a38b784f120f04d Mon Sep 17 00:00:00 2001 From: Jan Romann Date: Fri, 21 Jun 2024 16:41:12 +0200 Subject: [PATCH] refactor: refactor test code using sinon --- test/request.ts | 51 -------------------------------------------- test/server.ts | 7 ++---- test/share-socket.ts | 19 +++++++++-------- 3 files changed, 12 insertions(+), 65 deletions(-) diff --git a/test/request.ts b/test/request.ts index 373fe6ef..b1510f6d 100644 --- a/test/request.ts +++ b/test/request.ts @@ -1024,16 +1024,6 @@ describe('request', function () { }) describe('non-confirmable retries', function () { - let clock - - beforeEach(function () { - clock = useFakeTimers() - }) - - afterEach(function () { - clock.restore() - }) - function doReq (): OutgoingMessage { return request({ port, @@ -1041,13 +1031,6 @@ describe('request', function () { }).end() } - function fastForward (increase, max): void { - clock.tick(increase) - if (increase < max) { - originalSetImmediate(fastForward.bind(null, increase, max - increase)) - } - } - it('should timeout after ~202 seconds', function (done) { const req = doReq() @@ -1137,16 +1120,6 @@ describe('request', function () { }) describe('confirmable retries', function () { - let clock - - beforeEach(function () { - clock = useFakeTimers() - }) - - afterEach(function () { - clock.restore() - }) - function doReq (): OutgoingMessage { return request({ port, @@ -1154,13 +1127,6 @@ describe('request', function () { }).end() } - function fastForward (increase, max): void { - clock.tick(increase) - if (increase < max) { - originalSetImmediate(fastForward.bind(null, increase, max - increase)) - } - } - it('should error after ~247 seconds', function (done) { const req = doReq() @@ -1632,23 +1598,6 @@ describe('request', function () { }) describe('token', function () { - let clock - - beforeEach(function () { - clock = useFakeTimers() - }) - - afterEach(function () { - clock.restore() - }) - - function fastForward (increase, max): void { - clock.tick(increase) - if (increase < max) { - originalSetImmediate(fastForward.bind(null, increase, max - increase)) - } - } - it('should timeout if the response token size doesn\'t match the request\'s', function (done) { const req = request({ port diff --git a/test/server.ts b/test/server.ts index ea02afb4..249abf8d 100644 --- a/test/server.ts +++ b/test/server.ts @@ -41,9 +41,7 @@ describe('server', function () { }) afterEach(function () { - if (clock != null) { - clock.restore() - } + clock?.restore() client.close() server.close() tk.reset() @@ -1253,7 +1251,6 @@ describe('server block cache', function () { } beforeEach(function (done) { - clock = sinon.useFakeTimers() port = nextPort() server = createServer() server.listen(port, done) @@ -1266,7 +1263,7 @@ describe('server block cache', function () { }) afterEach(function () { - clock.restore() + clock?.restore() client.close() server.close() tk.reset() diff --git a/test/share-socket.ts b/test/share-socket.ts index 15fb02fe..110aef50 100644 --- a/test/share-socket.ts +++ b/test/share-socket.ts @@ -22,8 +22,10 @@ describe('share-socket', function () { let server: Server let port: number let originalGlobalAgent: Agent + let clock: sinon.SinonFakeTimers beforeEach(function (done) { + clock = sinon.useFakeTimers() port = nextPort() server = createServer() originalGlobalAgent = globalAgent @@ -41,6 +43,7 @@ describe('share-socket', function () { }) afterEach(function (done) { + clock.restore() this.timeout(500) setTimeout(() => { server.close(done) @@ -57,7 +60,7 @@ describe('share-socket', function () { request(`coap://localhost:${port}/abcd/ef/gh/?foo=bar&beep=bop`).end() server.on('request', (req) => { expect(req.url).to.eql('/abcd/ef/gh?foo=bar&beep=bop') - setImmediate(done) + done() }) }) @@ -65,7 +68,7 @@ describe('share-socket', function () { const req = request(`coap://localhost:${port}/abcd/ef/gh/?foo=bar&beep=bop`).end() req.on('response', (res: IncomingMessage) => { expect(res.code).to.eql('2.05') - setImmediate(done) + done() }) server.on('request', (req, res) => { @@ -77,7 +80,7 @@ describe('share-socket', function () { request(`coap://localhost:${port}`) .on('response', (res: IncomingMessage) => { expect(res.code).to.eql('4.04') - setImmediate(done) + done() }) .end() @@ -91,7 +94,7 @@ describe('share-socket', function () { request(`coap://localhost:${port}`) .on('response', (res: IncomingMessage) => { expect(res.code).to.eql('4.04') - setImmediate(done) + done() }) .end() @@ -334,9 +337,9 @@ describe('share-socket', function () { server.on('request', (req, res) => { res.write('hello') - setTimeout(() => { + originalSetImmediate(() => { res.end('world') - }, 10) + }) }) ;[req1, req2].forEach((req) => { @@ -400,7 +403,7 @@ describe('share-socket', function () { }) req1.on('response', () => { - setImmediate(() => { + originalSetImmediate(() => { request({ port, method: 'GET', @@ -438,7 +441,6 @@ describe('share-socket', function () { }) it('should error after ~247 seconds', function (done) { - const clock = sinon.useFakeTimers() const req = request(`coap://localhost:${port + 1}`) req.end() @@ -451,7 +453,6 @@ describe('share-socket', function () { req.on('error', (err) => { expect(err).to.have.property('message', 'No reply in 247 seconds.') - clock.restore() done() })