107 lines · 3.3 KB · TypeScript
RawDownload
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);  });});