Skip to content

Commit 6950bf9

Browse files
committed
unit test addition for timeout disabing
Issue: CLDSRV-716
1 parent 68f4866 commit 6950bf9

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

tests/unit/server.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
const assert = require('assert');
44
const sinon = require('sinon');
5+
const http = require('http');
6+
const https = require('https');
7+
const promClient = require('prom-client');
58
const arsenal = require('arsenal');
69
const uuid = require('uuid');
710
const logger = require('../../lib/utilities/logger');
@@ -210,3 +213,44 @@ describe('S3Server', () => {
210213
});
211214
});
212215
});
216+
217+
describe('S3Server request timeout', () => {
218+
let sandbox;
219+
let mockServer;
220+
221+
beforeEach(() => {
222+
sandbox = sinon.createSandbox();
223+
224+
// Clear prometheus registry to avoid conflicts
225+
promClient.register.clear();
226+
227+
// Create a mock server to capture the requestTimeout setting
228+
mockServer = {
229+
requestTimeout: null,
230+
on: sandbox.stub(),
231+
listen: sandbox.stub(),
232+
address: sandbox.stub().returns({ address: '127.0.0.1', port: 8000 }),
233+
};
234+
235+
// Mock server creation to return our mock
236+
sandbox.stub(http, 'createServer').returns(mockServer);
237+
sandbox.stub(https, 'createServer').returns(mockServer);
238+
});
239+
240+
afterEach(() => {
241+
sandbox.restore();
242+
});
243+
244+
it('should set server.requestTimeout to 0 when starting server', () => {
245+
const server = new S3Server({
246+
...defaultConfig,
247+
https: false
248+
});
249+
250+
// Call _startServer which should set requestTimeout = 0
251+
server._startServer(() => {}, 8000, '127.0.0.1');
252+
253+
// Verify that requestTimeout was set to 0
254+
assert.strictEqual(mockServer.requestTimeout, 0);
255+
});
256+
});

0 commit comments

Comments
 (0)