Add end-to-end test suite (#2167)
This commit is contained in:
parent
bf1e022bd2
commit
c36e1ef5bb
1 changed files with 19371 additions and 1 deletions
43
test/e2e/types.ts
Normal file
43
test/e2e/types.ts
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/**
|
||||
* Shared types for the e2e suite.
|
||||
*/
|
||||
|
||||
export const ALL_TRANSPORTS = ['inMemory', 'stdio', 'streamableHttp', 'streamableHttpStateless', 'sse'] as const;
|
||||
export type Transport = (typeof ALL_TRANSPORTS)[number];
|
||||
|
||||
export const ALL_SPEC_VERSIONS = ['2025-11-25'] as const;
|
||||
export type SpecVersion = (typeof ALL_SPEC_VERSIONS)[number];
|
||||
|
||||
/**
|
||||
* Arguments every test body receives. Expand with new matrix axes here so
|
||||
* test signatures don't churn — bodies destructure only what they use.
|
||||
*/
|
||||
export interface TestArgs {
|
||||
transport: Transport;
|
||||
protocolVersion: SpecVersion;
|
||||
}
|
||||
|
||||
export interface KnownFailure {
|
||||
test?: string;
|
||||
transport?: Transport;
|
||||
specVersion?: SpecVersion;
|
||||
note: string;
|
||||
}
|
||||
|
||||
export interface Requirement {
|
||||
source: string;
|
||||
behavior: string;
|
||||
transports?: readonly Transport[];
|
||||
/** Free-form rationale for how the entry is set up (e.g. why certain transports are excluded). */
|
||||
note?: string;
|
||||
|
||||
/** First / last spec versions a requirement applies to; changed behaviors are sibling entries linked via `supersedes`. */
|
||||
addedInSpecVersion?: SpecVersion;
|
||||
removedInSpecVersion?: SpecVersion;
|
||||
/** Requirement id this entry replaces (for behaviors changed by a spec release). */
|
||||
|
||||
supersedes?: string;
|
||||
knownFailures?: readonly KnownFailure[];
|
||||
|
||||
deferred?: string;
|
||||
}
|
||||
Loading…
Reference in a new issue