copilot-api / tests /token-refresh.test.ts
imspsycho's picture
Initial upload from Google Colab
98c9143 verified
Raw
History Blame Contribute Delete
906 Bytes
import { expect, test } from "bun:test"
import { getRefreshDeadlineMs, getRefreshPollDelayMs } from "../src/lib/token"
test("builds refresh deadline from refresh_in and local time", () => {
const nowMs = 1_000_000
expect(getRefreshDeadlineMs(1_800, nowMs)).toBe(nowMs + 1_740_000)
})
test("clamps refresh deadline to avoid a hot loop", () => {
const nowMs = 1_000_000
expect(getRefreshDeadlineMs(30, nowMs)).toBe(nowMs + 1_000)
})
test("caps poll delay at 15 seconds while waiting", () => {
const nowMs = 1_000_000
expect(getRefreshPollDelayMs(nowMs + 120_000, nowMs)).toBe(15_000)
})
test("uses remaining delay when refresh is close", () => {
const nowMs = 1_000_000
expect(getRefreshPollDelayMs(nowMs + 8_000, nowMs)).toBe(8_000)
})
test("returns zero when refresh is already due", () => {
const nowMs = 1_000_000
expect(getRefreshPollDelayMs(nowMs - 1, nowMs)).toBe(0)
})