feat(ai): add Codex device code login (#4911)
This commit is contained in:
@@ -6,7 +6,7 @@ describe("OAuth device-code polling", () => {
|
||||
vi.useRealTimers();
|
||||
});
|
||||
|
||||
it("waits before the first poll and returns the completed value", async () => {
|
||||
it("polls immediately and returns the completed value", async () => {
|
||||
vi.useFakeTimers();
|
||||
vi.setSystemTime(new Date("2026-03-09T00:00:00Z"));
|
||||
|
||||
@@ -15,7 +15,7 @@ describe("OAuth device-code polling", () => {
|
||||
pollTimes.push(Date.now());
|
||||
return pollTimes.length === 1
|
||||
? { status: "pending" as const }
|
||||
: { status: "complete" as const, accessToken: "token" };
|
||||
: { status: "complete" as const, value: "token" };
|
||||
});
|
||||
|
||||
const resultPromise = pollOAuthDeviceCodeFlow({
|
||||
@@ -24,17 +24,17 @@ describe("OAuth device-code polling", () => {
|
||||
poll,
|
||||
});
|
||||
|
||||
await vi.advanceTimersByTimeAsync(0);
|
||||
expect(pollTimes).toEqual([new Date("2026-03-09T00:00:00Z").getTime()]);
|
||||
|
||||
await vi.advanceTimersByTimeAsync(1999);
|
||||
expect(pollTimes).toEqual([]);
|
||||
expect(pollTimes).toEqual([new Date("2026-03-09T00:00:00Z").getTime()]);
|
||||
|
||||
await vi.advanceTimersByTimeAsync(1);
|
||||
expect(pollTimes).toEqual([new Date("2026-03-09T00:00:02Z").getTime()]);
|
||||
|
||||
await vi.advanceTimersByTimeAsync(2000);
|
||||
await expect(resultPromise).resolves.toBe("token");
|
||||
expect(pollTimes).toEqual([
|
||||
new Date("2026-03-09T00:00:00Z").getTime(),
|
||||
new Date("2026-03-09T00:00:02Z").getTime(),
|
||||
new Date("2026-03-09T00:00:04Z").getTime(),
|
||||
]);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user