mirror of
https://github.com/JimLiu/baoyu-skills.git
synced 2026-07-13 06:19:46 +08:00
6afcfa80cc
Add cookie sidecar to export/restore X session cookies across runs. Implement graceful Browser.close via WebSocket before falling back to kill. Auto-detect and clean stale Chrome profile lock artifacts on launch failure. Wait for X session readiness (auth_token + ct0) before auto-continuing login flows.
29 lines
943 B
TypeScript
29 lines
943 B
TypeScript
import { describe, expect, test } from "bun:test";
|
|
|
|
import { buildXSessionCookieMap, hasRequiredXSessionCookies } from "../adapters/x/session";
|
|
|
|
describe("X session helpers", () => {
|
|
test("keeps non-empty X session cookies", () => {
|
|
expect(
|
|
buildXSessionCookieMap([
|
|
{ name: "auth_token", value: "auth" },
|
|
{ name: "ct0", value: "csrf" },
|
|
{ name: "twid", value: "u=123" },
|
|
{ name: "ct0", value: "" },
|
|
{ name: "", value: "ignored" },
|
|
{ name: "gt", value: undefined },
|
|
]),
|
|
).toEqual({
|
|
auth_token: "auth",
|
|
ct0: "csrf",
|
|
twid: "u=123",
|
|
});
|
|
});
|
|
|
|
test("requires auth_token and ct0 for a ready X session", () => {
|
|
expect(hasRequiredXSessionCookies({ auth_token: "auth" })).toBe(false);
|
|
expect(hasRequiredXSessionCookies({ ct0: "csrf" })).toBe(false);
|
|
expect(hasRequiredXSessionCookies({ auth_token: "auth", ct0: "csrf" })).toBe(true);
|
|
});
|
|
});
|