mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-28 06:05:24 +00:00
32 lines
994 B
TypeScript
32 lines
994 B
TypeScript
import { describe, expect, it, vi } from "vitest";
|
|
import { resolveC2SSourceHostId } from "../../src/backend/c2s-relay.js";
|
|
|
|
describe("resolveC2SSourceHostId", () => {
|
|
it("uses the row matching the stable sync id", async () => {
|
|
const findBySyncId = vi.fn().mockResolvedValue(42);
|
|
|
|
await expect(
|
|
resolveC2SSourceHostId(
|
|
{ sourceHostId: 7, sourceHostSyncId: "host-sync-id" },
|
|
findBySyncId,
|
|
),
|
|
).resolves.toBe(42);
|
|
expect(findBySyncId).toHaveBeenCalledWith("host-sync-id");
|
|
});
|
|
|
|
it("keeps a local id when no sync id is available", async () => {
|
|
await expect(
|
|
resolveC2SSourceHostId({ sourceHostId: 7 }, vi.fn()),
|
|
).resolves.toBe(7);
|
|
});
|
|
|
|
it("does not silently fall back to a mismatched id", async () => {
|
|
await expect(
|
|
resolveC2SSourceHostId(
|
|
{ sourceHostId: 7, sourceHostSyncId: "missing" },
|
|
vi.fn().mockResolvedValue(null),
|
|
),
|
|
).rejects.toThrow("not found on the remote server");
|
|
});
|
|
});
|