From 697ed97fa521d910d4ec988275dcf32e8cc48022 Mon Sep 17 00:00:00 2001 From: Henry Mercer Date: Tue, 6 Dec 2022 18:23:55 +0000 Subject: [PATCH] Factor out some code in post-init tests --- lib/init-action-post-helper.test.js | 70 +++++++++------------- lib/init-action-post-helper.test.js.map | 2 +- src/init-action-post-helper.test.ts | 77 +++++++++++-------------- src/workflow.ts | 2 +- 4 files changed, 63 insertions(+), 88 deletions(-) diff --git a/lib/init-action-post-helper.test.js b/lib/init-action-post-helper.test.js index 53df0bcde..e91f48e83 100644 --- a/lib/init-action-post-helper.test.js +++ b/lib/init-action-post-helper.test.js @@ -79,47 +79,39 @@ const workflow = __importStar(require("./workflow")); }); }); (0, ava_1.default)("uploads failed SARIF run for typical workflow", async (t) => { - const actionsWorkflow = { - name: "CodeQL", - on: { - push: { - branches: ["main"], - }, - pull_request: { - branches: ["main"], + const actionsWorkflow = createTestWorkflow([ + { + name: "Checkout repository", + uses: "actions/checkout@v3", + }, + { + name: "Initialize CodeQL", + uses: "github/codeql-action/init@v2", + with: { + languages: "javascript", }, }, - jobs: { - analyze: { - name: "CodeQL Analysis", - "runs-on": "ubuntu-latest", - steps: [ - { - name: "Checkout repository", - uses: "actions/checkout@v3", - }, - { - name: "Initialize CodeQL", - uses: "github/codeql-action/init@v2", - with: { - languages: "javascript", - }, - }, - { - name: "Perform CodeQL Analysis", - uses: "github/codeql-action/analyze@v2", - with: { - category: "my-category", - }, - }, - ], + { + name: "Perform CodeQL Analysis", + uses: "github/codeql-action/analyze@v2", + with: { + category: "my-category", }, }, - }; + ]); await testFailedSarifUpload(t, actionsWorkflow, { category: "my-category" }); }); (0, ava_1.default)("uploading failed SARIF run fails when workflow does not reference github/codeql-action", async (t) => { - const actionsWorkflow = { + const actionsWorkflow = createTestWorkflow([ + { + name: "Checkout repository", + uses: "actions/checkout@v3", + }, + ]); + await t.throwsAsync(async () => await testFailedSarifUpload(t, actionsWorkflow)); +}); +function createTestWorkflow(steps) { + return { name: "CodeQL", on: { push: { @@ -133,17 +125,11 @@ const workflow = __importStar(require("./workflow")); analyze: { name: "CodeQL Analysis", "runs-on": "ubuntu-latest", - steps: [ - { - name: "Checkout repository", - uses: "actions/checkout@v3", - }, - ], + steps, }, }, }; - await t.throwsAsync(async () => await testFailedSarifUpload(t, actionsWorkflow)); -}); +} async function testFailedSarifUpload(t, actionsWorkflow, { category } = {}) { const config = { codeQLCmd: "codeql", diff --git a/lib/init-action-post-helper.test.js.map b/lib/init-action-post-helper.test.js.map index 1764ce607..351c0fea0 100644 --- a/lib/init-action-post-helper.test.js.map +++ b/lib/init-action-post-helper.test.js.map @@ -1 +1 @@ -{"version":3,"file":"init-action-post-helper.test.js","sourceRoot":"","sources":["../src/init-action-post-helper.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"init-action-post-helper.test.js","sourceRoot":"","sources":["../src/init-action-post-helper.test.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/init-action-post-helper.test.ts b/src/init-action-post-helper.test.ts index 1a7ec849d..724935fce 100644 --- a/src/init-action-post-helper.test.ts +++ b/src/init-action-post-helper.test.ts @@ -86,48 +86,45 @@ test("post: init action with debug mode on", async (t) => { }); test("uploads failed SARIF run for typical workflow", async (t) => { - const actionsWorkflow: workflow.Workflow = { - name: "CodeQL", - on: { - push: { - branches: ["main"], - }, - pull_request: { - branches: ["main"], + const actionsWorkflow = createTestWorkflow([ + { + name: "Checkout repository", + uses: "actions/checkout@v3", + }, + { + name: "Initialize CodeQL", + uses: "github/codeql-action/init@v2", + with: { + languages: "javascript", }, }, - jobs: { - analyze: { - name: "CodeQL Analysis", - "runs-on": "ubuntu-latest", - steps: [ - { - name: "Checkout repository", - uses: "actions/checkout@v3", - }, - { - name: "Initialize CodeQL", - uses: "github/codeql-action/init@v2", - with: { - languages: "javascript", - }, - }, - { - name: "Perform CodeQL Analysis", - uses: "github/codeql-action/analyze@v2", - with: { - category: "my-category", - }, - }, - ], + { + name: "Perform CodeQL Analysis", + uses: "github/codeql-action/analyze@v2", + with: { + category: "my-category", }, }, - }; + ]); await testFailedSarifUpload(t, actionsWorkflow, { category: "my-category" }); }); test("uploading failed SARIF run fails when workflow does not reference github/codeql-action", async (t) => { - const actionsWorkflow: workflow.Workflow = { + const actionsWorkflow = createTestWorkflow([ + { + name: "Checkout repository", + uses: "actions/checkout@v3", + }, + ]); + await t.throwsAsync( + async () => await testFailedSarifUpload(t, actionsWorkflow) + ); +}); + +function createTestWorkflow( + steps: workflow.WorkflowJobStep[] +): workflow.Workflow { + return { name: "CodeQL", on: { push: { @@ -141,19 +138,11 @@ test("uploading failed SARIF run fails when workflow does not reference github/c analyze: { name: "CodeQL Analysis", "runs-on": "ubuntu-latest", - steps: [ - { - name: "Checkout repository", - uses: "actions/checkout@v3", - }, - ], + steps, }, }, }; - await t.throwsAsync( - async () => await testFailedSarifUpload(t, actionsWorkflow) - ); -}); +} async function testFailedSarifUpload( t: ExecutionContext, diff --git a/src/workflow.ts b/src/workflow.ts index 1a3e3f114..315d326b2 100644 --- a/src/workflow.ts +++ b/src/workflow.ts @@ -7,7 +7,7 @@ import * as yaml from "js-yaml"; import * as api from "./api-client"; import { getRequiredEnvParam } from "./util"; -interface WorkflowJobStep { +export interface WorkflowJobStep { name?: string; run?: any; uses?: string;