57 lines
1.7 KiB
TypeScript
57 lines
1.7 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { packageSetupSupport } from "../../../scripts/verify-package-discovery.mjs";
|
|
|
|
describe("packaged setup support classification", () => {
|
|
it.each([
|
|
["linux", true, true, true, true],
|
|
["linux", true, false, true, false],
|
|
["linux", false, true, false, false],
|
|
["linux", false, false, false, false],
|
|
["darwin", true, true, true, true],
|
|
["darwin", true, false, true, false],
|
|
["darwin", false, true, false, false],
|
|
["darwin", false, false, false, false],
|
|
["win32", true, true, true, false],
|
|
["win32", true, false, true, false],
|
|
["win32", false, true, false, false],
|
|
["win32", false, false, false, false],
|
|
] as const)(
|
|
"%s with node=%s and host=%s: agent setup=%s, Hopper setup=%s",
|
|
(platform, node, host, supportedSetupHost, hopperSetupSupported) => {
|
|
expect(
|
|
packageSetupSupport(
|
|
[
|
|
{ name: "host", ok: host },
|
|
{ name: "node", ok: node },
|
|
],
|
|
platform,
|
|
),
|
|
).toEqual({ supportedSetupHost, hopperSetupSupported });
|
|
},
|
|
);
|
|
|
|
it.each([
|
|
{ checks: undefined },
|
|
{ checks: [] },
|
|
{ checks: [{ name: "host", ok: true }] },
|
|
])("requires an affirmative Node check: $checks", ({ checks }) => {
|
|
expect(packageSetupSupport(checks, "linux")).toEqual({
|
|
supportedSetupHost: false,
|
|
hopperSetupSupported: false,
|
|
});
|
|
});
|
|
|
|
it("requires an affirmative host check only for Hopper setup", () => {
|
|
expect(
|
|
packageSetupSupport(
|
|
[
|
|
{ name: "node", ok: true },
|
|
{ name: "hopper", ok: true },
|
|
],
|
|
"linux",
|
|
),
|
|
).toEqual({ supportedSetupHost: true, hopperSetupSupported: false });
|
|
});
|
|
});
|