Files
SnowLuma/packages/onebot/tests/api-handler-lifecycle.test.ts
DrSmoothl 852004291b feat(onebot): reconcile and drain network adapters
Serialize desired network plans, isolate per-adapter apply failures, restore prior bindings when possible, and report saved versus applied state. Quiesce Action and event ingress, await in-flight dispatches and transport closes, retain failed generations for retry, and propagate shutdown failures.
2026-07-10 13:49:17 +08:00

22 lines
818 B
TypeScript

import { describe, expect, it, vi } from 'vitest';
import { createCompiledTestHandler, testAction } from './helpers/compiled-action-handler';
describe('ApiHandler lifecycle ingress', () => {
it('permanently rejects new Actions after quiesce', async () => {
const run = vi.fn(async () => ({ status: 'ok' as const, retcode: 0, data: null }));
const handler = createCompiledTestHandler({} as never, [testAction('probe', run)], 10001);
expect(handler.isAcceptingActions).toBe(true);
handler.quiesce();
handler.quiesce();
await expect(handler.handle('probe', {})).resolves.toMatchObject({
status: 'failed',
retcode: 100,
wording: 'OneBot instance is shutting down',
});
expect(handler.isAcceptingActions).toBe(false);
expect(run).not.toHaveBeenCalled();
});
});