Rename variant analysis mapping functions (#3231)
This commit is contained in:
@@ -43,9 +43,9 @@ import type {
|
|||||||
} from "./variant-analysis-results-manager";
|
} from "./variant-analysis-results-manager";
|
||||||
import { getQueryName, prepareRemoteQueryRun } from "./run-remote-query";
|
import { getQueryName, prepareRemoteQueryRun } from "./run-remote-query";
|
||||||
import {
|
import {
|
||||||
processVariantAnalysis,
|
mapVariantAnalysis,
|
||||||
processVariantAnalysisRepositoryTask,
|
mapVariantAnalysisRepositoryTask,
|
||||||
} from "./variant-analysis-processor";
|
} from "./variant-analysis-mapper";
|
||||||
import PQueue from "p-queue";
|
import PQueue from "p-queue";
|
||||||
import { createTimestampFile, saveBeforeStart } from "../run-queries-shared";
|
import { createTimestampFile, saveBeforeStart } from "../run-queries-shared";
|
||||||
import { readFile, remove, pathExists } from "fs-extra";
|
import { readFile, remove, pathExists } from "fs-extra";
|
||||||
@@ -279,7 +279,7 @@ export class VariantAnalysisManager
|
|||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
||||||
const processedVariantAnalysis = processVariantAnalysis(
|
const processedVariantAnalysis = mapVariantAnalysis(
|
||||||
variantAnalysisSubmission,
|
variantAnalysisSubmission,
|
||||||
variantAnalysisResponse,
|
variantAnalysisResponse,
|
||||||
);
|
);
|
||||||
@@ -619,7 +619,7 @@ export class VariantAnalysisManager
|
|||||||
scannedRepo.repository.id,
|
scannedRepo.repository.id,
|
||||||
);
|
);
|
||||||
|
|
||||||
repoTask = processVariantAnalysisRepositoryTask(repoTaskResponse);
|
repoTask = mapVariantAnalysisRepositoryTask(repoTaskResponse);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
repoState.downloadStatus =
|
repoState.downloadStatus =
|
||||||
VariantAnalysisScannedRepositoryDownloadStatus.Failed;
|
VariantAnalysisScannedRepositoryDownloadStatus.Failed;
|
||||||
|
|||||||
@@ -23,11 +23,11 @@ import {
|
|||||||
VariantAnalysisRepoStatus,
|
VariantAnalysisRepoStatus,
|
||||||
} from "./shared/variant-analysis";
|
} from "./shared/variant-analysis";
|
||||||
|
|
||||||
export function processVariantAnalysis(
|
export function mapVariantAnalysis(
|
||||||
submission: VariantAnalysisSubmission,
|
submission: VariantAnalysisSubmission,
|
||||||
response: ApiVariantAnalysis,
|
response: ApiVariantAnalysis,
|
||||||
): VariantAnalysis {
|
): VariantAnalysis {
|
||||||
return processUpdatedVariantAnalysis(
|
return mapUpdatedVariantAnalysis(
|
||||||
{
|
{
|
||||||
query: {
|
query: {
|
||||||
name: submission.query.name,
|
name: submission.query.name,
|
||||||
@@ -43,7 +43,7 @@ export function processVariantAnalysis(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function processUpdatedVariantAnalysis(
|
export function mapUpdatedVariantAnalysis(
|
||||||
previousVariantAnalysis: Pick<
|
previousVariantAnalysis: Pick<
|
||||||
VariantAnalysis,
|
VariantAnalysis,
|
||||||
"query" | "databases" | "executionStartTime"
|
"query" | "databases" | "executionStartTime"
|
||||||
@@ -54,13 +54,13 @@ export function processUpdatedVariantAnalysis(
|
|||||||
let skippedRepos: VariantAnalysisSkippedRepositories = {};
|
let skippedRepos: VariantAnalysisSkippedRepositories = {};
|
||||||
|
|
||||||
if (response.scanned_repositories) {
|
if (response.scanned_repositories) {
|
||||||
scannedRepos = processScannedRepositories(
|
scannedRepos = mapScannedRepositories(
|
||||||
response.scanned_repositories as ApiVariantAnalysisScannedRepository[],
|
response.scanned_repositories as ApiVariantAnalysisScannedRepository[],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (response.skipped_repositories) {
|
if (response.skipped_repositories) {
|
||||||
skippedRepos = processSkippedRepositories(
|
skippedRepos = mapSkippedRepositories(
|
||||||
response.skipped_repositories as ApiVariantAnalysisSkippedRepositories,
|
response.skipped_repositories as ApiVariantAnalysisSkippedRepositories,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -77,7 +77,7 @@ export function processUpdatedVariantAnalysis(
|
|||||||
executionStartTime: previousVariantAnalysis.executionStartTime,
|
executionStartTime: previousVariantAnalysis.executionStartTime,
|
||||||
createdAt: response.created_at,
|
createdAt: response.created_at,
|
||||||
updatedAt: response.updated_at,
|
updatedAt: response.updated_at,
|
||||||
status: processApiStatus(response.status),
|
status: mapApiStatus(response.status),
|
||||||
completedAt: response.completed_at,
|
completedAt: response.completed_at,
|
||||||
actionsWorkflowRunId: response.actions_workflow_run_id,
|
actionsWorkflowRunId: response.actions_workflow_run_id,
|
||||||
scannedRepos,
|
scannedRepos,
|
||||||
@@ -85,15 +85,13 @@ export function processUpdatedVariantAnalysis(
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (response.failure_reason) {
|
if (response.failure_reason) {
|
||||||
variantAnalysis.failureReason = processFailureReason(
|
variantAnalysis.failureReason = mapFailureReason(response.failure_reason);
|
||||||
response.failure_reason,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return variantAnalysis;
|
return variantAnalysis;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function processVariantAnalysisRepositoryTask(
|
export function mapVariantAnalysisRepositoryTask(
|
||||||
response: ApiVariantAnalysisRepoTask,
|
response: ApiVariantAnalysisRepoTask,
|
||||||
): VariantAnalysisRepositoryTask {
|
): VariantAnalysisRepositoryTask {
|
||||||
return {
|
return {
|
||||||
@@ -102,7 +100,7 @@ export function processVariantAnalysisRepositoryTask(
|
|||||||
fullName: response.repository.full_name,
|
fullName: response.repository.full_name,
|
||||||
private: response.repository.private,
|
private: response.repository.private,
|
||||||
},
|
},
|
||||||
analysisStatus: processApiRepoStatus(response.analysis_status),
|
analysisStatus: mapApiRepoStatus(response.analysis_status),
|
||||||
resultCount: response.result_count,
|
resultCount: response.result_count,
|
||||||
artifactSizeInBytes: response.artifact_size_in_bytes,
|
artifactSizeInBytes: response.artifact_size_in_bytes,
|
||||||
failureMessage: response.failure_message,
|
failureMessage: response.failure_message,
|
||||||
@@ -112,7 +110,7 @@ export function processVariantAnalysisRepositoryTask(
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function processScannedRepository(
|
export function mapScannedRepository(
|
||||||
scannedRepo: ApiVariantAnalysisScannedRepository,
|
scannedRepo: ApiVariantAnalysisScannedRepository,
|
||||||
): VariantAnalysisScannedRepository {
|
): VariantAnalysisScannedRepository {
|
||||||
return {
|
return {
|
||||||
@@ -123,33 +121,31 @@ export function processScannedRepository(
|
|||||||
stargazersCount: scannedRepo.repository.stargazers_count,
|
stargazersCount: scannedRepo.repository.stargazers_count,
|
||||||
updatedAt: scannedRepo.repository.updated_at,
|
updatedAt: scannedRepo.repository.updated_at,
|
||||||
},
|
},
|
||||||
analysisStatus: processApiRepoStatus(scannedRepo.analysis_status),
|
analysisStatus: mapApiRepoStatus(scannedRepo.analysis_status),
|
||||||
resultCount: scannedRepo.result_count,
|
resultCount: scannedRepo.result_count,
|
||||||
artifactSizeInBytes: scannedRepo.artifact_size_in_bytes,
|
artifactSizeInBytes: scannedRepo.artifact_size_in_bytes,
|
||||||
failureMessage: scannedRepo.failure_message,
|
failureMessage: scannedRepo.failure_message,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function processScannedRepositories(
|
function mapScannedRepositories(
|
||||||
scannedRepos: ApiVariantAnalysisScannedRepository[],
|
scannedRepos: ApiVariantAnalysisScannedRepository[],
|
||||||
): VariantAnalysisScannedRepository[] {
|
): VariantAnalysisScannedRepository[] {
|
||||||
return scannedRepos.map((scannedRepo) =>
|
return scannedRepos.map((scannedRepo) => mapScannedRepository(scannedRepo));
|
||||||
processScannedRepository(scannedRepo),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function processSkippedRepositories(
|
function mapSkippedRepositories(
|
||||||
skippedRepos: ApiVariantAnalysisSkippedRepositories,
|
skippedRepos: ApiVariantAnalysisSkippedRepositories,
|
||||||
): VariantAnalysisSkippedRepositories {
|
): VariantAnalysisSkippedRepositories {
|
||||||
return {
|
return {
|
||||||
accessMismatchRepos: processRepoGroup(skippedRepos.access_mismatch_repos),
|
accessMismatchRepos: mapRepoGroup(skippedRepos.access_mismatch_repos),
|
||||||
notFoundRepos: processNotFoundRepoGroup(skippedRepos.not_found_repos),
|
notFoundRepos: mapNotFoundRepoGroup(skippedRepos.not_found_repos),
|
||||||
noCodeqlDbRepos: processRepoGroup(skippedRepos.no_codeql_db_repos),
|
noCodeqlDbRepos: mapRepoGroup(skippedRepos.no_codeql_db_repos),
|
||||||
overLimitRepos: processRepoGroup(skippedRepos.over_limit_repos),
|
overLimitRepos: mapRepoGroup(skippedRepos.over_limit_repos),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function processRepoGroup(
|
function mapRepoGroup(
|
||||||
repoGroup: ApiVariantAnalysisSkippedRepositoryGroup | undefined,
|
repoGroup: ApiVariantAnalysisSkippedRepositoryGroup | undefined,
|
||||||
): VariantAnalysisSkippedRepositoryGroup | undefined {
|
): VariantAnalysisSkippedRepositoryGroup | undefined {
|
||||||
if (!repoGroup) {
|
if (!repoGroup) {
|
||||||
@@ -172,7 +168,7 @@ function processRepoGroup(
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function processNotFoundRepoGroup(
|
function mapNotFoundRepoGroup(
|
||||||
repoGroup: ApiVariantAnalysisNotFoundRepositoryGroup | undefined,
|
repoGroup: ApiVariantAnalysisNotFoundRepositoryGroup | undefined,
|
||||||
): VariantAnalysisSkippedRepositoryGroup | undefined {
|
): VariantAnalysisSkippedRepositoryGroup | undefined {
|
||||||
if (!repoGroup) {
|
if (!repoGroup) {
|
||||||
@@ -191,7 +187,7 @@ function processNotFoundRepoGroup(
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function processApiRepoStatus(
|
function mapApiRepoStatus(
|
||||||
analysisStatus: ApiVariantAnalysisRepoStatus,
|
analysisStatus: ApiVariantAnalysisRepoStatus,
|
||||||
): VariantAnalysisRepoStatus {
|
): VariantAnalysisRepoStatus {
|
||||||
switch (analysisStatus) {
|
switch (analysisStatus) {
|
||||||
@@ -210,9 +206,7 @@ function processApiRepoStatus(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function processApiStatus(
|
function mapApiStatus(status: ApiVariantAnalysisStatus): VariantAnalysisStatus {
|
||||||
status: ApiVariantAnalysisStatus,
|
|
||||||
): VariantAnalysisStatus {
|
|
||||||
if (status === "succeeded") {
|
if (status === "succeeded") {
|
||||||
return VariantAnalysisStatus.Succeeded;
|
return VariantAnalysisStatus.Succeeded;
|
||||||
} else if (status === "in_progress") {
|
} else if (status === "in_progress") {
|
||||||
@@ -226,7 +220,7 @@ function processApiStatus(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function processFailureReason(
|
export function mapFailureReason(
|
||||||
failureReason: ApiVariantAnalysisFailureReason,
|
failureReason: ApiVariantAnalysisFailureReason,
|
||||||
): VariantAnalysisFailureReason {
|
): VariantAnalysisFailureReason {
|
||||||
switch (failureReason) {
|
switch (failureReason) {
|
||||||
@@ -11,7 +11,7 @@ import {
|
|||||||
repoHasDownloadableArtifact,
|
repoHasDownloadableArtifact,
|
||||||
} from "./shared/variant-analysis";
|
} from "./shared/variant-analysis";
|
||||||
import type { VariantAnalysis as ApiVariantAnalysis } from "./gh-api/variant-analysis";
|
import type { VariantAnalysis as ApiVariantAnalysis } from "./gh-api/variant-analysis";
|
||||||
import { processUpdatedVariantAnalysis } from "./variant-analysis-processor";
|
import { mapUpdatedVariantAnalysis } from "./variant-analysis-mapper";
|
||||||
import { DisposableObject } from "../common/disposable-object";
|
import { DisposableObject } from "../common/disposable-object";
|
||||||
import { sleep } from "../common/time";
|
import { sleep } from "../common/time";
|
||||||
import { getErrorMessage } from "../common/helpers-pure";
|
import { getErrorMessage } from "../common/helpers-pure";
|
||||||
@@ -119,7 +119,7 @@ export class VariantAnalysisMonitor extends DisposableObject {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
variantAnalysis = processUpdatedVariantAnalysis(
|
variantAnalysis = mapUpdatedVariantAnalysis(
|
||||||
variantAnalysis,
|
variantAnalysis,
|
||||||
variantAnalysisSummary,
|
variantAnalysisSummary,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -3,10 +3,10 @@ import type { VariantAnalysisScannedRepository as ApiVariantAnalysisScannedRepos
|
|||||||
import type { VariantAnalysisScannedRepository } from "../../../src/variant-analysis/shared/variant-analysis";
|
import type { VariantAnalysisScannedRepository } from "../../../src/variant-analysis/shared/variant-analysis";
|
||||||
import { VariantAnalysisRepoStatus } from "../../../src/variant-analysis/shared/variant-analysis";
|
import { VariantAnalysisRepoStatus } from "../../../src/variant-analysis/shared/variant-analysis";
|
||||||
import {
|
import {
|
||||||
processScannedRepository,
|
mapScannedRepository,
|
||||||
processVariantAnalysis,
|
mapVariantAnalysis,
|
||||||
processVariantAnalysisRepositoryTask,
|
mapVariantAnalysisRepositoryTask,
|
||||||
} from "../../../src/variant-analysis/variant-analysis-processor";
|
} from "../../../src/variant-analysis/variant-analysis-mapper";
|
||||||
import {
|
import {
|
||||||
createMockScannedRepo,
|
createMockScannedRepo,
|
||||||
createMockScannedRepos,
|
createMockScannedRepos,
|
||||||
@@ -17,7 +17,7 @@ import { createMockSubmission } from "../../factories/variant-analysis/shared/va
|
|||||||
import { createMockVariantAnalysisRepoTask } from "../../factories/variant-analysis/gh-api/variant-analysis-repo-task";
|
import { createMockVariantAnalysisRepoTask } from "../../factories/variant-analysis/gh-api/variant-analysis-repo-task";
|
||||||
import { QueryLanguage } from "../../../src/common/query-language";
|
import { QueryLanguage } from "../../../src/common/query-language";
|
||||||
|
|
||||||
describe(processVariantAnalysis.name, () => {
|
describe(mapVariantAnalysis.name, () => {
|
||||||
const scannedRepos = createMockScannedRepos();
|
const scannedRepos = createMockScannedRepos();
|
||||||
const skippedRepos = createMockSkippedRepos();
|
const skippedRepos = createMockSkippedRepos();
|
||||||
const mockApiResponse = createMockApiResponse(
|
const mockApiResponse = createMockApiResponse(
|
||||||
@@ -27,8 +27,8 @@ describe(processVariantAnalysis.name, () => {
|
|||||||
);
|
);
|
||||||
const mockSubmission = createMockSubmission();
|
const mockSubmission = createMockSubmission();
|
||||||
|
|
||||||
it("should process an API response and return a variant analysis", () => {
|
it("should map an API response and return a variant analysis", () => {
|
||||||
const result = processVariantAnalysis(mockSubmission, mockApiResponse);
|
const result = mapVariantAnalysis(mockSubmission, mockApiResponse);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
access_mismatch_repos,
|
access_mismatch_repos,
|
||||||
@@ -173,11 +173,11 @@ describe(processVariantAnalysis.name, () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
describe(processVariantAnalysisRepositoryTask.name, () => {
|
describe(mapVariantAnalysisRepositoryTask.name, () => {
|
||||||
const mockApiResponse = createMockVariantAnalysisRepoTask();
|
const mockApiResponse = createMockVariantAnalysisRepoTask();
|
||||||
|
|
||||||
it("should return the correct result", () => {
|
it("should return the correct result", () => {
|
||||||
expect(processVariantAnalysisRepositoryTask(mockApiResponse)).toEqual({
|
expect(mapVariantAnalysisRepositoryTask(mockApiResponse)).toEqual({
|
||||||
repository: {
|
repository: {
|
||||||
id: mockApiResponse.repository.id,
|
id: mockApiResponse.repository.id,
|
||||||
fullName: mockApiResponse.repository.full_name,
|
fullName: mockApiResponse.repository.full_name,
|
||||||
@@ -194,7 +194,7 @@ describe(processVariantAnalysisRepositoryTask.name, () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe(processScannedRepository.name, () => {
|
describe(mapScannedRepository.name, () => {
|
||||||
const mockApiResponse = createMockScannedRepo(
|
const mockApiResponse = createMockScannedRepo(
|
||||||
faker.word.sample(),
|
faker.word.sample(),
|
||||||
faker.datatype.boolean(),
|
faker.datatype.boolean(),
|
||||||
@@ -202,7 +202,7 @@ describe(processScannedRepository.name, () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
it("should return the correct result", () => {
|
it("should return the correct result", () => {
|
||||||
expect(processScannedRepository(mockApiResponse)).toEqual({
|
expect(mapScannedRepository(mockApiResponse)).toEqual({
|
||||||
repository: {
|
repository: {
|
||||||
id: mockApiResponse.repository.id,
|
id: mockApiResponse.repository.id,
|
||||||
fullName: mockApiResponse.repository.full_name,
|
fullName: mockApiResponse.repository.full_name,
|
||||||
@@ -14,10 +14,10 @@ import type { VariantAnalysis } from "../../../../src/variant-analysis/shared/va
|
|||||||
import { VariantAnalysisStatus } from "../../../../src/variant-analysis/shared/variant-analysis";
|
import { VariantAnalysisStatus } from "../../../../src/variant-analysis/shared/variant-analysis";
|
||||||
import { createMockScannedRepos } from "../../../factories/variant-analysis/gh-api/scanned-repositories";
|
import { createMockScannedRepos } from "../../../factories/variant-analysis/gh-api/scanned-repositories";
|
||||||
import {
|
import {
|
||||||
processFailureReason,
|
mapFailureReason,
|
||||||
processScannedRepository,
|
mapScannedRepository,
|
||||||
processUpdatedVariantAnalysis,
|
mapUpdatedVariantAnalysis,
|
||||||
} from "../../../../src/variant-analysis/variant-analysis-processor";
|
} from "../../../../src/variant-analysis/variant-analysis-mapper";
|
||||||
import { createMockVariantAnalysis } from "../../../factories/variant-analysis/shared/variant-analysis";
|
import { createMockVariantAnalysis } from "../../../factories/variant-analysis/shared/variant-analysis";
|
||||||
import { createMockApp } from "../../../__mocks__/appMock";
|
import { createMockApp } from "../../../__mocks__/appMock";
|
||||||
import { createMockCommandManager } from "../../../__mocks__/commandsMock";
|
import { createMockCommandManager } from "../../../__mocks__/commandsMock";
|
||||||
@@ -88,7 +88,7 @@ describe("Variant Analysis Monitor", () => {
|
|||||||
expect(onVariantAnalysisChangeSpy).toHaveBeenCalledWith(
|
expect(onVariantAnalysisChangeSpy).toHaveBeenCalledWith(
|
||||||
expect.objectContaining({
|
expect.objectContaining({
|
||||||
status: VariantAnalysisStatus.Failed,
|
status: VariantAnalysisStatus.Failed,
|
||||||
failureReason: processFailureReason(
|
failureReason: mapFailureReason(
|
||||||
mockFailedApiResponse.failure_reason as VariantAnalysisFailureReason,
|
mockFailedApiResponse.failure_reason as VariantAnalysisFailureReason,
|
||||||
),
|
),
|
||||||
}),
|
}),
|
||||||
@@ -127,8 +127,8 @@ describe("Variant Analysis Monitor", () => {
|
|||||||
expect(mockEecuteCommand).toHaveBeenNthCalledWith(
|
expect(mockEecuteCommand).toHaveBeenNthCalledWith(
|
||||||
index + 1,
|
index + 1,
|
||||||
"codeQL.autoDownloadVariantAnalysisResult",
|
"codeQL.autoDownloadVariantAnalysisResult",
|
||||||
processScannedRepository(succeededRepo),
|
mapScannedRepository(succeededRepo),
|
||||||
processUpdatedVariantAnalysis(variantAnalysis, mockApiResponse),
|
mapUpdatedVariantAnalysis(variantAnalysis, mockApiResponse),
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user