import { readFileSync } from "node:fs";
import { describe, expect, it } from "vitest";
import { classifyK3sPreflightFacts } from "../../packages/providers/machine-ssh/src/machine-ssh.js";

const evidence = JSON.parse(
  readFileSync("docs/progress/2026-08-24-i7a-live-preflight-evidence.json", "utf8"),
) as {
  clusterApiServerUrl: string;
  expectedClassifierState: string;
  facts: Record<string, string>;
  operation: string;
  secretMaterialCaptured: boolean;
  temporarySshKeyRemoved: boolean;
};

describe("I7a live preflight evidence", () => {
  it("classifies the sanitized debian1 live observation as already enrolled", () => {
    expect(evidence.operation).toContain("no K3s mutation");
    expect(evidence.secretMaterialCaptured).toBe(false);
    expect(evidence.temporarySshKeyRemoved).toBe(true);
    const result = classifyK3sPreflightFacts(evidence.facts, evidence.clusterApiServerUrl);
    expect(result.state).toBe(evidence.expectedClassifierState);
    expect(result.blockingReasons).toEqual([]);
  });
});
