From 5fdecd2063d6b33f52291b3d9299f6a7d4a84964 Mon Sep 17 00:00:00 2001 From: Nikolai Laevskii <130154213+nikolai-laevskii@users.noreply.github.com> Date: Fri, 19 May 2023 08:50:54 +0200 Subject: [PATCH] Increase amount of retries for Dotnet installation scripts tests (#427) * Increase amount of retries for Dotnet installation scripts tests * Format: Increase amount of retries for Dotnet installation scripts tests --- __tests__/installation-scripts.test.ts | 91 +++++++++++++++----------- 1 file changed, 52 insertions(+), 39 deletions(-) diff --git a/__tests__/installation-scripts.test.ts b/__tests__/installation-scripts.test.ts index e309a98..ce71ea7 100644 --- a/__tests__/installation-scripts.test.ts +++ b/__tests__/installation-scripts.test.ts @@ -2,46 +2,59 @@ import path from 'path'; import fs from 'fs'; import * as hc from '@actions/http-client'; -describe('Dotnet installation scripts tests', () => { - it('Uses an up to date bash download script', async () => { - const httpCallbackClient = new hc.HttpClient('setup-dotnet-test', [], { - allowRetries: true, - maxRetries: 3 - }); - 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) - ); - }, 30000); +const HTTP_CLIENT_OPTIONS = {allowRetries: true, maxRetries: 10} as const; +const TEST_TIMEOUT = 30000; - it('Uses an up to date powershell download script', async () => { - const httpCallbackClient = new hc.HttpClient('setup-dotnet-test', [], { - allowRetries: true, - maxRetries: 3 - }); - 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) - ); - }, 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 {