From 818e93e86bf861744056471c4bddf04df0c98e07 Mon Sep 17 00:00:00 2001 From: Koen Vlaswinkel Date: Thu, 26 Oct 2023 11:39:06 +0200 Subject: [PATCH 1/8] Rename prepareExternalApiQuery to prepareModelEditorQueries --- .../ql-vscode/src/model-editor/external-api-usage-queries.ts | 2 +- extensions/ql-vscode/src/model-editor/model-editor-queries.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts b/extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts index 7d5b0575257..242c1375559 100644 --- a/extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts +++ b/extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts @@ -32,7 +32,7 @@ type RunQueryOptions = { token: CancellationToken; }; -export async function prepareExternalApiQuery( +export async function prepareModelEditorQueries( queryDir: string, language: QueryLanguage, ): Promise { diff --git a/extensions/ql-vscode/src/model-editor/model-editor-queries.ts b/extensions/ql-vscode/src/model-editor/model-editor-queries.ts index 7fc0e756299..0027d29d10b 100644 --- a/extensions/ql-vscode/src/model-editor/model-editor-queries.ts +++ b/extensions/ql-vscode/src/model-editor/model-editor-queries.ts @@ -2,7 +2,7 @@ import { join } from "path"; import { QueryLanguage } from "../common/query-language"; import { writeFile } from "fs-extra"; import { dump } from "js-yaml"; -import { prepareExternalApiQuery } from "./external-api-usage-queries"; +import { prepareModelEditorQueries } from "./external-api-usage-queries"; import { CodeQLCliServer } from "../codeql-cli/cli"; import { ModelConfig } from "../config"; import { Mode } from "./shared/mode"; @@ -63,7 +63,7 @@ export async function setUpPack( await writeFile(qlpackFile, dump(syntheticQueryPack), "utf8"); } else { // If we can't resolve the query, we need to write them to desk ourselves. - const externalApiQuerySuccess = await prepareExternalApiQuery( + const externalApiQuerySuccess = await prepareModelEditorQueries( queryDir, language, ); From e70bceb6dd83cf4af6d1ac3ce8f4d02386d1dcee Mon Sep 17 00:00:00 2001 From: Koen Vlaswinkel Date: Thu, 26 Oct 2023 11:40:21 +0200 Subject: [PATCH 2/8] Rename runExternalApiQueries to runModelEditorQueries --- .../src/model-editor/external-api-usage-queries.ts | 2 +- .../ql-vscode/src/model-editor/model-editor-view.ts | 4 ++-- .../model-editor/external-api-usage-query.test.ts | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts b/extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts index 242c1375559..aa2069a051a 100644 --- a/extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts +++ b/extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts @@ -64,7 +64,7 @@ export async function prepareModelEditorQueries( export const externalApiQueriesProgressMaxStep = 2000; -export async function runExternalApiQueries( +export async function runModelEditorQueries( mode: Mode, { cliServer, diff --git a/extensions/ql-vscode/src/model-editor/model-editor-view.ts b/extensions/ql-vscode/src/model-editor/model-editor-view.ts index cb5d5a40d48..1ebd5baa497 100644 --- a/extensions/ql-vscode/src/model-editor/model-editor-view.ts +++ b/extensions/ql-vscode/src/model-editor/model-editor-view.ts @@ -29,7 +29,7 @@ import { App } from "../common/app"; import { redactableError } from "../common/errors"; import { externalApiQueriesProgressMaxStep, - runExternalApiQueries, + runModelEditorQueries, } from "./external-api-usage-queries"; import { Method } from "./method"; import { ModeledMethod } from "./modeled-method"; @@ -411,7 +411,7 @@ export class ModelEditorView extends AbstractWebview< try { const cancellationTokenSource = new CancellationTokenSource(); - const queryResult = await runExternalApiQueries(mode, { + const queryResult = await runModelEditorQueries(mode, { cliServer: this.cliServer, queryRunner: this.queryRunner, databaseItem: this.databaseItem, diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/external-api-usage-query.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/external-api-usage-query.test.ts index 5641474f2a6..aab3a3da10e 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/external-api-usage-query.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/external-api-usage-query.test.ts @@ -1,6 +1,6 @@ import { readQueryResults, - runExternalApiQueries, + runModelEditorQueries, } from "../../../../src/model-editor/external-api-usage-queries"; import { createMockLogger } from "../../../__mocks__/loggerMock"; import { @@ -22,7 +22,7 @@ import { QueryRunner } from "../../../../src/query-server"; import { QueryOutputDir } from "../../../../src/run-queries-shared"; describe("external api usage query", () => { - describe("runQuery", () => { + describe("runModelEditorQueries", () => { const language = Object.keys(fetchExternalApiQueries)[ Math.floor(Math.random() * Object.keys(fetchExternalApiQueries).length) ] as QueryLanguage; @@ -85,7 +85,7 @@ describe("external api usage query", () => { }; expect( - await runExternalApiQueries(Mode.Application, options), + await runModelEditorQueries(Mode.Application, options), ).toBeUndefined(); expect(showAndLogExceptionWithTelemetrySpy).toHaveBeenCalledWith( expect.anything(), @@ -149,7 +149,7 @@ describe("external api usage query", () => { }, }; - const result = await runExternalApiQueries(Mode.Framework, options); + const result = await runModelEditorQueries(Mode.Framework, options); expect(result).not.toBeUndefined; From c548aa0ff964c4a8a8d8236498e11cffc2249159 Mon Sep 17 00:00:00 2001 From: Koen Vlaswinkel Date: Thu, 26 Oct 2023 11:40:58 +0200 Subject: [PATCH 3/8] Remove unnecessary nesting in external-api-usage-query.test.ts --- .../external-api-usage-query.test.ts | 464 +++++++++--------- 1 file changed, 231 insertions(+), 233 deletions(-) diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/external-api-usage-query.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/external-api-usage-query.test.ts index aab3a3da10e..3631358a988 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/external-api-usage-query.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/external-api-usage-query.test.ts @@ -21,274 +21,272 @@ import { CodeQLCliServer } from "../../../../src/codeql-cli/cli"; import { QueryRunner } from "../../../../src/query-server"; import { QueryOutputDir } from "../../../../src/run-queries-shared"; -describe("external api usage query", () => { - describe("runModelEditorQueries", () => { - const language = Object.keys(fetchExternalApiQueries)[ - Math.floor(Math.random() * Object.keys(fetchExternalApiQueries).length) - ] as QueryLanguage; +describe("runModelEditorQueries", () => { + const language = Object.keys(fetchExternalApiQueries)[ + Math.floor(Math.random() * Object.keys(fetchExternalApiQueries).length) + ] as QueryLanguage; - const queryDir = dirSync({ unsafeCleanup: true }).name; + const queryDir = dirSync({ unsafeCleanup: true }).name; - it("should log an error", async () => { - const showAndLogExceptionWithTelemetrySpy: jest.SpiedFunction< - typeof showAndLogExceptionWithTelemetry - > = jest.spyOn(log, "showAndLogExceptionWithTelemetry"); + it("should log an error", async () => { + const showAndLogExceptionWithTelemetrySpy: jest.SpiedFunction< + typeof showAndLogExceptionWithTelemetry + > = jest.spyOn(log, "showAndLogExceptionWithTelemetry"); - const outputDir = new QueryOutputDir(join((await file()).path, "1")); + const outputDir = new QueryOutputDir(join((await file()).path, "1")); - const query = fetchExternalApiQueries[language]; - if (!query) { - throw new Error(`No query found for language ${language}`); - } + const query = fetchExternalApiQueries[language]; + if (!query) { + throw new Error(`No query found for language ${language}`); + } - const options = { - cliServer: mockedObject({ - resolveQlpacks: jest.fn().mockResolvedValue({ - "my/extensions": "/a/b/c/", - }), - resolveQueriesInSuite: jest - .fn() - .mockResolvedValue(["/a/b/c/ApplicationModeEndpoints.ql"]), - packPacklist: jest - .fn() - .mockResolvedValue([ - "/a/b/c/qlpack.yml", - "/a/b/c/qlpack.lock.yml", - "/a/b/c/qlpack2.yml", - ]), + const options = { + cliServer: mockedObject({ + resolveQlpacks: jest.fn().mockResolvedValue({ + "my/extensions": "/a/b/c/", }), - queryRunner: mockedObject({ - createQueryRun: jest.fn().mockReturnValue({ - evaluate: jest.fn().mockResolvedValue({ - resultType: QueryResultType.CANCELLATION, - }), - outputDir, + resolveQueriesInSuite: jest + .fn() + .mockResolvedValue(["/a/b/c/ApplicationModeEndpoints.ql"]), + packPacklist: jest + .fn() + .mockResolvedValue([ + "/a/b/c/qlpack.yml", + "/a/b/c/qlpack.lock.yml", + "/a/b/c/qlpack2.yml", + ]), + }), + queryRunner: mockedObject({ + createQueryRun: jest.fn().mockReturnValue({ + evaluate: jest.fn().mockResolvedValue({ + resultType: QueryResultType.CANCELLATION, }), - logger: createMockLogger(), + outputDir, }), - databaseItem: mockedObject({ - databaseUri: mockedUri("/a/b/c/src.zip"), - contents: { - kind: DatabaseKind.Database, - name: "foo", - datasetUri: mockedUri(), - }, - language, - }), - queryStorageDir: "/tmp/queries", - queryDir, - progress: jest.fn(), - token: { - isCancellationRequested: false, - onCancellationRequested: jest.fn(), + logger: createMockLogger(), + }), + databaseItem: mockedObject({ + databaseUri: mockedUri("/a/b/c/src.zip"), + contents: { + kind: DatabaseKind.Database, + name: "foo", + datasetUri: mockedUri(), }, - }; + language, + }), + queryStorageDir: "/tmp/queries", + queryDir, + progress: jest.fn(), + token: { + isCancellationRequested: false, + onCancellationRequested: jest.fn(), + }, + }; - expect( - await runModelEditorQueries(Mode.Application, options), - ).toBeUndefined(); - expect(showAndLogExceptionWithTelemetrySpy).toHaveBeenCalledWith( - expect.anything(), - undefined, - expect.any(RedactableError), - ); - }); + expect( + await runModelEditorQueries(Mode.Application, options), + ).toBeUndefined(); + expect(showAndLogExceptionWithTelemetrySpy).toHaveBeenCalledWith( + expect.anything(), + undefined, + expect.any(RedactableError), + ); + }); - it("should run query for random language", async () => { - const outputDir = new QueryOutputDir(join((await file()).path, "1")); + it("should run query for random language", async () => { + const outputDir = new QueryOutputDir(join((await file()).path, "1")); - const query = fetchExternalApiQueries[language]; - if (!query) { - throw new Error(`No query found for language ${language}`); - } + const query = fetchExternalApiQueries[language]; + if (!query) { + throw new Error(`No query found for language ${language}`); + } - const options = { - cliServer: mockedObject({ - resolveQlpacks: jest.fn().mockResolvedValue({ - "my/extensions": "/a/b/c/", - }), - resolveQueriesInSuite: jest - .fn() - .mockResolvedValue(["/a/b/c/ApplicationModeEndpoints.ql"]), - packPacklist: jest - .fn() - .mockResolvedValue([ - "/a/b/c/qlpack.yml", - "/a/b/c/qlpack.lock.yml", - "/a/b/c/qlpack2.yml", - ]), - bqrsInfo: jest.fn().mockResolvedValue({ - "result-sets": [], - }), + const options = { + cliServer: mockedObject({ + resolveQlpacks: jest.fn().mockResolvedValue({ + "my/extensions": "/a/b/c/", + }), + resolveQueriesInSuite: jest + .fn() + .mockResolvedValue(["/a/b/c/ApplicationModeEndpoints.ql"]), + packPacklist: jest + .fn() + .mockResolvedValue([ + "/a/b/c/qlpack.yml", + "/a/b/c/qlpack.lock.yml", + "/a/b/c/qlpack2.yml", + ]), + bqrsInfo: jest.fn().mockResolvedValue({ + "result-sets": [], }), - queryRunner: mockedObject({ - createQueryRun: jest.fn().mockReturnValue({ - evaluate: jest.fn().mockResolvedValue({ - resultType: QueryResultType.SUCCESS, - outputDir, - }), + }), + queryRunner: mockedObject({ + createQueryRun: jest.fn().mockReturnValue({ + evaluate: jest.fn().mockResolvedValue({ + resultType: QueryResultType.SUCCESS, outputDir, }), - logger: createMockLogger(), + outputDir, }), - databaseItem: mockedObject({ - databaseUri: mockedUri("/a/b/c/src.zip"), - contents: { - kind: DatabaseKind.Database, - name: "foo", - datasetUri: mockedUri(), - }, - language, - }), - queryStorageDir: "/tmp/queries", - queryDir, - progress: jest.fn(), - token: { - isCancellationRequested: false, - onCancellationRequested: jest.fn(), + logger: createMockLogger(), + }), + databaseItem: mockedObject({ + databaseUri: mockedUri("/a/b/c/src.zip"), + contents: { + kind: DatabaseKind.Database, + name: "foo", + datasetUri: mockedUri(), }, - }; + language, + }), + queryStorageDir: "/tmp/queries", + queryDir, + progress: jest.fn(), + token: { + isCancellationRequested: false, + onCancellationRequested: jest.fn(), + }, + }; - const result = await runModelEditorQueries(Mode.Framework, options); + const result = await runModelEditorQueries(Mode.Framework, options); - expect(result).not.toBeUndefined; + expect(result).not.toBeUndefined; - expect(options.cliServer.resolveQlpacks).toHaveBeenCalledTimes(1); - expect(options.cliServer.resolveQlpacks).toHaveBeenCalledWith([], true); - expect(options.queryRunner.createQueryRun).toHaveBeenCalledWith( - "/a/b/c/src.zip", - { - queryPath: expect.stringMatching(/\S*ModeEndpoints\.ql/), - quickEvalPosition: undefined, - quickEvalCountOnly: false, - }, - false, - [], - ["my/extensions"], - {}, - "/tmp/queries", - undefined, - undefined, - ); - }); + expect(options.cliServer.resolveQlpacks).toHaveBeenCalledTimes(1); + expect(options.cliServer.resolveQlpacks).toHaveBeenCalledWith([], true); + expect(options.queryRunner.createQueryRun).toHaveBeenCalledWith( + "/a/b/c/src.zip", + { + queryPath: expect.stringMatching(/\S*ModeEndpoints\.ql/), + quickEvalPosition: undefined, + quickEvalCountOnly: false, + }, + false, + [], + ["my/extensions"], + {}, + "/tmp/queries", + undefined, + undefined, + ); }); +}); - describe("readQueryResults", () => { - const options = { - cliServer: { - bqrsInfo: jest.fn(), - bqrsDecode: jest.fn(), - }, - bqrsPath: "/tmp/results.bqrs", - }; +describe("readQueryResults", () => { + const options = { + cliServer: { + bqrsInfo: jest.fn(), + bqrsDecode: jest.fn(), + }, + bqrsPath: "/tmp/results.bqrs", + }; - let showAndLogExceptionWithTelemetrySpy: jest.SpiedFunction< - typeof showAndLogExceptionWithTelemetry - >; + let showAndLogExceptionWithTelemetrySpy: jest.SpiedFunction< + typeof showAndLogExceptionWithTelemetry + >; - beforeEach(() => { - showAndLogExceptionWithTelemetrySpy = jest.spyOn( - log, - "showAndLogExceptionWithTelemetry", - ); + beforeEach(() => { + showAndLogExceptionWithTelemetrySpy = jest.spyOn( + log, + "showAndLogExceptionWithTelemetry", + ); + }); + + it("returns undefined when there are no results", async () => { + options.cliServer.bqrsInfo.mockResolvedValue({ + "result-sets": [], }); - it("returns undefined when there are no results", async () => { - options.cliServer.bqrsInfo.mockResolvedValue({ - "result-sets": [], - }); + expect(await readQueryResults(options)).toBeUndefined(); + expect(showAndLogExceptionWithTelemetrySpy).toHaveBeenCalledWith( + expect.anything(), + undefined, + expect.any(RedactableError), + ); + }); - expect(await readQueryResults(options)).toBeUndefined(); - expect(showAndLogExceptionWithTelemetrySpy).toHaveBeenCalledWith( - expect.anything(), - undefined, - expect.any(RedactableError), - ); + it("returns undefined when there are multiple result sets", async () => { + options.cliServer.bqrsInfo.mockResolvedValue({ + "result-sets": [ + { + name: "#select", + rows: 10, + columns: [ + { name: "usage", kind: "e" }, + { name: "apiName", kind: "s" }, + { kind: "s" }, + { kind: "s" }, + ], + }, + { + name: "#select2", + rows: 10, + columns: [ + { name: "usage", kind: "e" }, + { name: "apiName", kind: "s" }, + { kind: "s" }, + { kind: "s" }, + ], + }, + ], }); - it("returns undefined when there are multiple result sets", async () => { - options.cliServer.bqrsInfo.mockResolvedValue({ - "result-sets": [ - { - name: "#select", - rows: 10, - columns: [ - { name: "usage", kind: "e" }, - { name: "apiName", kind: "s" }, - { kind: "s" }, - { kind: "s" }, - ], - }, - { - name: "#select2", - rows: 10, - columns: [ - { name: "usage", kind: "e" }, - { name: "apiName", kind: "s" }, - { kind: "s" }, - { kind: "s" }, - ], - }, - ], - }); + expect(await readQueryResults(options)).toBeUndefined(); + expect(showAndLogExceptionWithTelemetrySpy).toHaveBeenCalledWith( + expect.anything(), + undefined, + expect.any(RedactableError), + ); + }); - expect(await readQueryResults(options)).toBeUndefined(); - expect(showAndLogExceptionWithTelemetrySpy).toHaveBeenCalledWith( - expect.anything(), - undefined, - expect.any(RedactableError), - ); + it("gets the result set", async () => { + options.cliServer.bqrsInfo.mockResolvedValue({ + "result-sets": [ + { + name: "#select", + rows: 10, + columns: [ + { name: "usage", kind: "e" }, + { name: "apiName", kind: "s" }, + { kind: "s" }, + { kind: "s" }, + ], + }, + ], + "compatible-query-kinds": ["Table", "Tree", "Graph"], }); - - it("gets the result set", async () => { - options.cliServer.bqrsInfo.mockResolvedValue({ - "result-sets": [ + const decodedResultSet = { + columns: [ + { name: "usage", kind: "e" }, + { name: "apiName", kind: "s" }, + { kind: "s" }, + { kind: "s" }, + ], + tuples: [ + [ + "java.io.PrintStream#println(String)", + true, { - name: "#select", - rows: 10, - columns: [ - { name: "usage", kind: "e" }, - { name: "apiName", kind: "s" }, - { kind: "s" }, - { kind: "s" }, - ], - }, - ], - "compatible-query-kinds": ["Table", "Tree", "Graph"], - }); - const decodedResultSet = { - columns: [ - { name: "usage", kind: "e" }, - { name: "apiName", kind: "s" }, - { kind: "s" }, - { kind: "s" }, - ], - tuples: [ - [ - "java.io.PrintStream#println(String)", - true, - { - label: "println(...)", - url: { - uri: "file:/home/runner/work/sql2o-example/sql2o-example/src/main/java/org/example/HelloController.java", - startLine: 29, - startColumn: 9, - endLine: 29, - endColumn: 49, - }, + label: "println(...)", + url: { + uri: "file:/home/runner/work/sql2o-example/sql2o-example/src/main/java/org/example/HelloController.java", + startLine: 29, + startColumn: 9, + endLine: 29, + endColumn: 49, }, - ], + }, ], - }; - options.cliServer.bqrsDecode.mockResolvedValue(decodedResultSet); + ], + }; + options.cliServer.bqrsDecode.mockResolvedValue(decodedResultSet); - const result = await readQueryResults(options); - expect(result).toEqual(decodedResultSet); - expect(options.cliServer.bqrsInfo).toHaveBeenCalledWith(options.bqrsPath); - expect(options.cliServer.bqrsDecode).toHaveBeenCalledWith( - options.bqrsPath, - "#select", - ); - }); + const result = await readQueryResults(options); + expect(result).toEqual(decodedResultSet); + expect(options.cliServer.bqrsInfo).toHaveBeenCalledWith(options.bqrsPath); + expect(options.cliServer.bqrsDecode).toHaveBeenCalledWith( + options.bqrsPath, + "#select", + ); }); }); From ea2999fcc765ff7bfd00c2c1729177eb3f5432ac Mon Sep 17 00:00:00 2001 From: Koen Vlaswinkel Date: Thu, 26 Oct 2023 11:41:32 +0200 Subject: [PATCH 4/8] Rename model-editor-queries.ts to model-editor-queries-setup.ts --- .../ql-vscode/src/model-editor/external-api-usage-queries.ts | 2 +- extensions/ql-vscode/src/model-editor/model-editor-module.ts | 2 +- .../{model-editor-queries.ts => model-editor-queries-setup.ts} | 0 .../no-workspace/model-editor/model-editor-queries.test.ts | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename extensions/ql-vscode/src/model-editor/{model-editor-queries.ts => model-editor-queries-setup.ts} (100%) diff --git a/extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts b/extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts index aa2069a051a..467c08becf8 100644 --- a/extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts +++ b/extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts @@ -19,7 +19,7 @@ import { decodeBqrsToMethods } from "./bqrs"; import { resolveEndpointsQuery, syntheticQueryPackName, -} from "./model-editor-queries"; +} from "./model-editor-queries-setup"; type RunQueryOptions = { cliServer: CodeQLCliServer; diff --git a/extensions/ql-vscode/src/model-editor/model-editor-module.ts b/extensions/ql-vscode/src/model-editor/model-editor-module.ts index 7b77b46193c..06837e35074 100644 --- a/extensions/ql-vscode/src/model-editor/model-editor-module.ts +++ b/extensions/ql-vscode/src/model-editor/model-editor-module.ts @@ -15,7 +15,7 @@ import { isQueryLanguage } from "../common/query-language"; import { DisposableObject } from "../common/disposable-object"; import { MethodsUsagePanel } from "./methods-usage/methods-usage-panel"; import { Method, Usage } from "./method"; -import { setUpPack } from "./model-editor-queries"; +import { setUpPack } from "./model-editor-queries-setup"; import { MethodModelingPanel } from "./method-modeling/method-modeling-panel"; import { ModelingStore } from "./modeling-store"; import { showResolvableLocation } from "../databases/local-databases/locations"; diff --git a/extensions/ql-vscode/src/model-editor/model-editor-queries.ts b/extensions/ql-vscode/src/model-editor/model-editor-queries-setup.ts similarity index 100% rename from extensions/ql-vscode/src/model-editor/model-editor-queries.ts rename to extensions/ql-vscode/src/model-editor/model-editor-queries-setup.ts diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/model-editor-queries.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/model-editor-queries.test.ts index ccbafc1867a..d09de6e0930 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/model-editor-queries.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/model-editor-queries.test.ts @@ -1,7 +1,7 @@ import { readFile, readFileSync, readdir } from "fs-extra"; import { join } from "path"; import { load } from "js-yaml"; -import { setUpPack } from "../../../../src/model-editor/model-editor-queries"; +import { setUpPack } from "../../../../src/model-editor/model-editor-queries-setup"; import { dirSync } from "tmp-promise"; import { fetchExternalApiQueries } from "../../../../src/model-editor/queries"; import { QueryLanguage } from "../../../../src/common/query-language"; From 30daf49cb8677a7772de39d44e6797bb976635c5 Mon Sep 17 00:00:00 2001 From: Koen Vlaswinkel Date: Thu, 26 Oct 2023 11:41:56 +0200 Subject: [PATCH 5/8] Rename external-api-usage-queries.ts to model-editor-queries.ts --- .../ql-vscode/src/model-editor/model-editor-queries-setup.ts | 2 +- .../{external-api-usage-queries.ts => model-editor-queries.ts} | 0 extensions/ql-vscode/src/model-editor/model-editor-view.ts | 2 +- .../no-workspace/model-editor/external-api-usage-query.test.ts | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename extensions/ql-vscode/src/model-editor/{external-api-usage-queries.ts => model-editor-queries.ts} (100%) diff --git a/extensions/ql-vscode/src/model-editor/model-editor-queries-setup.ts b/extensions/ql-vscode/src/model-editor/model-editor-queries-setup.ts index 0027d29d10b..94b546bf5c1 100644 --- a/extensions/ql-vscode/src/model-editor/model-editor-queries-setup.ts +++ b/extensions/ql-vscode/src/model-editor/model-editor-queries-setup.ts @@ -2,7 +2,7 @@ import { join } from "path"; import { QueryLanguage } from "../common/query-language"; import { writeFile } from "fs-extra"; import { dump } from "js-yaml"; -import { prepareModelEditorQueries } from "./external-api-usage-queries"; +import { prepareModelEditorQueries } from "./model-editor-queries"; import { CodeQLCliServer } from "../codeql-cli/cli"; import { ModelConfig } from "../config"; import { Mode } from "./shared/mode"; diff --git a/extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts b/extensions/ql-vscode/src/model-editor/model-editor-queries.ts similarity index 100% rename from extensions/ql-vscode/src/model-editor/external-api-usage-queries.ts rename to extensions/ql-vscode/src/model-editor/model-editor-queries.ts diff --git a/extensions/ql-vscode/src/model-editor/model-editor-view.ts b/extensions/ql-vscode/src/model-editor/model-editor-view.ts index 1ebd5baa497..c1124e9840b 100644 --- a/extensions/ql-vscode/src/model-editor/model-editor-view.ts +++ b/extensions/ql-vscode/src/model-editor/model-editor-view.ts @@ -30,7 +30,7 @@ import { redactableError } from "../common/errors"; import { externalApiQueriesProgressMaxStep, runModelEditorQueries, -} from "./external-api-usage-queries"; +} from "./model-editor-queries"; import { Method } from "./method"; import { ModeledMethod } from "./modeled-method"; import { ExtensionPack } from "./shared/extension-pack"; diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/external-api-usage-query.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/external-api-usage-query.test.ts index 3631358a988..9650390d66e 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/external-api-usage-query.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/external-api-usage-query.test.ts @@ -1,7 +1,7 @@ import { readQueryResults, runModelEditorQueries, -} from "../../../../src/model-editor/external-api-usage-queries"; +} from "../../../../src/model-editor/model-editor-queries"; import { createMockLogger } from "../../../__mocks__/loggerMock"; import { DatabaseItem, From f379036c18f3e42669b7bc9dab5de0f35389748c Mon Sep 17 00:00:00 2001 From: Koen Vlaswinkel Date: Thu, 26 Oct 2023 11:42:41 +0200 Subject: [PATCH 6/8] Fix error message for bundled model editor queries --- extensions/ql-vscode/src/model-editor/model-editor-queries.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/ql-vscode/src/model-editor/model-editor-queries.ts b/extensions/ql-vscode/src/model-editor/model-editor-queries.ts index 467c08becf8..2ff617fc3a6 100644 --- a/extensions/ql-vscode/src/model-editor/model-editor-queries.ts +++ b/extensions/ql-vscode/src/model-editor/model-editor-queries.ts @@ -42,7 +42,7 @@ export async function prepareModelEditorQueries( void showAndLogExceptionWithTelemetry( extLogger, telemetryListener, - redactableError`No external API usage query found for language ${language}`, + redactableError`No bundled model editor query found for language ${language}`, ); return false; } From b19e970ec5ad8de36117205f8d8f06900b16f52f Mon Sep 17 00:00:00 2001 From: Koen Vlaswinkel Date: Thu, 26 Oct 2023 11:43:05 +0200 Subject: [PATCH 7/8] Fix error message when running model editor queries --- extensions/ql-vscode/src/model-editor/model-editor-view.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/ql-vscode/src/model-editor/model-editor-view.ts b/extensions/ql-vscode/src/model-editor/model-editor-view.ts index c1124e9840b..99d643c0ea6 100644 --- a/extensions/ql-vscode/src/model-editor/model-editor-view.ts +++ b/extensions/ql-vscode/src/model-editor/model-editor-view.ts @@ -433,9 +433,9 @@ export class ModelEditorView extends AbstractWebview< void showAndLogExceptionWithTelemetry( this.app.logger, this.app.telemetry, - redactableError( - asError(err), - )`Failed to load external API usages: ${getErrorMessage(err)}`, + redactableError(asError(err))`Failed to load results: ${getErrorMessage( + err, + )}`, ); } } From f5d86777aefd438679b7fb4fe0af60955c127541 Mon Sep 17 00:00:00 2001 From: Koen Vlaswinkel Date: Thu, 26 Oct 2023 11:57:45 +0200 Subject: [PATCH 8/8] Update synthetic query pack name --- .../ql-vscode/src/model-editor/model-editor-queries-setup.ts | 2 +- .../no-workspace/model-editor/model-editor-queries.test.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/ql-vscode/src/model-editor/model-editor-queries-setup.ts b/extensions/ql-vscode/src/model-editor/model-editor-queries-setup.ts index 94b546bf5c1..1c615f859c1 100644 --- a/extensions/ql-vscode/src/model-editor/model-editor-queries-setup.ts +++ b/extensions/ql-vscode/src/model-editor/model-editor-queries-setup.ts @@ -9,7 +9,7 @@ import { Mode } from "./shared/mode"; import { resolveQueriesFromPacks } from "../local-queries"; import { modeTag } from "./mode-tag"; -export const syntheticQueryPackName = "codeql/external-api-usage"; +export const syntheticQueryPackName = "codeql/model-editor-queries"; /** * setUpPack sets up a directory to use for the data extension editor queries if required. diff --git a/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/model-editor-queries.test.ts b/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/model-editor-queries.test.ts index d09de6e0930..ccbf5420a57 100644 --- a/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/model-editor-queries.test.ts +++ b/extensions/ql-vscode/test/vscode-tests/no-workspace/model-editor/model-editor-queries.test.ts @@ -57,7 +57,7 @@ describe("setUpPack", () => { ); const suiteYaml = load(suiteFileContents); expect(suiteYaml).toEqual({ - name: "codeql/external-api-usage", + name: "codeql/model-editor-queries", version: "0.0.0", dependencies: { [`codeql/${language}-all`]: "*", @@ -108,7 +108,7 @@ describe("setUpPack", () => { ); const suiteYaml = load(suiteFileContents); expect(suiteYaml).toEqual({ - name: "codeql/external-api-usage", + name: "codeql/model-editor-queries", version: "0.0.0", dependencies: {}, });