[auth] Implement CIMD conformance test (#37)

* add cimd test and negative test

* Improve auth-test-no-cimd.ts documentation for clarity

Address review feedback: expanded comments to better explain what CIMD is,
why this client is non-compliant, and what behavior it's testing.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Remove .js extensions from relative imports

tsx doesn't require .js extensions for TypeScript imports.
Keeps .js for @modelcontextprotocol/sdk imports as those are external packages.

Also improves auth-test-no-cimd.ts documentation for clarity.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Skip auth/basic-cimd test until SDK support lands

Waiting on typescript-sdk PR #1127 for CIMD support.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix trailing whitespace in auth-test-no-cimd.ts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Paul Carleton 2025-11-20 21:00:13 +00:00 • committed by GitHub
commit d303013e5d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 301 additions and 110 deletions

View file

@ -1,5 +1,5 @@
import { spawn, ChildProcess } from 'child_process';
import { getClientScenario, listActiveClientScenarios } from '../index.js';
import { getClientScenario, listActiveClientScenarios } from '../index';
import path from 'path';
describe('Server Scenarios', () => {

View file

@ -2,8 +2,8 @@
* SEP-1034: Elicitation default values test scenarios for MCP servers
*/
import { ClientScenario, ConformanceCheck } from '../../types.js';
import { connectToServer } from './client-helper.js';
import { ClientScenario, ConformanceCheck } from '../../types';
import { connectToServer } from './client-helper';
import { ElicitRequestSchema } from '@modelcontextprotocol/sdk/types.js';
export class ElicitationDefaultsScenario implements ClientScenario {

View file

@ -2,8 +2,8 @@
* SEP-1330: Elicitation enum schema improvements test scenarios for MCP servers
*/
import { ClientScenario, ConformanceCheck } from '../../types.js';
import { connectToServer } from './client-helper.js';
import { ClientScenario, ConformanceCheck } from '../../types';
import { connectToServer } from './client-helper';
import { ElicitRequestSchema } from '@modelcontextprotocol/sdk/types.js';
export class ElicitationEnumsScenario implements ClientScenario {

View file

@ -2,8 +2,8 @@
* Lifecycle test scenarios for MCP servers
*/
import { ClientScenario, ConformanceCheck } from '../../types.js';
import { connectToServer } from './client-helper.js';
import { ClientScenario, ConformanceCheck } from '../../types';
import { connectToServer } from './client-helper';
export class ServerInitializeScenario implements ClientScenario {
name = 'server-initialize';

View file

@ -2,8 +2,8 @@
* Prompts test scenarios for MCP servers
*/
import { ClientScenario, ConformanceCheck } from '../../types.js';
import { connectToServer } from './client-helper.js';
import { ClientScenario, ConformanceCheck } from '../../types';
import { connectToServer } from './client-helper';
export class PromptsListScenario implements ClientScenario {
name = 'prompts-list';

View file

@ -2,8 +2,8 @@
* Resources test scenarios for MCP servers
*/
import { ClientScenario, ConformanceCheck } from '../../types.js';
import { connectToServer } from './client-helper.js';
import { ClientScenario, ConformanceCheck } from '../../types';
import { connectToServer } from './client-helper';
import {
TextResourceContents,
BlobResourceContents

View file

@ -2,8 +2,8 @@
* Tools test scenarios for MCP servers
*/
import { ClientScenario, ConformanceCheck } from '../../types.js';
import { connectToServer, NotificationCollector } from './client-helper.js';
import { ClientScenario, ConformanceCheck } from '../../types';
import { connectToServer, NotificationCollector } from './client-helper';
import {
CallToolResultSchema,
CreateMessageRequestSchema,

View file

@ -2,8 +2,8 @@
* Utilities test scenarios for MCP servers
*/
import { ClientScenario, ConformanceCheck } from '../../types.js';
import { connectToServer } from './client-helper.js';
import { ClientScenario, ConformanceCheck } from '../../types';
import { connectToServer } from './client-helper';
export class LoggingSetLevelScenario implements ClientScenario {
name = 'logging-set-level';