@@ -21,6 +21,8 @@ import { createMockVariantAnalysisRepoTask } from '../../factories/remote-querie
2121import { CodeQLCliServer } from '../../../cli' ;
2222import { storagePath } from '../global.helper' ;
2323import { VariantAnalysisResultsManager } from '../../../remote-queries/variant-analysis-results-manager' ;
24+ import { VariantAnalysis } from '../../../remote-queries/shared/variant-analysis' ;
25+ import { createMockVariantAnalysis } from '../../factories/remote-queries/shared/variant-analysis' ;
2426
2527describe ( 'Variant Analysis Manager' , async function ( ) {
2628 let sandbox : sinon . SinonSandbox ;
@@ -121,47 +123,74 @@ describe('Variant Analysis Manager', async function() {
121123 getVariantAnalysisRepoResultStub = sandbox . stub ( ghApiClient , 'getVariantAnalysisRepoResult' ) . resolves ( arrayBuffer ) ;
122124 } ) ;
123125
124- it ( 'should return early if variant analysis is cancelled' , async ( ) => {
125- cancellationTokenSource . cancel ( ) ;
126-
127- await variantAnalysisManager . autoDownloadVariantAnalysisResult (
128- scannedRepos [ 0 ] ,
129- variantAnalysis ,
130- cancellationTokenSource . token
131- ) ;
132-
133- expect ( getVariantAnalysisRepoStub . notCalled ) . to . be . true ;
126+ describe ( 'autoDownloadVariantAnalysisResult' , async ( ) => {
127+ it ( 'should return early if variant analysis is cancelled' , async ( ) => {
128+ cancellationTokenSource . cancel ( ) ;
129+
130+ await variantAnalysisManager . autoDownloadVariantAnalysisResult (
131+ scannedRepos [ 0 ] ,
132+ variantAnalysis ,
133+ cancellationTokenSource . token
134+ ) ;
135+
136+ expect ( getVariantAnalysisRepoStub . notCalled ) . to . be . true ;
137+ } ) ;
138+
139+ it ( 'should fetch a repo task' , async ( ) => {
140+ await variantAnalysisManager . autoDownloadVariantAnalysisResult (
141+ scannedRepos [ 0 ] ,
142+ variantAnalysis ,
143+ cancellationTokenSource . token
144+ ) ;
145+
146+ expect ( getVariantAnalysisRepoStub . calledOnce ) . to . be . true ;
147+ } ) ;
148+
149+ it ( 'should fetch a repo result' , async ( ) => {
150+ await variantAnalysisManager . autoDownloadVariantAnalysisResult (
151+ scannedRepos [ 0 ] ,
152+ variantAnalysis ,
153+ cancellationTokenSource . token
154+ ) ;
155+
156+ expect ( getVariantAnalysisRepoResultStub . calledOnce ) . to . be . true ;
157+ } ) ;
134158 } ) ;
135159
136- it ( 'should fetch a repo task' , async ( ) => {
137- await variantAnalysisManager . autoDownloadVariantAnalysisResult (
138- scannedRepos [ 0 ] ,
139- variantAnalysis ,
140- cancellationTokenSource . token
141- ) ;
160+ describe ( 'enqueueDownload' , async ( ) => {
161+ it ( 'should pop download tasks off the queue' , async ( ) => {
162+ const getResultsSpy = sandbox . spy ( variantAnalysisManager , 'autoDownloadVariantAnalysisResult' ) ;
163+
164+ await variantAnalysisManager . enqueueDownload ( scannedRepos [ 0 ] , variantAnalysis , cancellationTokenSource . token ) ;
165+ await variantAnalysisManager . enqueueDownload ( scannedRepos [ 1 ] , variantAnalysis , cancellationTokenSource . token ) ;
166+ await variantAnalysisManager . enqueueDownload ( scannedRepos [ 2 ] , variantAnalysis , cancellationTokenSource . token ) ;
142167
143- expect ( getVariantAnalysisRepoStub . calledOnce ) . to . be . true ;
168+ expect ( variantAnalysisManager . downloadsQueueSize ( ) ) . to . equal ( 0 ) ;
169+ expect ( getResultsSpy ) . to . have . been . calledThrice ;
170+ } ) ;
144171 } ) ;
145172
146- it ( 'should fetch a repo result' , async ( ) => {
147- await variantAnalysisManager . autoDownloadVariantAnalysisResult (
148- scannedRepos [ 0 ] ,
149- variantAnalysis ,
150- cancellationTokenSource . token
151- ) ;
173+ describe ( 'removeVariantAnalysis' , async ( ) => {
174+ let removeAnalysisResultsStub : sinon . SinonStub ;
175+ let removeStorageStub : sinon . SinonStub ;
176+ let dummyVariantAnalysis : VariantAnalysis ;
152177
153- expect ( getVariantAnalysisRepoResultStub . calledOnce ) . to . be . true ;
154- } ) ;
178+ beforeEach ( async ( ) => {
179+ dummyVariantAnalysis = createMockVariantAnalysis ( ) ;
180+ removeAnalysisResultsStub = sandbox . stub ( variantAnalysisResultsManager , 'removeAnalysisResults' ) ;
181+ removeStorageStub = sandbox . stub ( fs , 'remove' ) ;
182+ } ) ;
155183
156- it ( 'should pop download tasks off the queue' , async ( ) => {
157- const getResultsSpy = sandbox . spy ( variantAnalysisManager , 'autoDownloadVariantAnalysisResult' ) ;
184+ it ( 'should remove variant analysis' , async ( ) => {
185+ await variantAnalysisManager . onVariantAnalysisUpdated ( dummyVariantAnalysis ) ;
186+ expect ( variantAnalysisManager . variantAnalysesSize ) . to . eq ( 1 ) ;
158187
159- await variantAnalysisManager . enqueueDownload ( scannedRepos [ 0 ] , variantAnalysis , cancellationTokenSource . token ) ;
160- await variantAnalysisManager . enqueueDownload ( scannedRepos [ 1 ] , variantAnalysis , cancellationTokenSource . token ) ;
161- await variantAnalysisManager . enqueueDownload ( scannedRepos [ 2 ] , variantAnalysis , cancellationTokenSource . token ) ;
188+ await variantAnalysisManager . removeVariantAnalysis ( dummyVariantAnalysis ) ;
162189
163- expect ( variantAnalysisManager . downloadsQueueSize ( ) ) . to . equal ( 0 ) ;
164- expect ( getResultsSpy ) . to . have . been . calledThrice ;
190+ expect ( removeAnalysisResultsStub ) . to . have . been . calledOnce ;
191+ expect ( removeStorageStub ) . to . have . been . calledOnce ;
192+ expect ( variantAnalysisManager . variantAnalysesSize ) . to . equal ( 0 ) ;
193+ } ) ;
165194 } ) ;
166195 } ) ;
167196 } ) ;
0 commit comments