Skip to content

Commit 4e967d8

Browse files
committed
Fix tests when there are no bundled queries
1 parent 15c3805 commit 4e967d8

3 files changed

Lines changed: 13 additions & 16 deletions

File tree

extensions/ql-vscode/src/model-editor/supported-languages.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import type { ModelConfig } from "../config";
55
* Languages that are always supported by the model editor. These languages
66
* do not require a separate config setting to enable them.
77
*/
8-
const SUPPORTED_LANGUAGES: QueryLanguage[] = [
8+
export const SUPPORTED_LANGUAGES: QueryLanguage[] = [
99
QueryLanguage.Java,
1010
QueryLanguage.CSharp,
1111
];

extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/external-api-usage-query.test.ts

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,20 @@ import type { DatabaseItem } from "../../../../src/databases/local-databases";
77
import { DatabaseKind } from "../../../../src/databases/local-databases";
88
import { dirSync, file } from "tmp-promise";
99
import { QueryResultType } from "../../../../src/query-server/messages";
10-
import { fetchExternalApiQueries } from "../../../../src/model-editor/queries";
1110
import * as log from "../../../../src/common/logging/notifications";
1211
import { RedactableError } from "../../../../src/common/errors";
1312
import type { showAndLogExceptionWithTelemetry } from "../../../../src/common/logging";
14-
import type { QueryLanguage } from "../../../../src/common/query-language";
1513
import { mockedObject, mockedUri } from "../../utils/mocking.helpers";
1614
import { Mode } from "../../../../src/model-editor/shared/mode";
1715
import { join } from "path";
1816
import type { CodeQLCliServer } from "../../../../src/codeql-cli/cli";
1917
import type { QueryRunner } from "../../../../src/query-server";
2018
import { QueryOutputDir } from "../../../../src/local-queries/query-output-dir";
19+
import { SUPPORTED_LANGUAGES } from "../../../../src/model-editor/supported-languages";
2120

2221
describe("runModelEditorQueries", () => {
23-
const language = Object.keys(fetchExternalApiQueries)[
24-
Math.floor(Math.random() * Object.keys(fetchExternalApiQueries).length)
25-
] as QueryLanguage;
22+
const language =
23+
SUPPORTED_LANGUAGES[Math.floor(Math.random() * SUPPORTED_LANGUAGES.length)];
2624

2725
const queryDir = dirSync({ unsafeCleanup: true }).name;
2826

@@ -33,11 +31,6 @@ describe("runModelEditorQueries", () => {
3331

3432
const outputDir = new QueryOutputDir(join((await file()).path, "1"));
3533

36-
const query = fetchExternalApiQueries[language];
37-
if (!query) {
38-
throw new Error(`No query found for language ${language}`);
39-
}
40-
4134
const options = {
4235
cliServer: mockedObject<CodeQLCliServer>({
4336
resolveQlpacks: jest.fn().mockResolvedValue({
@@ -96,11 +89,6 @@ describe("runModelEditorQueries", () => {
9689
it("should run query for random language", async () => {
9790
const outputDir = new QueryOutputDir(join((await file()).path, "1"));
9891

99-
const query = fetchExternalApiQueries[language];
100-
if (!query) {
101-
throw new Error(`No query found for language ${language}`);
102-
}
103-
10492
const options = {
10593
cliServer: mockedObject<CodeQLCliServer>({
10694
resolveQlpacks: jest.fn().mockResolvedValue({

extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/model-editor-queries.test.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,15 @@ describe("setUpPack", () => {
2727
return { language: lang as QueryLanguage, query };
2828
});
2929

30+
if (languages.length === 0) {
31+
// If we currently don't have any bundled queries, skip this test, but ensure there's still at least one test.
32+
test("should not have any bundled queries", () => {
33+
expect(languages).toHaveLength(0);
34+
});
35+
36+
return;
37+
}
38+
3039
describe.each(languages)("for language $language", ({ language, query }) => {
3140
test("should create the files when not found", async () => {
3241
const cliServer = mockedObject<CodeQLCliServer>({

0 commit comments

Comments
 (0)