mirror of
				https://github.com/actions/setup-dotnet.git
				synced 2025-10-31 23:13:45 +00:00 
			
		
		
		
	* Increase amount of retries for Dotnet installation scripts tests * Format: Increase amount of retries for Dotnet installation scripts tests
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import path from 'path';
 | |
| import fs from 'fs';
 | |
| import * as hc from '@actions/http-client';
 | |
| 
 | |
| const HTTP_CLIENT_OPTIONS = {allowRetries: true, maxRetries: 10} as const;
 | |
| const TEST_TIMEOUT = 30000;
 | |
| 
 | |
| describe('Dotnet installation scripts tests', () => {
 | |
|   it(
 | |
|     'Uses an up to date bash download script',
 | |
|     async () => {
 | |
|       const httpCallbackClient = new hc.HttpClient(
 | |
|         'setup-dotnet-test',
 | |
|         [],
 | |
|         HTTP_CLIENT_OPTIONS
 | |
|       );
 | |
|       const response: hc.HttpClientResponse = await httpCallbackClient.get(
 | |
|         'https://dot.net/v1/dotnet-install.sh'
 | |
|       );
 | |
|       expect(response.message.statusCode).toBe(200);
 | |
|       const upToDateContents: string = await response.readBody();
 | |
|       const currentContents: string = fs
 | |
|         .readFileSync(
 | |
|           path.join(__dirname, '..', 'externals', 'install-dotnet.sh')
 | |
|         )
 | |
|         .toString();
 | |
|       expect(normalizeFileContents(currentContents)).toBe(
 | |
|         normalizeFileContents(upToDateContents)
 | |
|       );
 | |
|     },
 | |
|     TEST_TIMEOUT
 | |
|   );
 | |
| 
 | |
|   it(
 | |
|     'Uses an up to date powershell download script',
 | |
|     async () => {
 | |
|       const httpCallbackClient = new hc.HttpClient(
 | |
|         'setup-dotnet-test',
 | |
|         [],
 | |
|         HTTP_CLIENT_OPTIONS
 | |
|       );
 | |
|       const response: hc.HttpClientResponse = await httpCallbackClient.get(
 | |
|         'https://dot.net/v1/dotnet-install.ps1'
 | |
|       );
 | |
|       expect(response.message.statusCode).toBe(200);
 | |
|       const upToDateContents: string = await response.readBody();
 | |
|       const currentContents: string = fs
 | |
|         .readFileSync(
 | |
|           path.join(__dirname, '..', 'externals', 'install-dotnet.ps1')
 | |
|         )
 | |
|         .toString();
 | |
|       expect(normalizeFileContents(currentContents)).toBe(
 | |
|         normalizeFileContents(upToDateContents)
 | |
|       );
 | |
|     },
 | |
|     TEST_TIMEOUT
 | |
|   );
 | |
| });
 | |
| 
 | |
| function normalizeFileContents(contents: string): string {
 | |
|   return contents
 | |
|     .trim()
 | |
|     .replace(new RegExp('\r\n', 'g'), '\n')
 | |
|     .replace(new RegExp('\r', 'g'), '\n');
 | |
| }
 |