mirror of https://github.com/openclaw/openclaw.git
test(ci): stabilize mattermost websocket retry test
This commit is contained in:
parent
d44af743db
commit
3e0ddaf5bc
|
|
@ -107,12 +107,10 @@ describe("mattermost websocket monitor", () => {
|
|||
});
|
||||
|
||||
it("retries when first attempt errors before open and next attempt succeeds", async () => {
|
||||
const abort = new AbortController();
|
||||
const reconnectDelays: number[] = [];
|
||||
const onError = vi.fn();
|
||||
const patches: Array<Record<string, unknown>> = [];
|
||||
const sockets: FakeWebSocket[] = [];
|
||||
let disconnects = 0;
|
||||
|
||||
const connectOnce = createMattermostConnectOnce({
|
||||
wsUrl: "wss://example.invalid/api/v4/websocket",
|
||||
|
|
@ -123,15 +121,8 @@ describe("mattermost websocket monitor", () => {
|
|||
return () => seq++;
|
||||
})(),
|
||||
onPosted: async () => {},
|
||||
abortSignal: abort.signal,
|
||||
statusSink: (patch) => {
|
||||
patches.push(patch as Record<string, unknown>);
|
||||
if (patch.lastDisconnect) {
|
||||
disconnects++;
|
||||
if (disconnects >= 2) {
|
||||
abort.abort();
|
||||
}
|
||||
}
|
||||
},
|
||||
webSocketFactory: () => {
|
||||
const socket = new FakeWebSocket();
|
||||
|
|
@ -151,10 +142,10 @@ describe("mattermost websocket monitor", () => {
|
|||
});
|
||||
|
||||
await runWithReconnect(connectOnce, {
|
||||
abortSignal: abort.signal,
|
||||
initialDelayMs: 1,
|
||||
onError,
|
||||
onReconnect: (delay) => reconnectDelays.push(delay),
|
||||
shouldReconnect: ({ outcome }) => outcome === "rejected",
|
||||
});
|
||||
|
||||
expect(sockets).toHaveLength(2);
|
||||
|
|
|
|||
Loading…
Reference in New Issue