Files
mongo-php-driver/tests/server/server-executeCommand-001.phpt
Jeremy Mikola 427854e092 PHPC-1152: Create implicit session for commands
This ensures that phongo_execute_command creates an implicit session (if supported and not explicit session was provided). In turn, this ensures that any command cursor shares the same session as its originating command.

By creating a Session object, we can ensure that the implicit session is destroyed during garbage collection when the last reference is removed.
2018-04-18 14:36:39 -04:00

67 lines
1.3 KiB
PHP

--TEST--
MongoDB\Driver\Server::executeCommand()
--SKIPIF--
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
<?php NEEDS('STANDALONE'); CLEANUP(STANDALONE); ?>
--FILE--
<?php
require_once __DIR__ . "/../utils/basic.inc";
$manager = new MongoDB\Driver\Manager(STANDALONE);
$server = $manager->executeQuery(NS, new MongoDB\Driver\Query(array()))->getServer();
$command = new MongoDB\Driver\Command(array('ping' => 1));
$result = $server->executeCommand(DATABASE_NAME, $command);
var_dump($result instanceof MongoDB\Driver\Cursor);
var_dump($result);
echo "\nDumping response document:\n";
var_dump(current($result->toArray()));
var_dump($server == $result->getServer());
?>
===DONE===
<?php exit(0); ?>
--EXPECTF--
bool(true)
object(MongoDB\Driver\Cursor)#%d (%d) {
["database"]=>
string(6) "phongo"
["collection"]=>
NULL
["query"]=>
NULL
["command"]=>
object(MongoDB\Driver\Command)#%d (%d) {
["command"]=>
object(stdClass)#%d (%d) {
["ping"]=>
int(1)
}
}
["readPreference"]=>
NULL
["session"]=>
%a
["isDead"]=>
bool(false)
["currentIndex"]=>
int(0)
["currentDocument"]=>
NULL
["server"]=>
object(MongoDB\Driver\Server)#%d (%d) {
%a
}
}
Dumping response document:
object(stdClass)#%d (1) {
["ok"]=>
float(1)
}
bool(true)
===DONE===