mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-20 08:47:44 +00:00
changed 429 failover from 3 consecutive to 2 for OAuth users (#1579)
This commit is contained in:
@@ -50,16 +50,15 @@ describe('Flash Fallback Integration', () => {
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
|
||||
it('should trigger fallback after 3 consecutive 429 errors for OAuth users', async () => {
|
||||
it('should trigger fallback after 2 consecutive 429 errors for OAuth users', async () => {
|
||||
let fallbackCalled = false;
|
||||
let fallbackModel = '';
|
||||
|
||||
// Mock function that simulates exactly 3 429 errors, then succeeds after fallback
|
||||
// Mock function that simulates exactly 2 429 errors, then succeeds after fallback
|
||||
const mockApiCall = vi
|
||||
.fn()
|
||||
.mockRejectedValueOnce(createSimulated429Error())
|
||||
.mockRejectedValueOnce(createSimulated429Error())
|
||||
.mockRejectedValueOnce(createSimulated429Error())
|
||||
.mockResolvedValueOnce('success after fallback');
|
||||
|
||||
// Mock fallback handler
|
||||
@@ -69,9 +68,9 @@ describe('Flash Fallback Integration', () => {
|
||||
return fallbackModel;
|
||||
});
|
||||
|
||||
// Test with OAuth personal auth type, with maxAttempts = 3 to ensure fallback triggers
|
||||
// Test with OAuth personal auth type, with maxAttempts = 2 to ensure fallback triggers
|
||||
const result = await retryWithBackoff(mockApiCall, {
|
||||
maxAttempts: 3,
|
||||
maxAttempts: 2,
|
||||
initialDelayMs: 1,
|
||||
maxDelayMs: 10,
|
||||
shouldRetry: (error: Error) => {
|
||||
@@ -89,8 +88,8 @@ describe('Flash Fallback Integration', () => {
|
||||
AuthType.LOGIN_WITH_GOOGLE_PERSONAL,
|
||||
);
|
||||
expect(result).toBe('success after fallback');
|
||||
// Should have: 3 failures, then fallback triggered, then 1 success after retry reset
|
||||
expect(mockApiCall).toHaveBeenCalledTimes(4);
|
||||
// Should have: 2 failures, then fallback triggered, then 1 success after retry reset
|
||||
expect(mockApiCall).toHaveBeenCalledTimes(3);
|
||||
});
|
||||
|
||||
it('should not trigger fallback for API key users', async () => {
|
||||
|
||||
Reference in New Issue
Block a user