41 lines
		
	
	
		
			990 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			41 lines
		
	
	
		
			990 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | // @flow
 | ||
|  | 
 | ||
|  | import {AgentManager, DESTROY_TIMEOUT_MS} from '../src/agent-manager'; | ||
|  | import {sleep} from '../src/util/sleep'; | ||
|  | 
 | ||
|  | jest.setTimeout(10 * 1000); | ||
|  | 
 | ||
|  | test('agent manager', async () => { | ||
|  |   const manager = new AgentManager(); | ||
|  |   const agent = manager._agent; | ||
|  |   expect(manager._activeRequests).toBe(0); | ||
|  |   expect(manager._destroyTimeout).toBeNull(); | ||
|  | 
 | ||
|  |   manager.requestStart(); | ||
|  | 
 | ||
|  |   expect(manager._activeRequests).toBe(1); | ||
|  |   expect(manager._destroyTimeout).toBeNull(); | ||
|  | 
 | ||
|  |   manager.requestEnd(); | ||
|  | 
 | ||
|  |   expect(manager._activeRequests).toBe(0); | ||
|  |   expect(manager._destroyTimeout).not.toBeNull(); | ||
|  | 
 | ||
|  |   manager.requestStart(); | ||
|  |   manager.requestStart(); | ||
|  | 
 | ||
|  |   expect(manager._activeRequests).toBe(2); | ||
|  |   expect(manager._destroyTimeout).toBeNull(); | ||
|  | 
 | ||
|  |   manager.requestEnd(); | ||
|  |   manager.requestEnd(); | ||
|  | 
 | ||
|  |   expect(manager._activeRequests).toBe(0); | ||
|  |   expect(manager._destroyTimeout).not.toBeNull(); | ||
|  |   expect(manager._agent).toBe(agent); | ||
|  | 
 | ||
|  |   await sleep(DESTROY_TIMEOUT_MS); | ||
|  | 
 | ||
|  |   expect(manager._agent).not.toBe(agent); | ||
|  | }); |