Skip to content

Commit ce7c711

Browse files
Return a VariantAnalysis from runRemoteQuery
1 parent 5dce5e8 commit ce7c711

3 files changed

Lines changed: 37 additions & 6 deletions

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { RemoteQuery } from './remote-query';
2+
import { VariantAnalysis } from './shared/variant-analysis';
23

34
export interface RemoteQuerySubmissionResult {
45
queryDirPath?: string;
56
query?: RemoteQuery;
7+
variantAnalysis?: VariantAnalysis;
68
}

extensions/ql-vscode/src/remote-queries/run-remote-query.ts

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import { QueryMetadata } from '../pure/interface-types';
2626
import { getErrorMessage, REPO_REGEX } from '../pure/helpers-pure';
2727
import * as ghApiClient from './gh-api/gh-api-client';
2828
import { getRepositorySelection, isValidSelection, RepositorySelection } from './repository-selection';
29-
import { parseVariantAnalysisQueryLanguage, VariantAnalysisSubmission } from './shared/variant-analysis';
29+
import { parseVariantAnalysisQueryLanguage, VariantAnalysis, VariantAnalysisStatus, VariantAnalysisSubmission } from './shared/variant-analysis';
3030
import { Repository } from './shared/repository';
3131

3232
export interface QlPack {
@@ -269,9 +269,28 @@ export async function runRemoteQuery(
269269
credentials,
270270
variantAnalysisSubmission
271271
);
272+
273+
const variantAnalysis: VariantAnalysis = {
274+
id: variantAnalysisResponse.id,
275+
controllerRepoId: variantAnalysisResponse.controller_repo.id,
276+
query: {
277+
name: variantAnalysisSubmission.query.name,
278+
filePath: variantAnalysisSubmission.query.filePath,
279+
language: variantAnalysisSubmission.query.language,
280+
},
281+
databases: {
282+
repositories: variantAnalysisSubmission.databases.repositories,
283+
repositoryLists: variantAnalysisSubmission.databases.repositoryLists,
284+
repositoryOwners: variantAnalysisSubmission.databases.repositoryOwners,
285+
},
286+
status: VariantAnalysisStatus.InProgress,
287+
};
288+
289+
// TODO: Remove once we have a proper notification
272290
void showAndLogInformationMessage('Variant analysis submitted for processing');
273-
void logger.log(`Variant analysis result:\n${JSON.stringify(variantAnalysisResponse)}`);
274-
return;
291+
void logger.log(`Variant analysis:\n${JSON.stringify(variantAnalysis, null, 2)}`);
292+
293+
return { variantAnalysis };
275294

276295
} else {
277296
const apiResponse = await runRemoteQueriesApiRequest(credentials, actionBranch, language, repoSelection, controllerRepo, base64Pack, dryRun);

extensions/ql-vscode/src/vscode-tests/cli-integration/remote-queries/run-remote-query.test.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import * as ghApiClient from '../../../remote-queries/gh-api/gh-api-client';
1717
import { lte } from 'semver';
1818
import { VariantAnalysis } from '../../../remote-queries/gh-api/variant-analysis';
1919
import { Repository } from '../../../remote-queries/gh-api/repository';
20+
import { VariantAnalysisStatus } from '../../../remote-queries/shared/variant-analysis';
2021

2122
describe('Remote queries', function() {
2223
const baseDir = path.join(__dirname, '../../../../src/vscode-tests/cli-integration');
@@ -308,7 +309,10 @@ describe('Remote queries', function() {
308309
const fileUri = getFile('data-remote-qlpack/in-pack.ql');
309310

310311
const querySubmissionResult = await runRemoteQuery(cli, credentials, fileUri, true, progress, token);
311-
expect(querySubmissionResult).to.be.undefined;
312+
expect(querySubmissionResult).to.be.ok;
313+
const variantAnalysis = querySubmissionResult!.variantAnalysis!;
314+
expect(variantAnalysis.id).to.be.equal(dummyVariantAnalysis.id);
315+
expect(variantAnalysis.status).to.be.equal(VariantAnalysisStatus.InProgress);
312316

313317
expect(getRepositoryFromNwoStub).to.have.been.calledOnce;
314318

@@ -321,7 +325,10 @@ describe('Remote queries', function() {
321325
const fileUri = getFile('data-remote-no-qlpack/in-pack.ql');
322326

323327
const querySubmissionResult = await runRemoteQuery(cli, credentials, fileUri, true, progress, token);
324-
expect(querySubmissionResult).to.be.undefined;
328+
expect(querySubmissionResult).to.be.ok;
329+
const variantAnalysis = querySubmissionResult!.variantAnalysis!;
330+
expect(variantAnalysis.id).to.be.equal(dummyVariantAnalysis.id);
331+
expect(variantAnalysis.status).to.be.equal(VariantAnalysisStatus.InProgress);
325332

326333
expect(getRepositoryFromNwoStub).to.have.been.calledOnce;
327334

@@ -334,7 +341,10 @@ describe('Remote queries', function() {
334341
const fileUri = getFile('data-remote-qlpack-nested/subfolder/in-pack.ql');
335342

336343
const querySubmissionResult = await runRemoteQuery(cli, credentials, fileUri, true, progress, token);
337-
expect(querySubmissionResult).to.be.undefined;
344+
expect(querySubmissionResult).to.be.ok;
345+
const variantAnalysis = querySubmissionResult!.variantAnalysis!;
346+
expect(variantAnalysis.id).to.be.equal(dummyVariantAnalysis.id);
347+
expect(variantAnalysis.status).to.be.equal(VariantAnalysisStatus.InProgress);
338348

339349
expect(getRepositoryFromNwoStub).to.have.been.calledOnce;
340350

0 commit comments

Comments
 (0)