53 lines
1.7 KiB
TypeScript
53 lines
1.7 KiB
TypeScript
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);
|
|
|
|
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);
|
|
});
|
|
|
|
function normalizeFileContents(contents: string): string {
|
|
return contents
|
|
.trim()
|
|
.replace(new RegExp('\r\n', 'g'), '\n')
|
|
.replace(new RegExp('\r', 'g'), '\n');
|
|
}
|