Skip to content

Commit 1ee9cda

Browse files
committed
Add test for error log
1 parent 098437b commit 1ee9cda

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

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

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,61 @@ describe("runQuery", () => {
3535
}));
3636
});
3737

38+
it("should log an error", async () => {
39+
const showAndLogExceptionWithTelemetrySpy: jest.SpiedFunction<
40+
typeof showAndLogExceptionWithTelemetry
41+
> = jest.spyOn(log, "showAndLogExceptionWithTelemetry");
42+
43+
const logPath = (await file()).path;
44+
45+
const query = fetchExternalApiQueries[cases[0].language];
46+
if (!query) {
47+
throw new Error(`No query found for language ${cases[0].language}`);
48+
}
49+
50+
const options = {
51+
cliServer: {
52+
resolveQlpacks: jest.fn().mockResolvedValue({
53+
"my/extensions": "/a/b/c/",
54+
}),
55+
},
56+
queryRunner: {
57+
createQueryRun: jest.fn().mockReturnValue({
58+
evaluate: jest.fn().mockResolvedValue({
59+
resultType: QueryResultType.CANCELLATION,
60+
}),
61+
outputDir: {
62+
logPath,
63+
},
64+
}),
65+
logger: createMockLogger(),
66+
},
67+
databaseItem: {
68+
databaseUri: mockedUri("/a/b/c/src.zip"),
69+
contents: {
70+
kind: DatabaseKind.Database,
71+
name: "foo",
72+
datasetUri: mockedUri(),
73+
},
74+
language: cases[0].language,
75+
},
76+
queryStorageDir: "/tmp/queries",
77+
queryDir: cases[0].queryDir,
78+
progress: jest.fn(),
79+
token: {
80+
isCancellationRequested: false,
81+
onCancellationRequested: jest.fn(),
82+
},
83+
};
84+
85+
expect(await runQuery(cases[0].queryName, options)).toBeUndefined();
86+
expect(showAndLogExceptionWithTelemetrySpy).toHaveBeenCalledWith(
87+
expect.anything(),
88+
undefined,
89+
expect.any(RedactableError),
90+
);
91+
});
92+
3893
test.each(cases)(
3994
"should run $queryName for $language",
4095
async ({ language, queryName, queryDir }) => {

0 commit comments

Comments
 (0)