Make queue private and one-line initiatialization for it

This commit is contained in:
Elena Tanasoiu
2022-10-17 14:35:48 +01:00
parent 3a1800319a
commit 1f4e1f27ae
2 changed files with 6 additions and 4 deletions

View File

@@ -33,7 +33,7 @@ export class VariantAnalysisManager extends DisposableObject implements VariantA
private readonly variantAnalyses = new Map<number, VariantAnalysis>();
private readonly views = new Map<number, VariantAnalysisView>();
private static readonly maxConcurrentDownloads = 3;
public queue: PQueue;
private readonly queue = new PQueue({ concurrency: VariantAnalysisManager.maxConcurrentDownloads });
constructor(
private readonly ctx: ExtensionContext,
@@ -47,8 +47,6 @@ export class VariantAnalysisManager extends DisposableObject implements VariantA
this.variantAnalysisResultsManager = this.push(new VariantAnalysisResultsManager(cliServer, storagePath, logger));
this.variantAnalysisResultsManager.onResultLoaded(this.onRepoResultLoaded.bind(this));
this.queue = new PQueue({ concurrency: VariantAnalysisManager.maxConcurrentDownloads });
}
public async showView(variantAnalysisId: number): Promise<void> {
@@ -176,6 +174,10 @@ export class VariantAnalysisManager extends DisposableObject implements VariantA
});
}
public downloadsQueueSize(): number {
return this.queue.pending;
}
public async promptOpenVariantAnalysis() {
const credentials = await Credentials.initialize(this.ctx);
if (!credentials) { throw Error('Error authenticating with GitHub'); }

View File

@@ -157,7 +157,7 @@ describe('Variant Analysis Manager', async function() {
await variantAnalysisManager.enqueueDownload(scannedRepos[1], variantAnalysis, cancellationTokenSource.token);
await variantAnalysisManager.enqueueDownload(scannedRepos[2], variantAnalysis, cancellationTokenSource.token);
expect(variantAnalysisManager.queue.pending).to.equal(0);
expect(variantAnalysisManager.downloadsQueueSize()).to.equal(0);
expect(getResultsSpy).to.have.been.calledThrice;
});
});