Files
openchamber/packages/web/server/lib/opencode/network-runtime.test.js
T

38 lines
1008 B
JavaScript

import { afterEach, describe, expect, it, vi } from 'vitest';
import { createOpenCodeNetworkRuntime } from './network-runtime.js';
const createRuntime = () => createOpenCodeNetworkRuntime({
state: {
openCodePort: 4096,
openCodeBaseUrl: null,
openCodeApiPrefix: '',
openCodeApiPrefixDetected: false,
openCodeApiDetectionTimer: null,
},
getOpenCodeAuthHeaders: () => ({}),
});
describe('OpenCode network runtime', () => {
afterEach(() => {
vi.useRealTimers();
vi.unstubAllGlobals();
});
it('clears the probe abort timer when readiness fetch rejects', async () => {
vi.useFakeTimers();
vi.setSystemTime(0);
vi.stubGlobal('fetch', vi.fn(async () => {
throw new Error('offline');
}));
const runtime = createRuntime();
const readyPromise = runtime.waitForReady('http://127.0.0.1:4096', 1);
await vi.advanceTimersByTimeAsync(100);
await expect(readyPromise).resolves.toBe(false);
expect(vi.getTimerCount()).toBe(0);
});
});