kotlin-sdk/src/test/kotlin/client/ClientIntegrationTest.kt
leonid.stashevsky 7b32c3e3da Initial commit
2024-12-15 20:17:55 +01:00

39 lines
1,020 B
Kotlin

package client
import org.jetbrains.kotlinx.mcp.Implementation
import org.jetbrains.kotlinx.mcp.ListToolsResult
import kotlinx.coroutines.test.runTest
import org.jetbrains.kotlinx.mcp.client.Client
import org.jetbrains.kotlinx.mcp.client.StdioClientTransport
import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Test
import java.net.Socket
class ClientIntegrationTest {
fun createTransport(): StdioClientTransport {
val socket = Socket("localhost", 3000)
return StdioClientTransport(socket.inputStream, socket.outputStream)
}
@Disabled("This test requires a running server")
@Test
fun testRequestTools() = runTest {
val client = Client(
Implementation("test", "1.0"),
)
val transport = createTransport()
try {
client.connect(transport)
val response: ListToolsResult? = client.listTools()
println(response?.tools)
} finally {
transport.close()
}
}
}