/ opencodehub / tests / unit / security-policies.test.ts
Swadhin Biswas test(qa): add e2e, integration, unit, and load coverage · 3/6/2026
1c29e63
38 lines · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import { describe, expect, it } from "vitest";
import {
  evaluateLicensePolicy,
  evaluateSecretPolicy,
} from "@/lib/security-policies";

const basePolicy = {
  enforcementMode: "block" as const,
  secretBlockedTypes: ["aws_access_key"],
  secretMinSeverity: "HIGH" as const,
  licenseAllowedTypes: ["permissive"],
  licenseBlockedLicenses: ["GPL-3.0"],
  isEnabled: true,
};

describe("security policy evaluation", () => {
  it("flags blocked secret type", () => {
    const result = evaluateSecretPolicy(basePolicy, "aws_access_key", "LOW");
    expect(result.violated).toBe(true);
  });

  it("flags secret by severity threshold", () => {
    const result = evaluateSecretPolicy(basePolicy, "generic", "CRITICAL");
    expect(result.violated).toBe(true);
  });

  it("flags blocked license name", () => {
    const result = evaluateLicensePolicy(basePolicy, "copyleft", "LICENSE-GPL-3.0", "License: GPL-3.0");
    expect(result.violated).toBe(true);
  });

  it("flags disallowed license type", () => {
    const result = evaluateLicensePolicy(basePolicy, "copyleft", "LICENSE-MPL-2.0", "License: MPL-2.0");
    expect(result.violated).toBe(true);
  });
});