mirror of
https://github.com/github/codeql-action.git
synced 2025-12-14 19:39:10 +08:00
This PR ensures environment variables are set before any invocation of the CLI. Here is a list of vars that are set: https://github.com/github/codeql-coreql-team/issues/1124#issuecomment-852463521 This ensures the CLI knows the features and versions of the containing actions/runner. Additionally: - Fix the user agent so that it more closely aligns with user agent spec - Refactor environment variable initialization so that it all happens in one place and call. - Move Mode, getRequiredEnvParam, setMode, getMode out of actions-util and into util. actions-util is meant for utils only called by the action, not the runner. The `prepareLocalRunEnvironment()` method is most likely deprecated and should be removed. I originally added it because I had a way of working where I would run the action from my local machine to test out changes, but this was always a little flaky. So, I no longer use this way of working. I will probably remove it soon.
76 lines
2.6 KiB
JavaScript
Generated
76 lines
2.6 KiB
JavaScript
Generated
"use strict";
|
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
if (mod && mod.__esModule) return mod;
|
|
var result = {};
|
|
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
result["default"] = mod;
|
|
return result;
|
|
};
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const githubUtils = __importStar(require("@actions/github/lib/utils"));
|
|
const ava_1 = __importDefault(require("ava"));
|
|
const sinon_1 = __importDefault(require("sinon"));
|
|
const api_client_1 = require("./api-client");
|
|
const testing_utils_1 = require("./testing-utils");
|
|
const util_1 = require("./util");
|
|
// eslint-disable-next-line import/no-commonjs
|
|
const pkg = require("../package.json");
|
|
testing_utils_1.setupTests(ava_1.default);
|
|
let githubStub;
|
|
ava_1.default.beforeEach(() => {
|
|
githubStub = sinon_1.default.stub(githubUtils, "GitHub");
|
|
util_1.initializeEnvironment(util_1.Mode.actions, pkg.version);
|
|
});
|
|
ava_1.default("Get the client API", async (t) => {
|
|
doTest(t, {
|
|
auth: "xyz",
|
|
externalRepoAuth: "abc",
|
|
url: "http://hucairz",
|
|
}, undefined, {
|
|
auth: "token xyz",
|
|
baseUrl: "http://hucairz/api/v3",
|
|
userAgent: `CodeQL-Action/${pkg.version}`,
|
|
});
|
|
});
|
|
ava_1.default("Get the client API external", async (t) => {
|
|
doTest(t, {
|
|
auth: "xyz",
|
|
externalRepoAuth: "abc",
|
|
url: "http://hucairz",
|
|
}, { allowExternal: true }, {
|
|
auth: "token abc",
|
|
baseUrl: "http://hucairz/api/v3",
|
|
userAgent: `CodeQL-Action/${pkg.version}`,
|
|
});
|
|
});
|
|
ava_1.default("Get the client API external not present", async (t) => {
|
|
doTest(t, {
|
|
auth: "xyz",
|
|
url: "http://hucairz",
|
|
}, { allowExternal: true }, {
|
|
auth: "token xyz",
|
|
baseUrl: "http://hucairz/api/v3",
|
|
userAgent: `CodeQL-Action/${pkg.version}`,
|
|
});
|
|
});
|
|
ava_1.default("Get the client API with github url", async (t) => {
|
|
doTest(t, {
|
|
auth: "xyz",
|
|
url: "https://github.com/some/invalid/url",
|
|
}, undefined, {
|
|
auth: "token xyz",
|
|
baseUrl: "https://api.github.com",
|
|
userAgent: `CodeQL-Action/${pkg.version}`,
|
|
});
|
|
});
|
|
function doTest(t, clientArgs, clientOptions, expected) {
|
|
api_client_1.getApiClient(clientArgs, clientOptions);
|
|
const firstCallArgs = githubStub.args[0];
|
|
// log is a function, so we don't need to test for equality of it
|
|
delete firstCallArgs[0].log;
|
|
t.deepEqual(firstCallArgs, [expected]);
|
|
}
|
|
//# sourceMappingURL=api-client.test.js.map
|