createMock(Transport::class); $transport->method('performRequest') ->with('POST', '/_plugins/_sql', [], [ 'query' => 'select * from test', ]); $transport->method('resultOrFuture') ->willReturn([]); $func = static function () { return new Query(); }; (new SqlNamespace($transport, $func))->query([ 'query' => 'select * from test', ]); } public function testExplain(): void { $transport = $this->createMock(Transport::class); $transport->method('performRequest') ->with('POST', '/_plugins/_sql/_explain', [], [ 'query' => 'select * from test', ]); $transport->method('resultOrFuture') ->willReturn([]); $func = static function () { return new Explain(); }; (new SqlNamespace($transport, $func))->explain([ 'query' => 'select * from test', ]); } public function testCloseCursor(): void { $transport = $this->createMock(Transport::class); $transport->method('performRequest') ->with('POST', '/_plugins/_sql/close', [], [ 'cursor' => 'fooo', ]); $transport->method('resultOrFuture') ->willReturn([]); $func = static function () { return new CursorClose(); }; (new SqlNamespace($transport, $func))->closeCursor([ 'cursor' => 'fooo', ]); } }