Skip to content

Commit f3e4766

Browse files
authored
Merge pull request #1789 from github/koesie10/remove-variant-analysis-monitor-return-value
Remove variant analysis monitor return value
2 parents 45a8719 + 8f0e615 commit f3e4766

3 files changed

Lines changed: 23 additions & 63 deletions

File tree

extensions/ql-vscode/src/remote-queries/shared/variant-analysis-monitor-result.ts

Lines changed: 0 additions & 9 deletions
This file was deleted.

extensions/ql-vscode/src/remote-queries/variant-analysis-monitor.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import {
1313
VariantAnalysis,
1414
VariantAnalysisScannedRepository,
1515
} from "./shared/variant-analysis";
16-
import { VariantAnalysisMonitorResult } from "./shared/variant-analysis-monitor-result";
1716
import { processUpdatedVariantAnalysis } from "./variant-analysis-processor";
1817
import { DisposableObject } from "../pure/disposable-object";
1918
import { sleep } from "../pure/time";
@@ -36,7 +35,7 @@ export class VariantAnalysisMonitor extends DisposableObject {
3635
public async monitorVariantAnalysis(
3736
variantAnalysis: VariantAnalysis,
3837
cancellationToken: CancellationToken,
39-
): Promise<VariantAnalysisMonitorResult> {
38+
): Promise<void> {
4039
const credentials = await Credentials.initialize(this.extensionContext);
4140
if (!credentials) {
4241
throw Error("Error authenticating with GitHub");
@@ -49,7 +48,7 @@ export class VariantAnalysisMonitor extends DisposableObject {
4948
await sleep(VariantAnalysisMonitor.sleepTime);
5049

5150
if (cancellationToken && cancellationToken.isCancellationRequested) {
52-
return { status: "Canceled" };
51+
return;
5352
}
5453

5554
const variantAnalysisSummary = await ghApiClient.getVariantAnalysis(
@@ -77,8 +76,6 @@ export class VariantAnalysisMonitor extends DisposableObject {
7776

7877
attemptCount++;
7978
}
80-
81-
return { status: "Completed", scannedReposDownloaded, variantAnalysis };
8279
}
8380

8481
private scheduleForDownload(

extensions/ql-vscode/src/vscode-tests/cli-integration/remote-queries/variant-analysis-monitor.test.ts

Lines changed: 21 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ describe("Variant Analysis Monitor", () => {
4242
typeof variantAnalysisManager.autoDownloadVariantAnalysisResult
4343
>;
4444

45+
const onVariantAnalysisChangeSpy = jest.fn();
46+
4547
beforeEach(async () => {
4648
jest
4749
.spyOn(config, "isVariantAnalysisLiveResultsEnabled")
@@ -57,6 +59,7 @@ describe("Variant Analysis Monitor", () => {
5759
)!
5860
.activate();
5961
variantAnalysisMonitor = new VariantAnalysisMonitor(extension.ctx);
62+
variantAnalysisMonitor.onVariantAnalysisChange(onVariantAnalysisChangeSpy);
6063

6164
variantAnalysisManager = extension.variantAnalysisManager;
6265
mockGetDownloadResult = jest
@@ -103,12 +106,12 @@ describe("Variant Analysis Monitor", () => {
103106
it("should return early if variant analysis is cancelled", async () => {
104107
cancellationTokenSource.cancel();
105108

106-
const result = await variantAnalysisMonitor.monitorVariantAnalysis(
109+
await variantAnalysisMonitor.monitorVariantAnalysis(
107110
variantAnalysis,
108111
cancellationTokenSource.token,
109112
);
110113

111-
expect(result).toEqual({ status: "Canceled" });
114+
expect(onVariantAnalysisChangeSpy).not.toHaveBeenCalled();
112115
});
113116

114117
describe("when the variant analysis fails", () => {
@@ -119,34 +122,22 @@ describe("Variant Analysis Monitor", () => {
119122
mockGetVariantAnalysis.mockResolvedValue(mockFailedApiResponse);
120123
});
121124

122-
it("should mark as failed locally and stop monitoring", async () => {
123-
const result = await variantAnalysisMonitor.monitorVariantAnalysis(
125+
it("should mark as failed and stop monitoring", async () => {
126+
await variantAnalysisMonitor.monitorVariantAnalysis(
124127
variantAnalysis,
125128
cancellationTokenSource.token,
126129
);
127130

128131
expect(mockGetVariantAnalysis).toHaveBeenCalledTimes(1);
129-
expect(result.status).toEqual("Completed");
130-
expect(result.variantAnalysis?.status).toBe(
131-
VariantAnalysisStatus.Failed,
132-
);
133-
expect(result.variantAnalysis?.failureReason).toBe(
134-
processFailureReason(
135-
mockFailedApiResponse.failure_reason as VariantAnalysisFailureReason,
136-
),
137-
);
138-
});
139-
140-
it("should emit `onVariantAnalysisChange`", async () => {
141-
const spy = jest.fn();
142-
variantAnalysisMonitor.onVariantAnalysisChange(spy);
143132

144-
const result = await variantAnalysisMonitor.monitorVariantAnalysis(
145-
variantAnalysis,
146-
cancellationTokenSource.token,
133+
expect(onVariantAnalysisChangeSpy).toHaveBeenCalledWith(
134+
expect.objectContaining({
135+
status: VariantAnalysisStatus.Failed,
136+
failureReason: processFailureReason(
137+
mockFailedApiResponse.failure_reason as VariantAnalysisFailureReason,
138+
),
139+
}),
147140
);
148-
149-
expect(spy).toBeCalledWith(result.variantAnalysis);
150141
});
151142
});
152143

@@ -173,18 +164,6 @@ describe("Variant Analysis Monitor", () => {
173164
);
174165
});
175166

176-
it("should succeed and return a list of scanned repo ids", async () => {
177-
const result = await variantAnalysisMonitor.monitorVariantAnalysis(
178-
variantAnalysis,
179-
cancellationTokenSource.token,
180-
);
181-
182-
expect(result.status).toBe("Completed");
183-
expect(result.scannedReposDownloaded).toEqual(
184-
succeededRepos.map((r) => r.repository.id),
185-
);
186-
});
187-
188167
it("should trigger a download extension command for each repo", async () => {
189168
const succeededRepos = scannedRepos.filter(
190169
(r) => r.analysis_status === "succeeded",
@@ -238,14 +217,17 @@ describe("Variant Analysis Monitor", () => {
238217
mockGetVariantAnalysis.mockResolvedValue(mockApiResponse);
239218
});
240219

241-
it("should succeed and return an empty list of scanned repo ids", async () => {
242-
const result = await variantAnalysisMonitor.monitorVariantAnalysis(
220+
it("should succeed and not download any repos via a command", async () => {
221+
const commandSpy = jest
222+
.spyOn(commands, "executeCommand")
223+
.mockResolvedValue(undefined);
224+
225+
await variantAnalysisMonitor.monitorVariantAnalysis(
243226
variantAnalysis,
244227
cancellationTokenSource.token,
245228
);
246229

247-
expect(result.status).toBe("Completed");
248-
expect(result.scannedReposDownloaded).toEqual([]);
230+
expect(commandSpy).not.toHaveBeenCalled();
249231
});
250232

251233
it("should not try to download any repos", async () => {
@@ -265,16 +247,6 @@ describe("Variant Analysis Monitor", () => {
265247
mockGetVariantAnalysis.mockResolvedValue(mockApiResponse);
266248
});
267249

268-
it("should succeed and return an empty list of scanned repo ids", async () => {
269-
const result = await variantAnalysisMonitor.monitorVariantAnalysis(
270-
variantAnalysis,
271-
cancellationTokenSource.token,
272-
);
273-
274-
expect(result.status).toBe("Completed");
275-
expect(result.scannedReposDownloaded).toEqual([]);
276-
});
277-
278250
it("should not try to download any repos", async () => {
279251
await variantAnalysisMonitor.monitorVariantAnalysis(
280252
variantAnalysis,

0 commit comments

Comments
 (0)