Skip to content

Commit e275817

Browse files
committed
unit test addition for timeout disabing
Issue: CLDSRV-716
1 parent 9a112b9 commit e275817

2 files changed

Lines changed: 47 additions & 0 deletions

File tree

lib/server.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,3 +411,4 @@ function main() {
411411
}
412412

413413
module.exports = main;
414+
module.exports.S3Server = S3Server;

tests/unit/server.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
'use strict';
2+
3+
const assert = require('assert');
4+
const sinon = require('sinon');
5+
const http = require('http');
6+
const https = require('https');
7+
const { config: defaultConfig } = require('../../lib/Config');
8+
const { S3Server } = require('../../lib/server');
9+
10+
describe('S3Server request timeout', () => {
11+
let sandbox;
12+
let mockServer;
13+
14+
beforeEach(() => {
15+
sandbox = sinon.createSandbox();
16+
17+
// Create a mock server to capture the requestTimeout setting
18+
mockServer = {
19+
requestTimeout: null,
20+
on: sandbox.stub(),
21+
listen: sandbox.stub(),
22+
address: sandbox.stub().returns({ address: '127.0.0.1', port: 8000 }),
23+
};
24+
25+
// Mock server creation to return our mock
26+
sandbox.stub(http, 'createServer').returns(mockServer);
27+
sandbox.stub(https, 'createServer').returns(mockServer);
28+
});
29+
30+
afterEach(() => {
31+
sandbox.restore();
32+
});
33+
34+
it('should set server.requestTimeout to 0 when starting server', () => {
35+
const server = new S3Server({
36+
...defaultConfig,
37+
https: false
38+
});
39+
40+
// Call _startServer which should set requestTimeout = 0
41+
server._startServer(() => {}, 8000, '127.0.0.1');
42+
43+
// Verify that requestTimeout was set to 0
44+
assert.strictEqual(mockServer.requestTimeout, 0);
45+
});
46+
});

0 commit comments

Comments
 (0)