Update Client.connect(transport:) to automatically send initialize request (#100)
* Update Client to automatically call initialize in connect * Make Client.connect(transport:) return value discardable * Fix example usage in README * Update example code in transports to remove initialize call * Deprecate initialize method * Update tests * Update README * Fix sampling tests * Fix race condition tests
This commit is contained in:
parent
3b505ee575
commit
a59b50bf5a
1 changed files with 302 additions and 106 deletions
|
|
@ -587,30 +587,6 @@ struct SamplingIntegrationTests {
|
|||
try await server.start(transport: serverTransport)
|
||||
try await client.connect(transport: clientTransport)
|
||||
|
||||
// Test initialization and capability negotiation
|
||||
let initTask = Task {
|
||||
let result = try await client.initialize()
|
||||
|
||||
#expect(result.serverInfo.name == "SamplingTestServer")
|
||||
#expect(result.serverInfo.version == "1.0.0")
|
||||
#expect(
|
||||
result.capabilities.sampling != nil, "Server should advertise sampling capability")
|
||||
#expect(result.protocolVersion == Version.latest)
|
||||
}
|
||||
|
||||
try await withThrowingTaskGroup(of: Void.self) { group in
|
||||
group.addTask {
|
||||
try await Task.sleep(for: .seconds(1))
|
||||
initTask.cancel()
|
||||
throw CancellationError()
|
||||
}
|
||||
group.addTask {
|
||||
try await initTask.value
|
||||
}
|
||||
try await group.next()
|
||||
group.cancelAll()
|
||||
}
|
||||
|
||||
await server.stop()
|
||||
await client.disconnect()
|
||||
try? clientToServerRead.close()
|
||||
|
|
|
|||
Loading…
Reference in a new issue