Define mock variant analysis with scanned repos
Now that we have a monitor, we expect the variant analysis to return a list of scanned repos. Let's re-use our previous factory for creating mocked responses to get a dummy variant analysis with scanned repos.
This commit is contained in:
@@ -15,9 +15,12 @@ import * as config from '../../../config';
|
||||
import { UserCancellationException } from '../../../commandRunner';
|
||||
import * as ghApiClient from '../../../remote-queries/gh-api/gh-api-client';
|
||||
import { lte } from 'semver';
|
||||
import { VariantAnalysis } from '../../../remote-queries/gh-api/variant-analysis';
|
||||
import {
|
||||
VariantAnalysis as VariantAnalysisApiResponse
|
||||
} from '../../../remote-queries/gh-api/variant-analysis';
|
||||
import { Repository } from '../../../remote-queries/gh-api/repository';
|
||||
import { VariantAnalysisStatus } from '../../../remote-queries/shared/variant-analysis';
|
||||
import { createMockApiResponse } from '../../factories/remote-queries/gh-api/variant-analysis-api-response';
|
||||
|
||||
describe('Remote queries', function() {
|
||||
const baseDir = path.join(__dirname, '../../../../src/vscode-tests/cli-integration');
|
||||
@@ -285,70 +288,52 @@ describe('Remote queries', function() {
|
||||
});
|
||||
|
||||
describe('when live results are enabled', () => {
|
||||
let mockApiResponse: VariantAnalysisApiResponse;
|
||||
let mockSubmitVariantAnalysis: sinon.SinonStub;
|
||||
|
||||
beforeEach(() => {
|
||||
liveResultsStub.returns(true);
|
||||
mockApiResponse = createMockApiResponse('in_progress');
|
||||
mockSubmitVariantAnalysis = sandbox.stub(ghApiClient, 'submitVariantAnalysis').resolves(mockApiResponse);
|
||||
});
|
||||
|
||||
const dummyVariantAnalysis: VariantAnalysis = {
|
||||
id: 123,
|
||||
controller_repo: {
|
||||
id: 64,
|
||||
name: 'pickles',
|
||||
full_name: 'github/pickles',
|
||||
private: false,
|
||||
},
|
||||
actor_id: 27,
|
||||
query_language: 'javascript',
|
||||
query_pack_url: 'https://example.com/foo',
|
||||
status: 'in_progress',
|
||||
};
|
||||
|
||||
it('should run a variant analysis that is part of a qlpack', async () => {
|
||||
const submitVariantAnalysisStub = sandbox.stub(ghApiClient, 'submitVariantAnalysis').resolves(dummyVariantAnalysis);
|
||||
|
||||
const fileUri = getFile('data-remote-qlpack/in-pack.ql');
|
||||
|
||||
const querySubmissionResult = await runRemoteQuery(cli, credentials, fileUri, true, progress, token);
|
||||
expect(querySubmissionResult).to.be.ok;
|
||||
const variantAnalysis = querySubmissionResult!.variantAnalysis!;
|
||||
expect(variantAnalysis.id).to.be.equal(dummyVariantAnalysis.id);
|
||||
expect(variantAnalysis.id).to.be.equal(mockApiResponse.id);
|
||||
expect(variantAnalysis.status).to.be.equal(VariantAnalysisStatus.InProgress);
|
||||
|
||||
expect(getRepositoryFromNwoStub).to.have.been.calledOnce;
|
||||
|
||||
expect(submitVariantAnalysisStub).to.have.been.calledOnce;
|
||||
expect(mockSubmitVariantAnalysis).to.have.been.calledOnce;
|
||||
});
|
||||
|
||||
it('should run a remote query that is not part of a qlpack', async () => {
|
||||
const submitVariantAnalysisStub = sandbox.stub(ghApiClient, 'submitVariantAnalysis').resolves(dummyVariantAnalysis);
|
||||
|
||||
const fileUri = getFile('data-remote-no-qlpack/in-pack.ql');
|
||||
|
||||
const querySubmissionResult = await runRemoteQuery(cli, credentials, fileUri, true, progress, token);
|
||||
expect(querySubmissionResult).to.be.ok;
|
||||
const variantAnalysis = querySubmissionResult!.variantAnalysis!;
|
||||
expect(variantAnalysis.id).to.be.equal(dummyVariantAnalysis.id);
|
||||
expect(variantAnalysis.id).to.be.equal(mockApiResponse.id);
|
||||
expect(variantAnalysis.status).to.be.equal(VariantAnalysisStatus.InProgress);
|
||||
|
||||
expect(getRepositoryFromNwoStub).to.have.been.calledOnce;
|
||||
|
||||
expect(submitVariantAnalysisStub).to.have.been.calledOnce;
|
||||
expect(mockSubmitVariantAnalysis).to.have.been.calledOnce;
|
||||
});
|
||||
|
||||
it('should run a remote query that is nested inside a qlpack', async () => {
|
||||
const submitVariantAnalysisStub = sandbox.stub(ghApiClient, 'submitVariantAnalysis').resolves(dummyVariantAnalysis);
|
||||
|
||||
const fileUri = getFile('data-remote-qlpack-nested/subfolder/in-pack.ql');
|
||||
|
||||
const querySubmissionResult = await runRemoteQuery(cli, credentials, fileUri, true, progress, token);
|
||||
expect(querySubmissionResult).to.be.ok;
|
||||
const variantAnalysis = querySubmissionResult!.variantAnalysis!;
|
||||
expect(variantAnalysis.id).to.be.equal(dummyVariantAnalysis.id);
|
||||
expect(variantAnalysis.id).to.be.equal(mockApiResponse.id);
|
||||
expect(variantAnalysis.status).to.be.equal(VariantAnalysisStatus.InProgress);
|
||||
|
||||
expect(getRepositoryFromNwoStub).to.have.been.calledOnce;
|
||||
|
||||
expect(submitVariantAnalysisStub).to.have.been.calledOnce;
|
||||
expect(mockSubmitVariantAnalysis).to.have.been.calledOnce;
|
||||
});
|
||||
|
||||
it('should cancel a run before uploading', async () => {
|
||||
|
||||
Reference in New Issue
Block a user