Files
vscode-codeql/extensions/ql-vscode/test/vscode-tests/cli-integration/variant-analysis/code-scanning-pack.test.ts

35 lines
1.3 KiB
TypeScript

import type { CodeQLCliServer } from "../../../../src/codeql-cli/cli";
import type { App } from "../../../../src/common/app";
import { QueryLanguage } from "../../../../src/common/query-language";
import { ExtensionApp } from "../../../../src/common/vscode/vscode-app";
import { resolveCodeScanningQueryPack } from "../../../../src/variant-analysis/code-scanning-pack";
import { getActivatedExtension } from "../../global.helper";
describe("Code Scanning pack", () => {
let cli: CodeQLCliServer;
let app: App;
beforeEach(async () => {
const extension = await getActivatedExtension();
cli = extension.cliServer;
app = new ExtensionApp(extension.ctx);
});
it("should download pack for correct language and identify problem queries", async () => {
const pack = await resolveCodeScanningQueryPack(
app.logger,
cli,
QueryLanguage.Javascript,
);
// Should include queries. Just check that at least one known query exists.
// It doesn't particularly matter which query we check for.
expect(
pack.queryFiles.some((q) => q.includes("PostMessageStar.ql")),
).toBeTruthy();
// Should not include non-problem queries.
expect(
pack.queryFiles.some((q) => q.includes("LinesOfCode.ql")),
).toBeFalsy();
});
});