|
2 | 2 |
|
3 | 3 | const assert = require('assert'); |
4 | 4 | const sinon = require('sinon'); |
| 5 | +const http = require('http'); |
| 6 | +const https = require('https'); |
5 | 7 | const arsenal = require('arsenal'); |
6 | 8 | const uuid = require('uuid'); |
7 | 9 | const logger = require('../../lib/utilities/logger'); |
@@ -210,3 +212,41 @@ describe('S3Server', () => { |
210 | 212 | }); |
211 | 213 | }); |
212 | 214 | }); |
| 215 | + |
| 216 | +describe('S3Server request timeout', () => { |
| 217 | + let sandbox; |
| 218 | + let mockServer; |
| 219 | + |
| 220 | + beforeEach(() => { |
| 221 | + sandbox = sinon.createSandbox(); |
| 222 | + |
| 223 | + // Create a mock server to capture the requestTimeout setting |
| 224 | + mockServer = { |
| 225 | + requestTimeout: null, |
| 226 | + on: sandbox.stub(), |
| 227 | + listen: sandbox.stub(), |
| 228 | + address: sandbox.stub().returns({ address: '127.0.0.1', port: 8000 }), |
| 229 | + }; |
| 230 | + |
| 231 | + // Mock server creation to return our mock |
| 232 | + sandbox.stub(http, 'createServer').returns(mockServer); |
| 233 | + sandbox.stub(https, 'createServer').returns(mockServer); |
| 234 | + }); |
| 235 | + |
| 236 | + afterEach(() => { |
| 237 | + sandbox.restore(); |
| 238 | + }); |
| 239 | + |
| 240 | + it('should set server.requestTimeout to 0 when starting server', () => { |
| 241 | + const server = new S3Server({ |
| 242 | + ...defaultConfig, |
| 243 | + https: false |
| 244 | + }); |
| 245 | + |
| 246 | + // Call _startServer which should set requestTimeout = 0 |
| 247 | + server._startServer(() => {}, 8000, '127.0.0.1'); |
| 248 | + |
| 249 | + // Verify that requestTimeout was set to 0 |
| 250 | + assert.strictEqual(mockServer.requestTimeout, 0); |
| 251 | + }); |
| 252 | +}); |
0 commit comments