mirror of
https://github.com/stablyai/orca.git
synced 2026-09-22 08:02:28 +00:00
* fix(cli): bound orchestration ask timeouts * fix(cli): harden remote timeout boundaries
58 lines
1.6 KiB
TypeScript
58 lines
1.6 KiB
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import {
|
|
isSafeTimerDelayMs,
|
|
MAX_TIMER_DELAY_MS,
|
|
parsePositiveSafeIntegerNumericText,
|
|
parsePositiveSafeIntegerText
|
|
} from './timer-delay'
|
|
|
|
describe('timer delay policy', () => {
|
|
it.each([0, 1, MAX_TIMER_DELAY_MS])('accepts timer delay %s', (value) => {
|
|
expect(isSafeTimerDelayMs(value)).toBe(true)
|
|
})
|
|
|
|
it.each([-1, 1.5, MAX_TIMER_DELAY_MS + 1, Number.MAX_SAFE_INTEGER + 1])(
|
|
'rejects timer delay %s',
|
|
(value) => {
|
|
expect(isSafeTimerDelayMs(value)).toBe(false)
|
|
}
|
|
)
|
|
|
|
it.each([
|
|
['1', 1],
|
|
['00123', 123],
|
|
['+1000', 1_000],
|
|
['1000.0', 1_000],
|
|
['1e3', 1_000],
|
|
['.1e4', 1_000],
|
|
['0x3e8', 1_000],
|
|
['0b1000', 8],
|
|
['0o10', 8],
|
|
[String(Number.MAX_SAFE_INTEGER), Number.MAX_SAFE_INTEGER]
|
|
])('parses exact positive safe integer text %s', (raw, expected) => {
|
|
expect(parsePositiveSafeIntegerText(raw)).toBe(expected)
|
|
})
|
|
|
|
it.each(['', '0', '-1', '1.5', '.1', '1e-1', '9007199254740991.1', '9007199254740992'])(
|
|
'rejects inexact or unsafe integer text %s',
|
|
(raw) => {
|
|
expect(parsePositiveSafeIntegerText(raw)).toBeNull()
|
|
}
|
|
)
|
|
|
|
it.each([
|
|
['+1000', 1_000],
|
|
['1000.0', 1_000],
|
|
['1e3', 1_000]
|
|
])('parses CLI-compatible positive integer text %s', (raw, expected) => {
|
|
expect(parsePositiveSafeIntegerNumericText(raw)).toBe(expected)
|
|
})
|
|
|
|
it.each(['', '0', '-1', '1.5', 'Infinity', '9007199254740992'])(
|
|
'rejects invalid CLI-compatible integer text %s',
|
|
(raw) => {
|
|
expect(parsePositiveSafeIntegerNumericText(raw)).toBeNull()
|
|
}
|
|
)
|
|
})
|