Skip to content

Commit 383b86d

Browse files
committed
Refactor some test setup code into mockRiskAssessmentEnv
1 parent ca32b84 commit 383b86d

File tree

1 file changed

+21
-14
lines changed

1 file changed

+21
-14
lines changed

src/init-action-post-helper.test.ts

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -627,43 +627,50 @@ async function testFailedSarifUpload(
627627
return result;
628628
}
629629

630-
test("tryUploadSarifIfRunFailed - uploads as artifact for risk assessments", async (t) => {
630+
async function mockRiskAssessmentEnv(matrix: string) {
631631
process.env["GITHUB_JOB"] = "analyze";
632632
process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository";
633633
process.env["GITHUB_WORKSPACE"] =
634634
"/home/runner/work/codeql-action-fake-repository/codeql-action-fake-repository";
635635

636-
const logger = new RecordingLogger();
637-
const config = createTestConfig({
638-
analysisKinds: [AnalysisKind.RiskAssessment],
639-
codeQLCmd: "codeql-for-testing",
640-
languages: ["javascript"],
641-
});
642-
const features = createFeatures([]);
643-
644636
sinon
645637
.stub(apiClient, "getGitHubVersion")
646638
.resolves({ type: util.GitHubVariant.GHES, version: "3.0.0" });
647639

640+
const codeqlObject = await codeql.getCodeQLForTesting();
641+
sinon.stub(codeqlObject, "databaseExportDiagnostics").resolves();
642+
sinon.stub(codeqlObject, "diagnosticsExport").resolves();
643+
644+
sinon.stub(codeql, "getCodeQL").resolves(codeqlObject);
645+
646+
sinon.stub(core, "getInput").withArgs("matrix").returns(matrix);
647+
648648
const uploadArtifact = sinon.stub().resolves();
649649
const artifactClient = { uploadArtifact };
650650
sinon
651651
.stub(debugArtifacts, "getArtifactUploaderClient")
652652
.value(() => artifactClient);
653653

654+
return [uploadArtifact];
655+
}
656+
657+
test("tryUploadSarifIfRunFailed - uploads as artifact for risk assessments", async (t) => {
654658
const matrix = JSON.stringify({
655659
language: "javascript",
656660
category: "/language:javascript",
657661
"build-mode": "none",
658662
runner: "ubuntu-latest",
659663
});
660-
sinon.stub(core, "getInput").withArgs("matrix").returns(matrix);
661664

662-
const codeqlObject = await codeql.getCodeQLForTesting();
663-
sinon.stub(codeqlObject, "databaseExportDiagnostics").resolves();
664-
sinon.stub(codeqlObject, "diagnosticsExport").resolves();
665+
const [uploadArtifact] = await mockRiskAssessmentEnv(matrix);
665666

666-
sinon.stub(codeql, "getCodeQL").resolves(codeqlObject);
667+
const logger = new RecordingLogger();
668+
const config = createTestConfig({
669+
analysisKinds: [AnalysisKind.RiskAssessment],
670+
codeQLCmd: "codeql-for-testing",
671+
languages: ["javascript"],
672+
});
673+
const features = createFeatures([]);
667674

668675
const result = await initActionPostHelper.tryUploadSarifIfRunFailed(
669676
config,

0 commit comments

Comments
 (0)