forked from mongodb/mongo-php-driver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcursor-getmore-005.phpt
53 lines (46 loc) · 1.51 KB
/
cursor-getmore-005.phpt
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
--TEST--
MongoDB\Driver\Cursor query result iteration with getmore failure
--SKIPIF--
<?php require __DIR__ . "/" ."../utils/basic-skipif.inc"; ?>
<?php
/* This test spins up its own mongod instance, so only run this in the most default "standalone, no
* auth" configurations. This way, we can test on multiple server versions, but not waste resources
* on f.e. Travis. */
?>
<?php skip_if_not_live(); ?>
<?php skip_if_not_standalone(); ?>
<?php skip_if_no_getmore_failpoint(); ?>
<?php skip_if_auth(); ?>
<?php skip_if_no_mongo_orchestration(); ?>
--FILE--
<?php
require_once __DIR__ . "/../utils/basic.inc";
$uri = createTemporaryMongoInstance();
$manager = create_test_manager($uri);
$bulkWrite = new MongoDB\Driver\BulkWrite;
for ($i = 0; $i < 5; $i++) {
$bulkWrite->insert(array('_id' => $i));
}
$writeResult = $manager->executeBulkWrite(NS, $bulkWrite);
printf("Inserted: %d\n", $writeResult->getInsertedCount());
$query = new MongoDB\Driver\Query([], ['batchSize' => 2]);
$cursor = $manager->executeQuery(NS, $query);
failGetMore($manager);
throws(function() use ($cursor) {
foreach ($cursor as $i => $document) {
printf("%d => {_id: %d}\n", $i, $document->_id);
}
}, MongoDB\Driver\Exception\ServerException::class);
?>
===DONE===
<?php destroyTemporaryMongoInstance(); ?>
<?php exit(0); ?>
--CLEAN--
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
<?php destroyTemporaryMongoInstance(); ?>
--EXPECT--
Inserted: 5
0 => {_id: 0}
1 => {_id: 1}
OK: Got MongoDB\Driver\Exception\ServerException
===DONE===