/ opencodehub / tests / unit / runner-registration-token.test.ts
Swadhin Biswas test(qa): add e2e, integration, unit, and load coverage · 3/6/2026
1c29e63
28 lines · 1.0 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
import { describe, expect, it } from "vitest";
import {
  buildRunnerRegistrationTokenName,
  createRunnerRegistrationSecret,
  getRunnerRegistrationTokenTtlDays,
  isRunnerRegistrationTokenName,
} from "@/lib/runner-registration-token";

describe("runner registration tokens", () => {
  it("builds and recognizes registration token names", () => {
    const tokenName = buildRunnerRegistrationTokenName("token-123");
    expect(tokenName).toBe("ACTIONS_RUNNER_TOKEN:token-123");
    expect(isRunnerRegistrationTokenName(tokenName)).toBe(true);
    expect(isRunnerRegistrationTokenName("ACTIONS_RUNNER_TOKEN")).toBe(true);
    expect(isRunnerRegistrationTokenName("OTHER_TOKEN")).toBe(false);
  });

  it("generates reasonably strong secrets", () => {
    const secret = createRunnerRegistrationSecret();
    expect(secret.length).toBeGreaterThanOrEqual(48);
  });

  it("uses positive TTL defaults", () => {
    delete process.env.RUNNER_REGISTRATION_TOKEN_TTL_DAYS;
    expect(getRunnerRegistrationTokenTtlDays()).toBeGreaterThan(0);
  });
});