diff --git a/lib/codeql.test.js b/lib/codeql.test.js index b6b8abecc5..adefb1880e 100644 --- a/lib/codeql.test.js +++ b/lib/codeql.test.js @@ -46,14 +46,12 @@ const util_1 = require("./util"); const sampleApiDetails = { auth: "token", url: "https://github.com", - apiURL: undefined, - registriesAuthTokens: undefined, + apiURL: "https://api.github.com", }; const sampleGHAEApiDetails = { auth: "token", url: "https://example.githubenterprise.com", - apiURL: undefined, - registriesAuthTokens: undefined, + apiURL: "https://example.githubenterprise.com/api/v3", }; let stubConfig; ava_1.default.beforeEach(() => { @@ -83,7 +81,13 @@ ava_1.default.beforeEach(() => { trapCacheDownloadTime: 0, }; }); -async function mockApiAndSetupCodeQL({ apiDetails, bypassToolcache, isPinned, tmpDir, toolsInput, version, }) { +/** + * Mocks the API for downloading the bundle tagged `tagName`. + * + * @returns the download URL for the bundle. This can be passed to the tools parameter of + * `codeql.setupCodeQL`. + */ +async function mockDownloadApi({ apiDetails = sampleApiDetails, isPinned, tagName, }) { var _a; const platform = process.platform === "win32" ? "win64" @@ -92,97 +96,94 @@ async function mockApiAndSetupCodeQL({ apiDetails, bypassToolcache, isPinned, tm : "osx64"; const baseUrl = (_a = apiDetails === null || apiDetails === void 0 ? void 0 : apiDetails.url) !== null && _a !== void 0 ? _a : "https://example.com"; const relativeUrl = apiDetails - ? `/github/codeql-action/releases/download/${version}/codeql-bundle-${platform}.tar.gz` - : `/download/codeql-bundle-${version}/codeql-bundle.tar.gz`; + ? `/github/codeql-action/releases/download/${tagName}/codeql-bundle-${platform}.tar.gz` + : `/download/${tagName}/codeql-bundle.tar.gz`; (0, nock_1.default)(baseUrl) .get(relativeUrl) .replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle${isPinned ? "-pinned" : ""}.tar.gz`)); - return await codeql.setupCodeQL(toolsInput ? toolsInput.input : `${baseUrl}${relativeUrl}`, apiDetails !== null && apiDetails !== void 0 ? apiDetails : sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, !!bypassToolcache, (0, logging_1.getRunnerLogger)(true), false); + return `${baseUrl}${relativeUrl}`; } -(0, ava_1.default)("download codeql bundle cache", async (t) => { +async function installIntoToolcache({ apiDetails = sampleApiDetails, isPinned, tagName, tmpDir, }) { + const url = await mockDownloadApi({ apiDetails, isPinned, tagName }); + await codeql.setupCodeQL(url, apiDetails, tmpDir, util.GitHubVariant.DOTCOM, false, (0, logging_1.getRunnerLogger)(true), false); +} +(0, ava_1.default)("downloads and caches explicitly requested bundles that aren't in the toolcache", async (t) => { await util.withTmpDir(async (tmpDir) => { (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); const versions = ["20200601", "20200610"]; for (let i = 0; i < versions.length; i++) { const version = versions[i]; - const codeQLConfig = await mockApiAndSetupCodeQL({ version, tmpDir }); + const url = await mockDownloadApi({ + tagName: `codeql-bundle-${version}`, + isPinned: false, + }); + const result = await codeql.setupCodeQL(url, sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, false, (0, logging_1.getRunnerLogger)(true), false); t.assert(toolcache.find("CodeQL", `0.0.0-${version}`)); - t.deepEqual(codeQLConfig.toolsVersion, version); + t.is(result.toolsVersion, version); } t.is(toolcache.findAllVersions("CodeQL").length, 2); }); }); -(0, ava_1.default)("download codeql bundle cache explicitly requested with pinned different version cached", async (t) => { +(0, ava_1.default)("downloads an explicitly requested bundle even if a different version is cached", async (t) => { await util.withTmpDir(async (tmpDir) => { (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); - const pinnedCodeQLConfig = await mockApiAndSetupCodeQL({ - version: "20200601", + await installIntoToolcache({ + tagName: "codeql-bundle-20200601", isPinned: true, tmpDir, }); - t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); - t.deepEqual(pinnedCodeQLConfig.toolsVersion, "20200601"); - const unpinnedCodeQLConfig = await mockApiAndSetupCodeQL({ - version: "20200610", - tmpDir, + const url = await mockDownloadApi({ + tagName: "codeql-bundle-20200610", }); + const result = await codeql.setupCodeQL(url, sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, false, (0, logging_1.getRunnerLogger)(true), false); t.assert(toolcache.find("CodeQL", "0.0.0-20200610")); - t.deepEqual(unpinnedCodeQLConfig.toolsVersion, "20200610"); + t.deepEqual(result.toolsVersion, "20200610"); }); }); -(0, ava_1.default)("don't download codeql bundle cache with pinned different version cached", async (t) => { +(0, ava_1.default)("uses a cached bundle when no tools input is given", async (t) => { await util.withTmpDir(async (tmpDir) => { (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); - const pinnedCodeQLConfig = await mockApiAndSetupCodeQL({ - version: "20200601", + await installIntoToolcache({ + tagName: "codeql-bundle-20200601", isPinned: true, tmpDir, }); - t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); - t.deepEqual(pinnedCodeQLConfig.toolsVersion, "20200601"); - const codeQLConfig = await codeql.setupCodeQL(undefined, sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, false, (0, logging_1.getRunnerLogger)(true), false); - t.deepEqual(codeQLConfig.toolsVersion, "0.0.0-20200601"); + const result = await codeql.setupCodeQL(undefined, sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, false, (0, logging_1.getRunnerLogger)(true), false); + t.deepEqual(result.toolsVersion, "0.0.0-20200601"); const cachedVersions = toolcache.findAllVersions("CodeQL"); t.is(cachedVersions.length, 1); }); }); -(0, ava_1.default)("download codeql bundle cache with different version cached (not pinned)", async (t) => { +(0, ava_1.default)("downloads bundle if only an unpinned version is cached", async (t) => { await util.withTmpDir(async (tmpDir) => { (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); - const cachedCodeQLConfig = await mockApiAndSetupCodeQL({ - version: "20200601", + await installIntoToolcache({ + tagName: "codeql-bundle-20200601", + isPinned: false, tmpDir, }); - t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); - t.deepEqual(cachedCodeQLConfig.toolsVersion, "20200601"); - const codeQLConfig = await mockApiAndSetupCodeQL({ - version: defaults.bundleVersion, - tmpDir, - apiDetails: sampleApiDetails, - toolsInput: { input: undefined }, + await mockDownloadApi({ + tagName: defaults.bundleVersion, }); - t.deepEqual(codeQLConfig.toolsVersion, defaults.bundleVersion.replace("codeql-bundle-", "")); + const result = await codeql.setupCodeQL(undefined, sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, false, (0, logging_1.getRunnerLogger)(true), false); + t.deepEqual(result.toolsVersion, defaults.bundleVersion.replace("codeql-bundle-", "")); const cachedVersions = toolcache.findAllVersions("CodeQL"); t.is(cachedVersions.length, 2); }); }); -(0, ava_1.default)('download codeql bundle cache with pinned different version cached if "latest" tools specified', async (t) => { +(0, ava_1.default)('downloads bundle if "latest" tools specified but not cached', async (t) => { await util.withTmpDir(async (tmpDir) => { (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); - const pinnedCodeQLConfig = await mockApiAndSetupCodeQL({ - version: "20200601", + await installIntoToolcache({ + tagName: "codeql-bundle-20200601", isPinned: true, tmpDir, }); - t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); - t.deepEqual(pinnedCodeQLConfig.toolsVersion, "20200601"); - const latestCodeQLConfig = await mockApiAndSetupCodeQL({ - version: defaults.bundleVersion, - apiDetails: sampleApiDetails, - toolsInput: { input: "latest" }, - tmpDir, + await mockDownloadApi({ + tagName: defaults.bundleVersion, }); - t.deepEqual(latestCodeQLConfig.toolsVersion, defaults.bundleVersion.replace("codeql-bundle-", "")); + const result = await codeql.setupCodeQL("latest", sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, false, (0, logging_1.getRunnerLogger)(true), false); + t.deepEqual(result.toolsVersion, defaults.bundleVersion.replace("codeql-bundle-", "")); const cachedVersions = toolcache.findAllVersions("CodeQL"); t.is(cachedVersions.length, 2); }); @@ -200,20 +201,15 @@ for (const [isFeatureEnabled, toolsInput, shouldToolcacheBeBypassed,] of TOOLCAC (0, ava_1.default)(`download codeql bundle ${shouldToolcacheBeBypassed ? "bypasses" : "does not bypass"} toolcache when feature ${isFeatureEnabled ? "enabled" : "disabled"} and tools: ${toolsInput} passed`, async (t) => { await util.withTmpDir(async (tmpDir) => { (0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir); - await mockApiAndSetupCodeQL({ - version: "codeql-bundle-20200601", - apiDetails: sampleApiDetails, + await installIntoToolcache({ + tagName: "codeql-bundle-20200601", isPinned: true, tmpDir, }); - t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); - await mockApiAndSetupCodeQL({ - version: defaults.bundleVersion, - apiDetails: sampleApiDetails, - bypassToolcache: isFeatureEnabled, - toolsInput: { input: toolsInput }, - tmpDir, + await mockDownloadApi({ + tagName: defaults.bundleVersion, }); + await codeql.setupCodeQL(toolsInput, sampleApiDetails, tmpDir, util.GitHubVariant.DOTCOM, isFeatureEnabled, (0, logging_1.getRunnerLogger)(true), false); const cachedVersions = toolcache.findAllVersions("CodeQL"); t.is(cachedVersions.length, shouldToolcacheBeBypassed ? 2 : 1); }); @@ -242,6 +238,23 @@ for (const [isFeatureEnabled, toolsInput, shouldToolcacheBeBypassed,] of TOOLCAC (0, nock_1.default)("https://example.githubenterprise.com") .get(`/github/codeql-action/releases/download/${defaults.bundleVersion}/${codeQLBundleName}`) .replyWithFile(200, path.join(__dirname, `/../src/testdata/codeql-bundle-pinned.tar.gz`)); + // This is a workaround to mock `api.getApiDetails()` since it doesn't seem to be possible to + // mock this directly. The difficulty is that `getApiDetails()` is called locally in + // `api-client.ts`, but `sinon.stub(api, "getApiDetails")` only affects calls to + // `getApiDetails()` via an imported `api` module. + sinon + .stub(actionsUtil, "getRequiredInput") + .withArgs("token") + .returns(sampleGHAEApiDetails.auth); + const requiredEnvParamStub = sinon.stub(util, "getRequiredEnvParam"); + requiredEnvParamStub + .withArgs("GITHUB_SERVER_URL") + .returns(sampleGHAEApiDetails.url); + requiredEnvParamStub + .withArgs("GITHUB_API_URL") + .returns(sampleGHAEApiDetails.apiURL); + sinon.stub(actionsUtil, "isRunningLocalAction").returns(false); + process.env["GITHUB_ACTION_REPOSITORY"] = "github/codeql-action"; await codeql.setupCodeQL(undefined, sampleGHAEApiDetails, tmpDir, util.GitHubVariant.GHAE, false, (0, logging_1.getRunnerLogger)(true), false); const cachedVersions = toolcache.findAllVersions("CodeQL"); t.is(cachedVersions.length, 1); diff --git a/lib/codeql.test.js.map b/lib/codeql.test.js.map index f0678e453e..b41ed00e15 100644 --- a/lib/codeql.test.js.map +++ b/lib/codeql.test.js.map @@ -1 +1 @@ -{"version":3,"file":"codeql.test.js","sourceRoot":"","sources":["../src/codeql.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"codeql.test.js","sourceRoot":"","sources":["../src/codeql.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/testing-utils.js b/lib/testing-utils.js index ae0c6a27e6..0ba0231431 100644 --- a/lib/testing-utils.js +++ b/lib/testing-utils.js @@ -21,6 +21,7 @@ var __importStar = (this && this.__importStar) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); exports.createFeatures = exports.mockCodeQLVersion = exports.mockLanguagesInRepo = exports.mockFeatureFlagApiEndpoint = exports.getRecordingLogger = exports.setupActionsVars = exports.setupTests = void 0; const github = __importStar(require("@actions/github")); +const nock = __importStar(require("nock")); const sinon = __importStar(require("sinon")); const apiClient = __importStar(require("./api-client")); const CodeQL = __importStar(require("./codeql")); @@ -85,6 +86,8 @@ function setupTests(test) { if (!t.passed) { process.stdout.write(t.context.testOutput); } + // Undo any modifications made by nock + nock.cleanAll(); // Undo any modifications made by sinon sinon.restore(); // Undo any modifications to the env diff --git a/lib/testing-utils.js.map b/lib/testing-utils.js.map index 4ba747cfbe..e0c14dd270 100644 --- a/lib/testing-utils.js.map +++ b/lib/testing-utils.js.map @@ -1 +1 @@ -{"version":3,"file":"testing-utils.js","sourceRoot":"","sources":["../src/testing-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"testing-utils.js","sourceRoot":"","sources":["../src/testing-utils.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/codeql.test.ts b/src/codeql.test.ts index 4a42788bef..a78d9272a0 100644 --- a/src/codeql.test.ts +++ b/src/codeql.test.ts @@ -27,15 +27,13 @@ setupTests(test); const sampleApiDetails = { auth: "token", url: "https://github.com", - apiURL: undefined, - registriesAuthTokens: undefined, + apiURL: "https://api.github.com", }; const sampleGHAEApiDetails = { auth: "token", url: "https://example.githubenterprise.com", - apiURL: undefined, - registriesAuthTokens: undefined, + apiURL: "https://example.githubenterprise.com/api/v3", }; let stubConfig: Config; @@ -69,21 +67,21 @@ test.beforeEach(() => { }; }); -async function mockApiAndSetupCodeQL({ - apiDetails, - bypassToolcache, +/** + * Mocks the API for downloading the bundle tagged `tagName`. + * + * @returns the download URL for the bundle. This can be passed to the tools parameter of + * `codeql.setupCodeQL`. + */ +async function mockDownloadApi({ + apiDetails = sampleApiDetails, isPinned, - tmpDir, - toolsInput, - version, + tagName, }: { apiDetails?: GitHubApiDetails; - bypassToolcache?: boolean; isPinned?: boolean; - tmpDir: string; - toolsInput?: { input?: string }; - version: string; -}): Promise<{ codeql: codeql.CodeQL; toolsVersion: string }> { + tagName: string; +}): Promise { const platform = process.platform === "win32" ? "win64" @@ -93,8 +91,8 @@ async function mockApiAndSetupCodeQL({ const baseUrl = apiDetails?.url ?? "https://example.com"; const relativeUrl = apiDetails - ? `/github/codeql-action/releases/download/${version}/codeql-bundle-${platform}.tar.gz` - : `/download/codeql-bundle-${version}/codeql-bundle.tar.gz`; + ? `/github/codeql-action/releases/download/${tagName}/codeql-bundle-${platform}.tar.gz` + : `/download/${tagName}/codeql-bundle.tar.gz`; nock(baseUrl) .get(relativeUrl) @@ -106,18 +104,33 @@ async function mockApiAndSetupCodeQL({ ) ); - return await codeql.setupCodeQL( - toolsInput ? toolsInput.input : `${baseUrl}${relativeUrl}`, - apiDetails ?? sampleApiDetails, + return `${baseUrl}${relativeUrl}`; +} + +async function installIntoToolcache({ + apiDetails = sampleApiDetails, + isPinned, + tagName, + tmpDir, +}: { + apiDetails?: GitHubApiDetails; + isPinned: boolean; + tagName: string; + tmpDir: string; +}) { + const url = await mockDownloadApi({ apiDetails, isPinned, tagName }); + await codeql.setupCodeQL( + url, + apiDetails, tmpDir, util.GitHubVariant.DOTCOM, - !!bypassToolcache, + false, getRunnerLogger(true), false ); } -test("download codeql bundle cache", async (t) => { +test("downloads and caches explicitly requested bundles that aren't in the toolcache", async (t) => { await util.withTmpDir(async (tmpDir) => { setupActionsVars(tmpDir, tmpDir); @@ -126,50 +139,65 @@ test("download codeql bundle cache", async (t) => { for (let i = 0; i < versions.length; i++) { const version = versions[i]; - const codeQLConfig = await mockApiAndSetupCodeQL({ version, tmpDir }); + const url = await mockDownloadApi({ + tagName: `codeql-bundle-${version}`, + isPinned: false, + }); + const result = await codeql.setupCodeQL( + url, + sampleApiDetails, + tmpDir, + util.GitHubVariant.DOTCOM, + false, + getRunnerLogger(true), + false + ); t.assert(toolcache.find("CodeQL", `0.0.0-${version}`)); - t.deepEqual(codeQLConfig.toolsVersion, version); + t.is(result.toolsVersion, version); } t.is(toolcache.findAllVersions("CodeQL").length, 2); }); }); -test("download codeql bundle cache explicitly requested with pinned different version cached", async (t) => { +test("downloads an explicitly requested bundle even if a different version is cached", async (t) => { await util.withTmpDir(async (tmpDir) => { setupActionsVars(tmpDir, tmpDir); - const pinnedCodeQLConfig = await mockApiAndSetupCodeQL({ - version: "20200601", + await installIntoToolcache({ + tagName: "codeql-bundle-20200601", isPinned: true, tmpDir, }); - t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); - t.deepEqual(pinnedCodeQLConfig.toolsVersion, "20200601"); - const unpinnedCodeQLConfig = await mockApiAndSetupCodeQL({ - version: "20200610", - tmpDir, + const url = await mockDownloadApi({ + tagName: "codeql-bundle-20200610", }); + const result = await codeql.setupCodeQL( + url, + sampleApiDetails, + tmpDir, + util.GitHubVariant.DOTCOM, + false, + getRunnerLogger(true), + false + ); t.assert(toolcache.find("CodeQL", "0.0.0-20200610")); - t.deepEqual(unpinnedCodeQLConfig.toolsVersion, "20200610"); + t.deepEqual(result.toolsVersion, "20200610"); }); }); -test("don't download codeql bundle cache with pinned different version cached", async (t) => { +test("uses a cached bundle when no tools input is given", async (t) => { await util.withTmpDir(async (tmpDir) => { setupActionsVars(tmpDir, tmpDir); - const pinnedCodeQLConfig = await mockApiAndSetupCodeQL({ - version: "20200601", + await installIntoToolcache({ + tagName: "codeql-bundle-20200601", isPinned: true, tmpDir, }); - t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); - t.deepEqual(pinnedCodeQLConfig.toolsVersion, "20200601"); - - const codeQLConfig = await codeql.setupCodeQL( + const result = await codeql.setupCodeQL( undefined, sampleApiDetails, tmpDir, @@ -178,69 +206,73 @@ test("don't download codeql bundle cache with pinned different version cached", getRunnerLogger(true), false ); - t.deepEqual(codeQLConfig.toolsVersion, "0.0.0-20200601"); + t.deepEqual(result.toolsVersion, "0.0.0-20200601"); const cachedVersions = toolcache.findAllVersions("CodeQL"); - t.is(cachedVersions.length, 1); }); }); -test("download codeql bundle cache with different version cached (not pinned)", async (t) => { +test("downloads bundle if only an unpinned version is cached", async (t) => { await util.withTmpDir(async (tmpDir) => { setupActionsVars(tmpDir, tmpDir); - const cachedCodeQLConfig = await mockApiAndSetupCodeQL({ - version: "20200601", + await installIntoToolcache({ + tagName: "codeql-bundle-20200601", + isPinned: false, tmpDir, }); - t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); - t.deepEqual(cachedCodeQLConfig.toolsVersion, "20200601"); - - const codeQLConfig = await mockApiAndSetupCodeQL({ - version: defaults.bundleVersion, - tmpDir, - apiDetails: sampleApiDetails, - toolsInput: { input: undefined }, + await mockDownloadApi({ + tagName: defaults.bundleVersion, }); + const result = await codeql.setupCodeQL( + undefined, + sampleApiDetails, + tmpDir, + util.GitHubVariant.DOTCOM, + false, + getRunnerLogger(true), + false + ); t.deepEqual( - codeQLConfig.toolsVersion, + result.toolsVersion, defaults.bundleVersion.replace("codeql-bundle-", "") ); const cachedVersions = toolcache.findAllVersions("CodeQL"); - t.is(cachedVersions.length, 2); }); }); -test('download codeql bundle cache with pinned different version cached if "latest" tools specified', async (t) => { +test('downloads bundle if "latest" tools specified but not cached', async (t) => { await util.withTmpDir(async (tmpDir) => { setupActionsVars(tmpDir, tmpDir); - const pinnedCodeQLConfig = await mockApiAndSetupCodeQL({ - version: "20200601", + await installIntoToolcache({ + tagName: "codeql-bundle-20200601", isPinned: true, tmpDir, }); - t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); - t.deepEqual(pinnedCodeQLConfig.toolsVersion, "20200601"); - - const latestCodeQLConfig = await mockApiAndSetupCodeQL({ - version: defaults.bundleVersion, - apiDetails: sampleApiDetails, - toolsInput: { input: "latest" }, - tmpDir, + await mockDownloadApi({ + tagName: defaults.bundleVersion, }); + const result = await codeql.setupCodeQL( + "latest", + sampleApiDetails, + tmpDir, + util.GitHubVariant.DOTCOM, + false, + getRunnerLogger(true), + false + ); t.deepEqual( - latestCodeQLConfig.toolsVersion, + result.toolsVersion, defaults.bundleVersion.replace("codeql-bundle-", "") ); const cachedVersions = toolcache.findAllVersions("CodeQL"); - t.is(cachedVersions.length, 2); }); }); @@ -270,25 +302,26 @@ for (const [ await util.withTmpDir(async (tmpDir) => { setupActionsVars(tmpDir, tmpDir); - await mockApiAndSetupCodeQL({ - version: "codeql-bundle-20200601", - apiDetails: sampleApiDetails, + await installIntoToolcache({ + tagName: "codeql-bundle-20200601", isPinned: true, tmpDir, }); - t.assert(toolcache.find("CodeQL", "0.0.0-20200601")); - - await mockApiAndSetupCodeQL({ - version: defaults.bundleVersion, - apiDetails: sampleApiDetails, - bypassToolcache: isFeatureEnabled, - toolsInput: { input: toolsInput }, - tmpDir, + await mockDownloadApi({ + tagName: defaults.bundleVersion, }); + await codeql.setupCodeQL( + toolsInput, + sampleApiDetails, + tmpDir, + util.GitHubVariant.DOTCOM, + isFeatureEnabled, + getRunnerLogger(true), + false + ); const cachedVersions = toolcache.findAllVersions("CodeQL"); - t.is(cachedVersions.length, shouldToolcacheBeBypassed ? 2 : 1); }); }); @@ -333,6 +366,25 @@ test("download codeql bundle from github ae endpoint", async (t) => { path.join(__dirname, `/../src/testdata/codeql-bundle-pinned.tar.gz`) ); + // This is a workaround to mock `api.getApiDetails()` since it doesn't seem to be possible to + // mock this directly. The difficulty is that `getApiDetails()` is called locally in + // `api-client.ts`, but `sinon.stub(api, "getApiDetails")` only affects calls to + // `getApiDetails()` via an imported `api` module. + sinon + .stub(actionsUtil, "getRequiredInput") + .withArgs("token") + .returns(sampleGHAEApiDetails.auth); + const requiredEnvParamStub = sinon.stub(util, "getRequiredEnvParam"); + requiredEnvParamStub + .withArgs("GITHUB_SERVER_URL") + .returns(sampleGHAEApiDetails.url); + requiredEnvParamStub + .withArgs("GITHUB_API_URL") + .returns(sampleGHAEApiDetails.apiURL); + + sinon.stub(actionsUtil, "isRunningLocalAction").returns(false); + process.env["GITHUB_ACTION_REPOSITORY"] = "github/codeql-action"; + await codeql.setupCodeQL( undefined, sampleGHAEApiDetails, diff --git a/src/testing-utils.ts b/src/testing-utils.ts index 0712b7c6f6..8aea3e13b8 100644 --- a/src/testing-utils.ts +++ b/src/testing-utils.ts @@ -1,5 +1,6 @@ import * as github from "@actions/github"; import { TestFn } from "ava"; +import * as nock from "nock"; import * as sinon from "sinon"; import * as apiClient from "./api-client"; @@ -90,6 +91,9 @@ export function setupTests(test: TestFn) { process.stdout.write(t.context.testOutput); } + // Undo any modifications made by nock + nock.cleanAll(); + // Undo any modifications made by sinon sinon.restore();