test(core): mock fetch in OAuth transport fallback tests (#17059)

Co-authored-by: Bryan Morgan <bryanmorgan@google.com>
This commit is contained in:
jw bot
2026-01-28 05:30:08 -08:00
committed by GitHub
parent 9035ca32bc
commit 0a77999d73
2 changed files with 28 additions and 4 deletions
@@ -1998,6 +1998,19 @@ describe('connectToMcpServer - OAuth with transport fallback', () => {
vi.spyOn(console, 'warn').mockImplementation(() => {});
vi.spyOn(console, 'error').mockImplementation(() => {});
// Mock fetch to prevent real network calls during OAuth discovery fallback.
// When a 401 error lacks a www-authenticate header, the code attempts to
// fetch the header directly from the server, which would hang without this mock.
vi.stubGlobal(
'fetch',
vi.fn().mockResolvedValue({
status: 401,
headers: new Headers({
'www-authenticate': `Bearer realm="test", resource_metadata="http://test-server/.well-known/oauth-protected-resource"`,
}),
}),
);
mockTokenStorage = {
getCredentials: vi.fn().mockResolvedValue({ clientId: 'test-client' }),
} as unknown as MCPOAuthTokenStorage;
@@ -2019,6 +2032,7 @@ describe('connectToMcpServer - OAuth with transport fallback', () => {
afterEach(() => {
vi.clearAllMocks();
vi.unstubAllGlobals();
});
it('should handle HTTP 404 → SSE 401 → OAuth → SSE+OAuth succeeds', async () => {