1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
--TEST--
MongoDB\Driver\Manager::getServers() (replica set)
--SKIPIF--
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
<?php skip_if_not_replica_set(); ?>
<?php skip_if_not_enough_nodes(3); ?>
<?php skip_if_no_arbiter(); ?>
<?php skip_if_not_clean(); ?>
--FILE--
<?php
require_once __DIR__ . "/../utils/basic.inc";
function assertServerType($type) {
$rsTypes = array(
MongoDB\Driver\Server::TYPE_RS_PRIMARY,
MongoDB\Driver\Server::TYPE_RS_SECONDARY,
MongoDB\Driver\Server::TYPE_RS_ARBITER,
);
if (in_array($type, $rsTypes, true)) {
printf("Found replica set server type: %d\n", $type);
} else {
printf("Unexpected server type: %d\n", $type);
}
}
$manager = create_test_manager();
$servers = $manager->getServers();
printf("Known servers: %d\n", count($servers));
echo "Pinging\n";
$command = new MongoDB\Driver\Command(array('ping' => 1));
$manager->executeCommand(DATABASE_NAME, $command);
$servers = $manager->getServers();
printf("Known servers: %d\n", count($servers));
foreach ($servers as $server) {
printf("Found server: %s:%d\n", $server->getHost(), $server->getPort());
assertServerType($server->getType());
}
?>
===DONE===
<?php exit(0); ?>
--EXPECTF--
Known servers: 0
Pinging
Known servers: 3
Found server: %s:%d
Found replica set server type: %r(4|5|6)%r
Found server: %s:%d
Found replica set server type: %r(4|5|6)%r
Found server: %s:%d
Found replica set server type: %r(4|5|6)%r
===DONE===
|