You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: kotlin-sdk-test/src/jvmTest/kotlin/io/modelcontextprotocol/kotlin/sdk/integration/kotlin/PromptIntegrationTest.kt
+58-14Lines changed: 58 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -100,7 +100,7 @@ class PromptIntegrationTest : KotlinTestBase() {
100
100
if (includeImage) {
101
101
assistantContents.add(
102
102
ImageContent(
103
-
data ="iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==",
103
+
data ="iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BmMIQAAAABJRU5ErkJggg==",
104
104
mimeType ="image/png",
105
105
),
106
106
)
@@ -153,7 +153,8 @@ class PromptIntegrationTest : KotlinTestBase() {
153
153
PromptMessage(
154
154
role =Role.assistant,
155
155
content =TextContent(
156
-
text ="As an AI, I don't have personal opinions, but I can provide information about $topic.",
156
+
text ="As an AI, I don't have personal opinions,"+
157
+
" but I can provide information about $topic.",
157
158
),
158
159
),
159
160
PromptMessage(
@@ -193,8 +194,12 @@ class PromptIntegrationTest : KotlinTestBase() {
193
194
),
194
195
) { request ->
195
196
val args = request.arguments ?: emptyMap()
196
-
val arg1 = args["requiredArg1"] ?:throwIllegalArgumentException("Missing required argument: requiredArg1")
197
-
val arg2 = args["requiredArg2"] ?:throwIllegalArgumentException("Missing required argument: requiredArg2")
197
+
val arg1 = args["requiredArg1"] ?:throwIllegalArgumentException(
198
+
"Missing required argument: requiredArg1",
199
+
)
200
+
val arg2 = args["requiredArg2"] ?:throwIllegalArgumentException(
201
+
"Missing required argument: requiredArg2",
202
+
)
198
203
val optArg = args["optionalArg"] ?:"default"
199
204
200
205
GetPromptResult(
@@ -222,14 +227,22 @@ class PromptIntegrationTest : KotlinTestBase() {
222
227
223
228
val testPrompt = result.prompts.find { it.name == testPromptName }
224
229
assertNotNull(testPrompt, "Test prompt should be in the list")
225
-
assertEquals(testPromptDescription, testPrompt.description, "Prompt description should match")
230
+
assertEquals(
231
+
testPromptDescription,
232
+
testPrompt.description,
233
+
"Prompt description should match",
234
+
)
226
235
227
236
val arguments = testPrompt.arguments ?: error("Prompt arguments should not be null")
228
237
assertTrue(arguments.isNotEmpty(), "Prompt arguments should not be empty")
229
238
230
239
val nameArg = arguments.find { it.name =="name" }
231
240
assertNotNull(nameArg, "Name argument should be in the list")
232
-
assertEquals("The name to greet", nameArg.description, "Argument description should match")
241
+
assertEquals(
242
+
"The name to greet",
243
+
nameArg.description,
244
+
"Argument description should match",
245
+
)
233
246
assertEquals(true, nameArg.required, "Argument required flag should match")
234
247
}
235
248
@@ -244,7 +257,11 @@ class PromptIntegrationTest : KotlinTestBase() {
244
257
)
245
258
246
259
assertNotNull(result, "Get prompt result should not be null")
247
-
assertEquals(testPromptDescription, result.description, "Prompt description should match")
260
+
assertEquals(
261
+
testPromptDescription,
262
+
result.description,
263
+
"Prompt description should match",
264
+
)
248
265
249
266
assertTrue(result.messages.isNotEmpty(), "Prompt messages should not be empty")
250
267
assertEquals(2, result.messages.size, "Prompt should have 2 messages")
@@ -254,7 +271,11 @@ class PromptIntegrationTest : KotlinTestBase() {
254
271
val userContent = userMessage.content as?TextContent
255
272
assertNotNull(userContent, "User message content should be TextContent")
256
273
assertNotNull(userContent.text, "User message text should not be null")
257
-
assertEquals("Hello, $testName!", userContent.text, "User message content should match")
274
+
assertEquals(
275
+
"Hello, $testName!",
276
+
userContent.text,
277
+
"User message content should match",
278
+
)
258
279
259
280
val assistantMessage = result.messages.find { it.role ==Role.assistant }
260
281
assertNotNull(assistantMessage, "Assistant message should be in the list")
@@ -277,7 +298,11 @@ class PromptIntegrationTest : KotlinTestBase() {
277
298
278
299
val argsDef = strictPrompt.arguments ?: error("Prompt arguments should not be null")
279
300
val requiredArgs = argsDef.filter { it.required ==true }
280
-
assertEquals(2, requiredArgs.size, "Strict prompt should have 2 required arguments")
301
+
assertEquals(
302
+
2,
303
+
requiredArgs.size,
304
+
"Strict prompt should have 2 required arguments",
305
+
)
281
306
282
307
// test missing required arg
283
308
val exception = assertThrows<IllegalStateException> {
@@ -291,7 +316,11 @@ class PromptIntegrationTest : KotlinTestBase() {
291
316
}
292
317
}
293
318
294
-
assertEquals(exception.message?.contains("requiredArg2"), true, "Exception should mention the missing argument")
319
+
assertEquals(
320
+
true,
321
+
exception.message?.contains("requiredArg2"),
322
+
"Exception should mention the missing argument",
323
+
)
295
324
296
325
// test with no args
297
326
val exception2 = assertThrows<IllegalStateException> {
@@ -348,7 +377,11 @@ class PromptIntegrationTest : KotlinTestBase() {
348
377
)
349
378
350
379
assertNotNull(result, "Get prompt result should not be null")
351
-
assertEquals(complexPromptDescription, result.description, "Prompt description should match")
380
+
assertEquals(
381
+
complexPromptDescription,
382
+
result.description,
383
+
"Prompt description should match",
384
+
)
352
385
353
386
assertTrue(result.messages.isNotEmpty(), "Prompt messages should not be empty")
354
387
assertEquals(2, result.messages.size, "Prompt should have 2 messages")
@@ -365,7 +398,10 @@ class PromptIntegrationTest : KotlinTestBase() {
365
398
val assistantContent = assistantMessage.content as?TextContent
366
399
assertNotNull(assistantContent, "Assistant message content should be TextContent")
367
400
val assistantText = requireNotNull(assistantContent.text)
368
-
assertTrue(assistantText.contains(topic), "Assistant message should contain the topic")
401
+
assertTrue(
402
+
assistantText.contains(topic),
403
+
"Assistant message should contain the topic",
404
+
)
369
405
370
406
val resultNoImage = client.getPrompt(
371
407
GetPromptRequest(
@@ -392,7 +428,11 @@ class PromptIntegrationTest : KotlinTestBase() {
392
428
)
393
429
394
430
assertNotNull(result, "Get prompt result should not be null")
395
-
assertEquals(conversationPromptDescription, result.description, "Prompt description should match")
431
+
assertEquals(
432
+
conversationPromptDescription,
433
+
result.description,
434
+
"Prompt description should match",
435
+
)
396
436
397
437
assertTrue(result.messages.isNotEmpty(), "Prompt messages should not be empty")
398
438
assertEquals(6, result.messages.size, "Prompt should have 6 messages")
@@ -405,7 +445,11 @@ class PromptIntegrationTest : KotlinTestBase() {
405
445
406
446
for (i in0 until result.messages.size) {
407
447
val expectedRole =if (i %2==0) Role.user elseRole.assistant
408
-
assertEquals(expectedRole, result.messages[i].role, "Message $i should have role $expectedRole")
Copy file name to clipboardExpand all lines: kotlin-sdk-test/src/jvmTest/kotlin/io/modelcontextprotocol/kotlin/sdk/integration/kotlin/ToolIntegrationTest.kt
+28-7Lines changed: 28 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -166,7 +166,9 @@ class ToolIntegrationTest : KotlinTestBase() {
166
166
val formattedResult ="%.${precision}f".format(result)
0 commit comments