Rename variant analysis mapping functions (#3231)

This commit is contained in:
Charis Kyriakou
2024-01-11 16:11:01 +00:00
committed by GitHub
parent f9166f304b
commit 40ba2c03d3
5 changed files with 48 additions and 54 deletions

View File

@@ -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;

View File

@@ -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) {

View File

@@ -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,
); );

View File

@@ -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,

View File

@@ -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),
); );
}); });
}); });