Skip to content

Commit cdd9b70

Browse files
committed
add test coverage for elicitation complete notification
1 parent 42e2098 commit cdd9b70

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

integration-test/src/jvmTest/kotlin/io/modelcontextprotocol/kotlin/sdk/server/ClientConnectionTest.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import io.kotest.matchers.string.shouldNotBeBlank
77
import io.modelcontextprotocol.kotlin.sdk.types.CallToolRequest
88
import io.modelcontextprotocol.kotlin.sdk.types.CallToolRequestParams
99
import io.modelcontextprotocol.kotlin.sdk.types.ClientCapabilities
10+
import io.modelcontextprotocol.kotlin.sdk.types.ElicitationCompleteNotification
11+
import io.modelcontextprotocol.kotlin.sdk.types.ElicitationCompleteNotificationParams
1012
import io.modelcontextprotocol.kotlin.sdk.types.GetPromptRequest
1113
import io.modelcontextprotocol.kotlin.sdk.types.GetPromptRequestParams
1214
import 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

Comments
 (0)