mirror of
				https://github.com/docker/login-action.git
				synced 2025-10-31 10:10:09 +08:00 
			
		
		
		
	add tests for retries
Signed-off-by: Fedor Dikarev <fedor.dikarev@gmail.com>
This commit is contained in:
		
							parent
							
								
									cc953186b8
								
							
						
					
					
						commit
						1a78bc10dc
					
				
							
								
								
									
										37
									
								
								__tests__/retries.test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								__tests__/retries.test.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | ||||
| import { expect, jest, test, } from '@jest/globals'; | ||||
| import * as path from 'path'; | ||||
| 
 | ||||
| // import * as dockerModule from '../src/docker';
 | ||||
| 
 | ||||
| import { login } from '../src/docker'; | ||||
| import { Docker } from '@docker/actions-toolkit/lib/docker/docker'; | ||||
| 
 | ||||
| test('login retries function', async () => { | ||||
|   const stderr_strings = [ | ||||
|     'mock error, failed with status: 408 Request Timeout', | ||||
|     'mock error, failed with status: 502 Request Timeout', | ||||
|     'mock error, failed with status: 400 Request Timeout', | ||||
|   ] | ||||
|   let call_count: number = 0 | ||||
| 
 | ||||
|   Docker.getExecOutput = jest.fn(async () => { | ||||
|     if (call_count >= stderr_strings.length) { | ||||
|       return { | ||||
|         exitCode: 0, | ||||
|         stdout: 'Mock success', | ||||
|         stderr: '' | ||||
|       } | ||||
|     } | ||||
|     return { | ||||
|       exitCode: 1, | ||||
|       stdout: '', | ||||
|       stderr: stderr_strings[(call_count++) % stderr_strings.length] | ||||
|     } | ||||
|   }) | ||||
| 
 | ||||
|   const username = 'dbowie'; | ||||
|   const password = 'groundcontrol'; | ||||
|   const registry = 'https://ghcr.io'; | ||||
| 
 | ||||
|   await login(registry, username, password, 'false', ['408', '502', '400'], 5, 0.5); | ||||
| }); | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Fedor Dikarev
						Fedor Dikarev