Skip to content

Commit 36ca9c3

Browse files
committed
tests: construct valid InputRequiredResult in discriminator test; co-locate validator test
The discriminator-dump test was building a bare InputRequiredResult(), which the at-least-one-of validator now (correctly) rejects. Construct the minimal valid instance instead. Move the validator test alongside it in tests/test_types.py and drop the separate file.
1 parent 682b788 commit 36ca9c3

2 files changed

Lines changed: 11 additions & 14 deletions

File tree

tests/test_types.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import pytest
44
from inline_snapshot import snapshot
5+
from pydantic import ValidationError
56

67
from mcp.types import (
78
LATEST_PROTOCOL_VERSION,
@@ -436,4 +437,13 @@ def test_empty_result_dumps_result_type_only_when_explicitly_tagged():
436437

437438

438439
def test_input_required_result_dumps_its_discriminating_tag():
439-
assert _wire_dump(InputRequiredResult()) == snapshot({"resultType": "input_required"})
440+
assert _wire_dump(InputRequiredResult(request_state="s")) == snapshot(
441+
{"resultType": "input_required", "requestState": "s"}
442+
)
443+
444+
445+
def test_input_required_result_requires_at_least_one_of_input_requests_or_request_state():
446+
with pytest.raises(ValidationError):
447+
InputRequiredResult()
448+
assert InputRequiredResult(input_requests={}).request_state is None
449+
assert InputRequiredResult(request_state="s").input_requests is None

tests/types/test_input_required.py

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)