import { BearerConnectionTarget, PrimaryConnectionTarget, } from "@t3tools/client-runtime/connection"; import { EnvironmentId, PRIMARY_LOCAL_ENVIRONMENT_ID } from "@t3tools/contracts"; import { describe, expect, it } from "vite-plus/test"; import { createDesktopSecondaryBootstrapsReader, desktopLocalBackendId, desktopLocalConnectionId, isDesktopLocalConnectionTarget, } from "./desktopLocal"; describe("desktop local connection identity", () => { it("preserves the desktop backend instance id", () => { const target = new BearerConnectionTarget({ connectionId: desktopLocalConnectionId("wsl:Ubuntu"), environmentId: EnvironmentId.make("environment-wsl"), label: "WSL (Ubuntu)", }); expect(isDesktopLocalConnectionTarget(target)).toBe(true); expect(desktopLocalBackendId(target)).toBe("wsl:Ubuntu"); }); it("does not classify the primary environment as desktop-local", () => { const target = new PrimaryConnectionTarget({ environmentId: EnvironmentId.make("environment-primary"), httpBaseUrl: "http://127.0.0.1:3773", label: "This device", wsBaseUrl: "ws://127.0.0.1:3773", }); expect(isDesktopLocalConnectionTarget(target)).toBe(false); expect(desktopLocalBackendId(target)).toBeNull(); }); }); describe("desktop local topology reads", () => { it("distinguishes a successful empty topology from a read failure", () => { let readBootstraps = () => []; const reader = createDesktopSecondaryBootstrapsReader(() => ({ getLocalEnvironmentBootstraps: () => readBootstraps(), })); expect(reader.readResult()).toEqual({ _tag: "Success", bootstraps: [] }); const cause = new Error("IPC unavailable"); readBootstraps = () => { throw cause; }; expect(reader.readResult()).toEqual({ _tag: "Failure", cause }); }); it("filters the primary bootstrap from successful topology reads", () => { const secondary = { id: "wsl:Ubuntu", label: "WSL: Ubuntu", httpBaseUrl: "http://127.0.0.1:4000", wsBaseUrl: "ws://127.0.0.1:4000", }; const reader = createDesktopSecondaryBootstrapsReader(() => ({ getLocalEnvironmentBootstraps: () => [ { ...secondary, id: PRIMARY_LOCAL_ENVIRONMENT_ID, label: "Windows", }, secondary, ], })); expect(reader.readResult()).toEqual({ _tag: "Success", bootstraps: [secondary] }); }); it("retains the last successful snapshot only until another read succeeds", () => { const secondary = { id: "wsl:Ubuntu", label: "WSL: Ubuntu", httpBaseUrl: "http://127.0.0.1:4000", wsBaseUrl: "ws://127.0.0.1:4000", }; let readBootstraps = () => [secondary]; const reader = createDesktopSecondaryBootstrapsReader(() => ({ getLocalEnvironmentBootstraps: () => readBootstraps(), })); const connectedSnapshot = reader.readSnapshot(); expect(connectedSnapshot).toEqual([secondary]); readBootstraps = () => { throw new Error("IPC unavailable"); }; expect(reader.readSnapshot()).toBe(connectedSnapshot); readBootstraps = () => []; const removedSnapshot = reader.readSnapshot(); expect(removedSnapshot).toEqual([]); readBootstraps = () => { throw new Error("IPC unavailable again"); }; expect(reader.readSnapshot()).toBe(removedSnapshot); }); });