Skip to content

Commit 3a18003

Browse files
committed
Move guts for adding task to a queue into a method
So that the extension command doesn't need to know how to push to a queue.
1 parent f2fe106 commit 3a18003

File tree

3 files changed

+14
-31
lines changed

3 files changed

+14
-31
lines changed

extensions/ql-vscode/src/extension.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -951,10 +951,7 @@ async function activateWithInstalledDistribution(
951951
variantAnalysisSummary: VariantAnalysisApiResponse,
952952
token: CancellationToken
953953
) => {
954-
955-
await variantAnalysisManager.queue.add(async () => {
956-
await variantAnalysisManager.autoDownloadVariantAnalysisResult(scannedRepo, variantAnalysisSummary, token);
957-
});
954+
await variantAnalysisManager.enqueueDownload(scannedRepo, variantAnalysisSummary, token);
958955
})
959956
);
960957

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,16 @@ export class VariantAnalysisManager extends DisposableObject implements VariantA
166166
await this.onRepoStateUpdated(variantAnalysisSummary.id, repoState);
167167
}
168168

169+
public async enqueueDownload(
170+
scannedRepo: ApiVariantAnalysisScannedRepository,
171+
variantAnalysisSummary: VariantAnalysisApiResponse,
172+
token: CancellationToken
173+
): Promise<void> {
174+
await this.queue.add(async () => {
175+
await this.autoDownloadVariantAnalysisResult(scannedRepo, variantAnalysisSummary, token);
176+
});
177+
}
178+
169179
public async promptOpenVariantAnalysis() {
170180
const credentials = await Credentials.initialize(this.ctx);
171181
if (!credentials) { throw Error('Error authenticating with GitHub'); }

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

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -153,33 +153,9 @@ describe('Variant Analysis Manager', async function() {
153153
it('should pop download tasks off the queue', async () => {
154154
const getResultsSpy = sandbox.spy(variantAnalysisManager, 'autoDownloadVariantAnalysisResult');
155155

156-
const input = [
157-
variantAnalysisManager.queue.add(async () => {
158-
await variantAnalysisManager.autoDownloadVariantAnalysisResult(
159-
scannedRepos[0],
160-
variantAnalysis,
161-
cancellationTokenSource.token
162-
);
163-
}),
164-
variantAnalysisManager.queue.add(async () => {
165-
await variantAnalysisManager.autoDownloadVariantAnalysisResult(
166-
scannedRepos[0],
167-
variantAnalysis,
168-
cancellationTokenSource.token
169-
);
170-
}),
171-
variantAnalysisManager.queue.add(async () => {
172-
await variantAnalysisManager.autoDownloadVariantAnalysisResult(
173-
scannedRepos[0],
174-
variantAnalysis,
175-
cancellationTokenSource.token
176-
);
177-
})
178-
];
179-
180-
expect(variantAnalysisManager.queue.pending).to.equal(3);
181-
182-
await Promise.all(input);
156+
await variantAnalysisManager.enqueueDownload(scannedRepos[0], variantAnalysis, cancellationTokenSource.token);
157+
await variantAnalysisManager.enqueueDownload(scannedRepos[1], variantAnalysis, cancellationTokenSource.token);
158+
await variantAnalysisManager.enqueueDownload(scannedRepos[2], variantAnalysis, cancellationTokenSource.token);
183159

184160
expect(variantAnalysisManager.queue.pending).to.equal(0);
185161
expect(getResultsSpy).to.have.been.calledThrice;

0 commit comments

Comments
 (0)