mirror of
				https://github.com/actions/setup-dotnet.git
				synced 2025-11-04 01:33: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');
 | 
						|
}
 |