setup-dotnet/__tests__/cache-utils.test.ts
leafkevin 668c50843e
Some checks failed
Check dist/ / Check dist/ (push) Has been cancelled
CodeQL analysis / CodeQL analysis (push) Has been cancelled
Basic validation / Basic validation (push) Has been cancelled
e2e tests / test-setup-multiple-versions (macos-13) (push) Has been cancelled
e2e tests / test-setup-multiple-versions (ubuntu-22.04) (push) Has been cancelled
e2e tests / test-setup-multiple-versions (windows-latest) (push) Has been cancelled
e2e tests / test-setup-multiple-versions-extended (macos-latest) (push) Has been cancelled
e2e tests / test-setup-multiple-versions-extended (ubuntu-latest) (push) Has been cancelled
e2e tests / test-setup-full-version (macos-13) (push) Has been cancelled
e2e tests / test-setup-full-version (ubuntu-22.04) (push) Has been cancelled
e2e tests / test-setup-full-version (windows-latest) (push) Has been cancelled
e2e tests / test-setup-full-version-extended (macos-latest) (push) Has been cancelled
e2e tests / test-setup-full-version-extended (ubuntu-latest) (push) Has been cancelled
e2e tests / test-setup-without-patch-version (macos-13) (push) Has been cancelled
e2e tests / test-setup-without-patch-version (ubuntu-22.04) (push) Has been cancelled
e2e tests / test-setup-without-patch-version (windows-latest) (push) Has been cancelled
e2e tests / test-setup-without-patch-version-extended (macos-latest) (push) Has been cancelled
e2e tests / test-setup-without-patch-version-extended (ubuntu-latest) (push) Has been cancelled
e2e tests / test-setup-prerelease-version (macos-13) (push) Has been cancelled
e2e tests / test-setup-prerelease-version (ubuntu-22.04) (push) Has been cancelled
e2e tests / test-setup-prerelease-version (windows-latest) (push) Has been cancelled
e2e tests / test-setup-prerelease-version-extended (macos-latest) (push) Has been cancelled
e2e tests / test-setup-prerelease-version-extended (ubuntu-latest) (push) Has been cancelled
e2e tests / test-setup-latest-patch-version (macos-13) (push) Has been cancelled
e2e tests / test-setup-latest-patch-version (ubuntu-22.04) (push) Has been cancelled
e2e tests / test-setup-latest-patch-version (windows-latest) (push) Has been cancelled
e2e tests / test-setup-latest-patch-version-extended (macos-latest) (push) Has been cancelled
e2e tests / test-setup-latest-patch-version-extended (ubuntu-latest) (push) Has been cancelled
e2e tests / test-ABCxx-syntax (macos-13) (push) Has been cancelled
e2e tests / test-ABCxx-syntax (macos-latest) (push) Has been cancelled
e2e tests / test-ABCxx-syntax (ubuntu-latest) (push) Has been cancelled
e2e tests / test-ABCxx-syntax (windows-latest) (push) Has been cancelled
e2e tests / test-setup-with-wildcard (macos-13) (push) Has been cancelled
e2e tests / test-setup-with-wildcard (ubuntu-22.04) (push) Has been cancelled
e2e tests / test-setup-with-wildcard (windows-latest) (push) Has been cancelled
e2e tests / test-setup-with-wildcard-extended (macos-latest) (push) Has been cancelled
e2e tests / test-setup-with-wildcard-extended (ubuntu-latest) (push) Has been cancelled
e2e tests / test-setup-global-json-specified-and-version (macos-13) (push) Has been cancelled
e2e tests / test-setup-global-json-specified-and-version (ubuntu-22.04) (push) Has been cancelled
e2e tests / test-setup-global-json-specified-and-version (windows-latest) (push) Has been cancelled
e2e tests / test-setup-global-json-specified-and-version-extended (macos-latest) (push) Has been cancelled
e2e tests / test-setup-global-json-specified-and-version-extended (ubuntu-latest) (push) Has been cancelled
e2e tests / test-setup-global-json-only (macos-13) (push) Has been cancelled
e2e tests / test-setup-global-json-only (ubuntu-22.04) (push) Has been cancelled
e2e tests / test-setup-global-json-only (windows-latest) (push) Has been cancelled
e2e tests / test-setup-global-json-only-extended (macos-latest) (push) Has been cancelled
e2e tests / test-setup-global-json-only-extended (ubuntu-latest) (push) Has been cancelled
e2e tests / test-global-json-with-comments (macos-13) (push) Has been cancelled
e2e tests / test-global-json-with-comments (ubuntu-22.04) (push) Has been cancelled
e2e tests / test-global-json-with-comments (windows-latest) (push) Has been cancelled
e2e tests / test-global-json-with-comments-extended (macos-latest) (push) Has been cancelled
e2e tests / test-global-json-with-comments-extended (ubuntu-latest) (push) Has been cancelled
e2e tests / test-setup-with-dotnet-quality (macos-13) (push) Has been cancelled
e2e tests / test-setup-with-dotnet-quality (macos-latest) (push) Has been cancelled
e2e tests / test-setup-with-dotnet-quality (ubuntu-latest) (push) Has been cancelled
e2e tests / test-setup-with-dotnet-quality (windows-latest) (push) Has been cancelled
e2e tests / test-setup-with-cache (macos-13) (push) Has been cancelled
e2e tests / test-setup-with-cache (ubuntu-22.04) (push) Has been cancelled
e2e tests / test-setup-with-cache (windows-latest) (push) Has been cancelled
e2e tests / test-setup-with-cache-extended (macos-latest) (push) Has been cancelled
e2e tests / test-setup-with-cache-extended (ubuntu-latest) (push) Has been cancelled
e2e tests / test-setup-with-cache-dependency-path (macos-13) (push) Has been cancelled
e2e tests / test-bypass-proxy-extended (push) Has been cancelled
e2e tests / test-setup-with-cache-dependency-path (ubuntu-22.04) (push) Has been cancelled
e2e tests / test-setup-with-cache-dependency-path (windows-latest) (push) Has been cancelled
e2e tests / test-setup-with-cache-dependency-path-extended (macos-latest) (push) Has been cancelled
e2e tests / test-setup-with-cache-dependency-path-extended (ubuntu-latest) (push) Has been cancelled
Validate dotnet / setup-version (2.2, ubuntu-22.04) (push) Has been cancelled
e2e tests / test-dotnet-version-output-during-single-version-installation (macos-13) (push) Has been cancelled
e2e tests / test-dotnet-version-output-during-single-version-installation (macos-latest) (push) Has been cancelled
e2e tests / test-dotnet-version-output-during-single-version-installation (ubuntu-latest) (push) Has been cancelled
e2e tests / test-dotnet-version-output-during-single-version-installation (windows-latest) (push) Has been cancelled
e2e tests / test-dotnet-version-output-during-multiple-version-installation (macos-13) (push) Has been cancelled
e2e tests / test-dotnet-version-output-during-multiple-version-installation (macos-latest) (push) Has been cancelled
e2e tests / test-dotnet-version-output-during-multiple-version-installation (ubuntu-latest) (push) Has been cancelled
e2e tests / test-dotnet-version-output-during-multiple-version-installation (windows-latest) (push) Has been cancelled
e2e tests / test-proxy (push) Has been cancelled
e2e tests / test-bypass-proxy (push) Has been cancelled
e2e tests / test-sequential-version-installation (7.0.203, 3.1.426, macos-13) (push) Has been cancelled
e2e tests / test-sequential-version-installation (7.0.203, 3.1.426, ubuntu-22.04) (push) Has been cancelled
e2e tests / test-sequential-version-installation (7.0.203, 3.1.426, windows-latest) (push) Has been cancelled
e2e tests / test-sequential-version-installation-extended (8.0.403, 6.0.425, macos-latest) (push) Has been cancelled
e2e tests / test-sequential-version-installation-extended (8.0.403, 6.0.425, ubuntu-latest) (push) Has been cancelled
Licensed / Licensed (push) Has been cancelled
Validate dotnet / setup-version (2.1, macos-13) (push) Has been cancelled
Validate dotnet / setup-version (2.1, ubuntu-22.04) (push) Has been cancelled
Validate dotnet / setup-version (2.1, windows-latest) (push) Has been cancelled
Validate dotnet / setup-version (2.2, macos-13) (push) Has been cancelled
Validate dotnet / setup-version (2.2, windows-latest) (push) Has been cancelled
Validate dotnet / setup-version (3.0, macos-13) (push) Has been cancelled
Validate dotnet / setup-version (3.0, ubuntu-22.04) (push) Has been cancelled
Validate dotnet / setup-version (3.0, windows-latest) (push) Has been cancelled
Validate dotnet / setup-version (3.1, macos-13) (push) Has been cancelled
Validate dotnet / setup-version (3.1, ubuntu-22.04) (push) Has been cancelled
Validate dotnet / setup-version (3.1, windows-latest) (push) Has been cancelled
Validate dotnet / setup-version (5.0, macos-13) (push) Has been cancelled
Validate dotnet / setup-version (5.0, ubuntu-22.04) (push) Has been cancelled
Validate dotnet / setup-version (5.0, windows-latest) (push) Has been cancelled
Validate dotnet / setup-version (6.0, macos-13) (push) Has been cancelled
Validate dotnet / setup-version (6.0, macos-latest) (push) Has been cancelled
Validate dotnet / setup-version (6.0, ubuntu-22.04) (push) Has been cancelled
Validate dotnet / setup-version (6.0, ubuntu-latest) (push) Has been cancelled
Validate dotnet / setup-version (6.0, windows-latest) (push) Has been cancelled
Validate dotnet / setup-version (7.0, macos-13) (push) Has been cancelled
Validate dotnet / setup-version (7.0, macos-latest) (push) Has been cancelled
Validate dotnet / setup-version (7.0, ubuntu-22.04) (push) Has been cancelled
Validate dotnet / setup-version (7.0, ubuntu-latest) (push) Has been cancelled
Validate dotnet / setup-version (7.0, windows-latest) (push) Has been cancelled
Validate dotnet / setup-version (8.0, macos-13) (push) Has been cancelled
Validate dotnet / setup-version (8.0, macos-latest) (push) Has been cancelled
Validate dotnet / setup-version (8.0, ubuntu-22.04) (push) Has been cancelled
Validate dotnet / setup-version (8.0, ubuntu-latest) (push) Has been cancelled
Validate dotnet / setup-version (8.0, windows-latest) (push) Has been cancelled
Update configuration files / Update configuration files (push) Has been cancelled
新建仓库
2025-05-10 18:32:50 +08:00

123 lines
4.4 KiB
TypeScript

import * as cache from '@actions/cache';
import * as exec from '@actions/exec';
import {getNuGetFolderPath, isCacheFeatureAvailable} from '../src/cache-utils';
jest.mock('@actions/cache');
jest.mock('@actions/core');
jest.mock('@actions/exec');
describe('cache-utils tests', () => {
describe('getNuGetFolderPath()', () => {
it.each([
[
`
http-cache: /home/codespace/.local/share/NuGet/v3-cache
global-packages: /var/nuget
temp: /tmp/NuGetScratch
plugins-cache: /home/codespace/.local/share/NuGet/plugins-cache
`,
{
'http-cache': '/home/codespace/.local/share/NuGet/v3-cache',
'global-packages': '/var/nuget',
temp: '/tmp/NuGetScratch',
'plugins-cache': '/home/codespace/.local/share/NuGet/plugins-cache'
}
],
[
`
http-cache: /home/codespace/.local/share/NuGet/v3-cache
global-packages: /var/nuget
temp: /tmp/NuGetScratch
plugins-cache: /home/codespace/.local/share/NuGet/plugins-cache
`,
{
'http-cache': '/home/codespace/.local/share/NuGet/v3-cache',
'global-packages': '/var/nuget',
temp: '/tmp/NuGetScratch',
'plugins-cache': '/home/codespace/.local/share/NuGet/plugins-cache'
}
],
[
`
http-cache: C:\\Users\\user\\AppData\\Local\\NuGet\\v3-cache
global-packages: C:\\Users\\user\\.nuget\\packages\\
temp: C:\\Users\\user\\AppData\\Local\\Temp\\NuGetScratch
plugins-cache: C:\\Users\\user\\AppData\\Local\\NuGet\\plugins-cache
`,
{
'http-cache': 'C:\\Users\\user\\AppData\\Local\\NuGet\\v3-cache',
'global-packages': 'C:\\Users\\user\\.nuget\\packages\\',
temp: 'C:\\Users\\user\\AppData\\Local\\Temp\\NuGetScratch',
'plugins-cache':
'C:\\Users\\user\\AppData\\Local\\NuGet\\plugins-cache'
}
],
[
`
http-cache: C:\\Users\\user\\AppData\\Local\\NuGet\\v3-cache
global-packages: C:\\Users\\user\\.nuget\\packages\\
temp: C:\\Users\\user\\AppData\\Local\\Temp\\NuGetScratch
plugins-cache: C:\\Users\\user\\AppData\\Local\\NuGet\\plugins-cache
`,
{
'http-cache': 'C:\\Users\\user\\AppData\\Local\\NuGet\\v3-cache',
'global-packages': 'C:\\Users\\user\\.nuget\\packages\\',
temp: 'C:\\Users\\user\\AppData\\Local\\Temp\\NuGetScratch',
'plugins-cache':
'C:\\Users\\user\\AppData\\Local\\NuGet\\plugins-cache'
}
]
])('(stdout: "%s") returns %p', async (stdout, expected) => {
jest
.mocked(exec.getExecOutput)
.mockResolvedValue({stdout, stderr: '', exitCode: 0});
const pathes = await getNuGetFolderPath();
expect(pathes).toStrictEqual(expected);
});
it.each([
`
error: An invalid local resource name was provided. Provide one of the following values: http-cache, temp, global-packages, all.
Usage: dotnet nuget locals [arguments] [options]
Arguments:
Cache Location(s) Specifies the cache location(s) to list or clear.
<all | http-cache | global-packages | temp>
Options:
-h|--help Show help information
--force-english-output Forces the application to run using an invariant, English-based culture.
-c|--clear Clear the selected local resources or cache location(s).
-l|--list List the selected local resources or cache location(s).
`,
'bash: dotnet: command not found',
''
])('(stderr: "%s", exitCode: 1) throws Error', async stderr => {
jest
.mocked(exec.getExecOutput)
.mockResolvedValue({stdout: '', stderr, exitCode: 1});
await expect(getNuGetFolderPath()).rejects.toThrow();
});
});
describe.each(['', 'https://github.com/', 'https://example.com/'])(
'isCacheFeatureAvailable()',
url => {
// Save & Restore env
let serverUrlEnv: string | undefined;
beforeAll(() => (serverUrlEnv = process.env['GITHUB_SERVER_URL']));
beforeEach(() => (process.env['GITHUB_SERVER_URL'] = url));
afterEach(() => (process.env['GITHUB_SERVER_URL'] = serverUrlEnv));
it('returns true when cache.isFeatureAvailable() === true', () => {
jest.mocked(cache.isFeatureAvailable).mockReturnValue(true);
expect(isCacheFeatureAvailable()).toBe(true);
});
it('returns false when cache.isFeatureAvailable() === false', () => {
jest.mocked(cache.isFeatureAvailable).mockReturnValue(false);
expect(isCacheFeatureAvailable()).toBe(false);
});
}
);
});