File: bug00638.phpt

package info (click to toggle)
php-mongo 1.5.7-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 11,040 kB
  • ctags: 2,802
  • sloc: ansic: 17,632; xml: 2,195; php: 1,630; pascal: 330; makefile: 52; sh: 39
file content (49 lines) | stat: -rw-r--r-- 1,643 bytes parent folder | download | duplicates (2)
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
--TEST--
Test for PHP-612: Ensure correct $readPreference modes are set on cursor for mongos
--SKIPIF--
<?php require_once "tests/utils/mongos.inc" ?>
--FILE--
<?php
require_once "tests/utils/server.inc";

$cfg = MongoShellServer::getShardInfo();
$m = new MongoClient($cfg[0]);

$m->setReadPreference(MongoClient::RP_PRIMARY);
$cursor = $m->selectCollection('phpunit', 'c')->find();
$cursor->explain();
$info = $cursor->info();
// No $readPreference for "primary", since that is the default already
var_dump(!isset($info['query']['$readPreference']['mode']));

$m->setReadPreference(MongoClient::RP_PRIMARY_PREFERRED);
$cursor = $m->selectCollection('phpunit', 'c')->find();
$cursor->explain();
$info = $cursor->info();
var_dump(MongoClient::RP_PRIMARY_PREFERRED === $info['query']['$readPreference']['mode']);

$m->setReadPreference(MongoClient::RP_SECONDARY);
$cursor = $m->selectCollection('phpunit', 'c')->find();
$cursor->explain();
$info = $cursor->info();
var_dump(MongoClient::RP_SECONDARY === $info['query']['$readPreference']['mode']);

$m->setReadPreference(MongoClient::RP_SECONDARY_PREFERRED);
$cursor = $m->selectCollection('phpunit', 'c')->find();
$cursor->explain();
$info = $cursor->info();
// No $readPreference for "secondaryPreferred" unless tags were specified
var_dump(!isset($info['query']['$readPreference']['mode']));

$m->setReadPreference(MongoClient::RP_NEAREST);
$cursor = $m->selectCollection('phpunit', 'c')->find();
$cursor->explain();
$info = $cursor->info();
var_dump(MongoClient::RP_NEAREST === $info['query']['$readPreference']['mode']);
?>
--EXPECT--
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)