createMock(SessionInterface::class); $session->expects($this->once()) ->method('set') ->with('client_info', [ 'name' => 'client-app', 'version' => '1.0.0', ]); $request = InitializeRequest::fromArray([ 'jsonrpc' => MessageInterface::JSONRPC_VERSION, 'id' => 'request-1', 'method' => InitializeRequest::getMethod(), 'params' => [ 'protocolVersion' => ProtocolVersion::V2024_11_05->value, 'capabilities' => [], 'clientInfo' => [ 'name' => 'client-app', 'version' => '1.0.0', ], ], ]); $response = $handler->handle($request, $session); $this->assertInstanceOf(InitializeResult::class, $response->result); /** @var InitializeResult $result */ $result = $response->result; $this->assertSame($customProtocolVersion, $result->protocolVersion); $this->assertSame( $customProtocolVersion->value, $result->jsonSerialize()['protocolVersion'] ); } }