mirror of
https://github.com/codecov/codecov-action.git
synced 2025-12-08 16:16:24 +00:00
* fix: set safe directory * fix: naming * fix: update tests * fix: dont even check * fix: add set safe directory * fix: write test for setSafeDirectory
97 lines
2.7 KiB
TypeScript
97 lines
2.7 KiB
TypeScript
import * as exec from '@actions/exec';
|
|
|
|
import {
|
|
PLATFORMS,
|
|
getBaseUrl,
|
|
getCommand,
|
|
getPlatform,
|
|
isValidPlatform,
|
|
isWindows,
|
|
setSafeDirectory,
|
|
} from './helpers';
|
|
|
|
let OLDOS = process.env.RUNNER_OS;
|
|
|
|
beforeEach(() => {
|
|
jest.resetModules();
|
|
OLDOS = process.env.RUNNER_OS;
|
|
});
|
|
|
|
afterAll(() => {
|
|
process.env.RUNNER_OS = OLDOS;
|
|
});
|
|
|
|
test('getPlatform', () => {
|
|
expect(getPlatform('linux')).toBe('linux');
|
|
expect(getPlatform('windows')).toBe('windows');
|
|
|
|
const defaultPlatform =
|
|
process.env.RUNNER_OS ? process.env.RUNNER_OS.toLowerCase() : 'linux';
|
|
expect(getPlatform('fakeos')).toBe(defaultPlatform);
|
|
expect(getPlatform()).toBe(defaultPlatform);
|
|
|
|
process.env.RUNNER_OS = 'macos';
|
|
expect(getPlatform('fakeos')).toBe('macos');
|
|
expect(getPlatform()).toBe('macos');
|
|
|
|
process.env.RUNNER_OS = 'alsofakeos';
|
|
expect(getPlatform()).toBe('linux');
|
|
expect(getPlatform('fakeos')).toBe('linux');
|
|
});
|
|
|
|
test('getBaseUrl', () => {
|
|
expect(PLATFORMS.map((platform) => {
|
|
return getBaseUrl(platform, 'latest');
|
|
})).toEqual([
|
|
'https://cli.codecov.io/latest/linux/codecov',
|
|
'https://cli.codecov.io/latest/macos/codecov',
|
|
'https://cli.codecov.io/latest/windows/codecov.exe',
|
|
'https://cli.codecov.io/latest/alpine/codecov',
|
|
'https://cli.codecov.io/latest/linux-arm64/codecov',
|
|
'https://cli.codecov.io/latest/alpine-arm64/codecov',
|
|
]);
|
|
|
|
expect(PLATFORMS.map((platform) => {
|
|
return getBaseUrl(platform, 'v0.1.0_8880');
|
|
})).toEqual([
|
|
'https://cli.codecov.io/v0.1.0_8880/linux/codecov',
|
|
'https://cli.codecov.io/v0.1.0_8880/macos/codecov',
|
|
'https://cli.codecov.io/v0.1.0_8880/windows/codecov.exe',
|
|
'https://cli.codecov.io/v0.1.0_8880/alpine/codecov',
|
|
'https://cli.codecov.io/v0.1.0_8880/linux-arm64/codecov',
|
|
'https://cli.codecov.io/v0.1.0_8880/alpine-arm64/codecov',
|
|
]);
|
|
});
|
|
|
|
test('isWindows', () => {
|
|
expect(PLATFORMS.map((platform) => {
|
|
return isWindows(platform);
|
|
})).toEqual([false, false, true, false, false, false]);
|
|
});
|
|
|
|
test('isValidPlatform', () => {
|
|
expect(PLATFORMS.map((platform) => {
|
|
return isValidPlatform(platform);
|
|
})).toEqual([true, true, true, true, true, true]);
|
|
|
|
expect(isValidPlatform('fakeos')).toBeFalsy();
|
|
});
|
|
|
|
test('getCommand', () => {
|
|
expect(getCommand('path', ['-v', '-x'], 'do-upload'))
|
|
.toEqual(['path', '-v', '-x', 'do-upload']);
|
|
});
|
|
|
|
test('setSafeDirectory', async () => {
|
|
process.env.GITHUB_WORKSPACE = 'testOrg/testRepo';
|
|
await setSafeDirectory();
|
|
const testSafeDirectory = ([
|
|
'git',
|
|
'config',
|
|
'--get',
|
|
'safe.directory',
|
|
]).join(' ');
|
|
const safeDirectory = await exec.getExecOutput(testSafeDirectory);
|
|
expect(safeDirectory.stdout).toBe('testOrg/testRepo\n');
|
|
});
|