@@ -7,6 +7,8 @@ import io.kotest.matchers.string.shouldNotBeBlank
77import io.modelcontextprotocol.kotlin.sdk.types.CallToolRequest
88import io.modelcontextprotocol.kotlin.sdk.types.CallToolRequestParams
99import io.modelcontextprotocol.kotlin.sdk.types.ClientCapabilities
10+ import io.modelcontextprotocol.kotlin.sdk.types.ElicitationCompleteNotification
11+ import io.modelcontextprotocol.kotlin.sdk.types.ElicitationCompleteNotificationParams
1012import io.modelcontextprotocol.kotlin.sdk.types.GetPromptRequest
1113import io.modelcontextprotocol.kotlin.sdk.types.GetPromptRequestParams
1214import io.modelcontextprotocol.kotlin.sdk.types.ListRootsRequest
@@ -77,6 +79,8 @@ class ClientConnectionTest : AbstractServerFeaturesTest() {
7779 val loggingMessage = onClientNotification<LoggingMessageNotification >(Method .Defined .NotificationsMessage )
7880 val resourceUpdated =
7981 onClientNotification<ResourceUpdatedNotification >(Method .Defined .NotificationsResourcesUpdated )
82+ val elicitationComplete =
83+ onClientNotification<ElicitationCompleteNotification >(Method .Defined .NotificationsElicitationComplete )
8084
8185 init {
8286 onClientRequest<ListRootsRequest , ListRootsResult >(Method .Defined .RootsList ) {
@@ -109,6 +113,12 @@ class ClientConnectionTest : AbstractServerFeaturesTest() {
109113 withClue(" sendResourceUpdated() delivered wrong URI" ) {
110114 resourceUri shouldBe " test://res"
111115 }
116+ withClue(" sendElicitationComplete() did not deliver a notification to the client" ) {
117+ elicitationComplete.isCompleted shouldBe true
118+ }
119+ withClue(" sendElicitationComplete() delivered wrong elicitationId" ) {
120+ elicitationComplete.await().params.elicitationId shouldBe " elicit-123"
121+ }
112122 capturedSessionId.shouldNotBeBlank()
113123 }
114124 }
@@ -128,6 +138,9 @@ class ClientConnectionTest : AbstractServerFeaturesTest() {
128138 ),
129139 )
130140 sendResourceUpdated(ResourceUpdatedNotification (ResourceUpdatedNotificationParams (" test://res" )))
141+ sendElicitationComplete(
142+ ElicitationCompleteNotification (ElicitationCompleteNotificationParams (elicitationId = " elicit-123" )),
143+ )
131144 cap.sessionId.complete(sessionId)
132145 }
133146
0 commit comments