Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion src/lib/db.ts
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,6 @@ export const queries: Record<string, Statement> = {
AND repo = @repo
AND pr_number = @prNumber
AND finding_fingerprint = @findingFingerprint
AND head_sha = @headSha
LIMIT 1
`),

Expand Down
37 changes: 37 additions & 0 deletions src/services/__tests__/prFindingDismissals.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import { beforeEach, describe, expect, it } from "vitest";
import {
clearPrFindingDismissals,
dismissPrFinding,
isPrFindingFingerprintDismissed,
} from "../prFindingDismissals.js";

describe("PR finding dismissals", () => {
const owner = "dismissal-owner";
const repo = "dismissal-repo";
const prNumber = 6191;

beforeEach(() => {
clearPrFindingDismissals(owner, repo, prNumber);
});

it("keeps a finding fingerprint dismissed across later PR heads", () => {
dismissPrFinding({
owner,
repo,
prNumber,
reviewCommentId: 3298017416,
findingFingerprint: "same-finding-fingerprint",
dismissedBy: "maintainer",
headSha: "old-head-sha",
});

expect(
isPrFindingFingerprintDismissed(
owner,
repo,
prNumber,
"same-finding-fingerprint",
),
).toBe(true);
});
});
1 change: 0 additions & 1 deletion src/services/__tests__/prScan.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,6 @@ Remove the lifecycle hook or replace it with reviewed local setup code.`),
"repo",
12,
expect.any(String),
"abc123",
);
});

Expand Down
2 changes: 0 additions & 2 deletions src/services/prFindingDismissals.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,12 @@ export function isPrFindingFingerprintDismissed(
repo: string,
prNumber: number,
findingFingerprint: string,
headSha: string,
): boolean {
return !!queries.isPrFindingFingerprintDismissed.get({
owner,
repo,
prNumber,
findingFingerprint,
headSha,
});
}

Expand Down
5 changes: 2 additions & 3 deletions src/services/prScan.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ export async function runPrScan(
await persistReviewedFindingDismissals(octokit, { owner, repo, prNumber, headSha });
const findings = result.findings ?? [];
const openFindings = findings.filter(
(finding) => !isFindingDismissed(owner, repo, prNumber, headSha, finding),
(finding) => !isFindingDismissed(owner, repo, prNumber, finding),
);

if (!openFindings.length) {
Expand Down Expand Up @@ -129,11 +129,10 @@ function isFindingDismissed(
owner: string,
repo: string,
prNumber: number,
headSha: string,
finding: PrFinding,
): boolean {
const fingerprint = fingerprintPrFinding(finding);
return isPrFindingFingerprintDismissed(owner, repo, prNumber, fingerprint, headSha);
return isPrFindingFingerprintDismissed(owner, repo, prNumber, fingerprint);
}

function fingerprintPrFinding(finding: PrFinding): string {
Expand Down
Loading