fix: show why a client tunnel failed to start (Plugin-Tunnels#2)

This commit is contained in:
LukeGus committed 2026-10-15 21:42:28 -05:00
1 parent 6084ed4d3c
commit cc5dce18e2
3 files changed
+40 -1

No files matched your search

@@ -145,6 +145,35 @@ describe("client tunnel runtime authentication", () => {
expect(sockets).toHaveLength(1);
});
it("keeps the relay's reason when it closes after an error", async () => {
const { context, runtimes, sockets } = setup();
const runtime = { status: { connected: true } };
runtimes.set("web", runtime);
const test = context.testC2SRelay(
{ name: "web" },
"127.0.0.1",
8443,
null,
runtime,
);
await vi.waitFor(() => expect(sockets).toHaveLength(1));
sockets[0].emit(
"message",
Buffer.from(
JSON.stringify({
type: "error",
error: "Target 127.0.0.1:8443 refused",
}),
),
false,
);
sockets[0].close();
expect(await test).toMatchObject({ success: false });
expect(runtimes.get("web").status.reason).toBe(
"Target 127.0.0.1:8443 refused",
);
});
it("keeps the tunnel connected when one of its connections fails", async () => {
const { context, runtimes, sockets } = setup();
runtimes.set("web", { status: { connected: true, status: "CONNECTED" } });