Skip to content

Commit

Permalink
Fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
jspahrsummers committed Feb 11, 2025
1 parent 9262151 commit 3e2dd35
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 16 deletions.
4 changes: 4 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ export default {
...defaultEsmPreset,
moduleNameMapper: {
"^(\\.{1,2}/.*)\\.js$": "$1",
"^pkce-challenge$": "<rootDir>/src/__mocks__/pkce-challenge.ts"
},
transformIgnorePatterns: [
"/node_modules/(?!eventsource)/"
],
testPathIgnorePatterns: ["/node_modules/", "/dist/"],
};
6 changes: 6 additions & 0 deletions src/__mocks__/pkce-challenge.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export default function pkceChallenge() {
return {
code_verifier: "test_verifier",
code_challenge: "test_challenge",
};
}
20 changes: 7 additions & 13 deletions src/client/auth.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,6 @@ import {
registerClient,
} from "./auth.js";

// Mock pkce-challenge
jest.mock("pkce-challenge", () => ({
__esModule: true,
default: () => ({
code_verifier: "test_verifier",
code_challenge: "test_challenge",
}),
}));

// Mock fetch globally
const mockFetch = jest.fn();
Expand Down Expand Up @@ -43,11 +35,13 @@ describe("OAuth Authorization", () => {

const metadata = await discoverOAuthMetadata("https://auth.example.com");
expect(metadata).toEqual(validMetadata);
expect(mockFetch).toHaveBeenCalledWith(
expect.objectContaining({
href: "https://auth.example.com/.well-known/oauth-authorization-server",
})
);
const calls = mockFetch.mock.calls;
expect(calls.length).toBe(1);
const [url, options] = calls[0];
expect(url.toString()).toBe("https://auth.example.com/.well-known/oauth-authorization-server");
expect(options.headers).toEqual({
"MCP-Protocol-Version": "2024-11-05"
});
});

it("returns undefined when discovery endpoint returns 404", async () => {
Expand Down
8 changes: 7 additions & 1 deletion src/client/sse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,13 @@ export class SSEClientTransport implements Transport {
this._eventSource = new EventSource(
this._url.href,
this._eventSourceInit ?? {
fetch: (url, init) => this._commonHeaders().then((headers) => fetch(url, { ...init, headers })),
fetch: (url, init) => this._commonHeaders().then((headers) => fetch(url, {
...init,
headers: {
...headers,
Accept: "text/event-stream"
}
})),
},
);
this._abortController = new AbortController();
Expand Down
2 changes: 1 addition & 1 deletion tsconfig.cjs.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
"moduleResolution": "node",
"outDir": "./dist/cjs"
},
"exclude": ["**/*.test.ts"]
"exclude": ["**/*.test.ts", "src/__mocks__/**/*"]
}
2 changes: 1 addition & 1 deletion tsconfig.prod.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
"compilerOptions": {
"outDir": "./dist/esm"
},
"exclude": ["**/*.test.ts"]
"exclude": ["**/*.test.ts", "src/__mocks__/**/*"]
}

0 comments on commit 3e2dd35

Please sign in to comment.