Skip to content

Commit e4b535b

Browse files
committed
PHPC-653: Tests for WriteError debug handler and methods
1 parent c9a662d commit e4b535b

File tree

5 files changed

+150
-0
lines changed

5 files changed

+150
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
--TEST--
2+
MongoDB\Driver\WriteError debug output
3+
--SKIPIF--
4+
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
5+
<?php NEEDS('STANDALONE_30'); CLEANUP(STANDALONE_30) ?>
6+
--FILE--
7+
<?php
8+
require_once __DIR__ . "/../utils/basic.inc";
9+
10+
$manager = new MongoDB\Driver\Manager(STANDALONE_30);
11+
12+
$bulk = new MongoDB\Driver\BulkWrite;
13+
$bulk->insert(['_id' => 1]);
14+
$bulk->insert(['_id' => 1]);
15+
$bulk->insert(['_id' => 1]);
16+
17+
try {
18+
$manager->executeBulkWrite(NS, $bulk);
19+
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
20+
var_dump($e->getWriteResult()->getWriteErrors()[0]);
21+
}
22+
23+
?>
24+
===DONE===
25+
<?php exit(0); ?>
26+
--EXPECTF--
27+
object(MongoDB\Driver\WriteError)#%d (%d) {
28+
["message"]=>
29+
string(95) "E11000 duplicate key error index: phongo.writeError_writeerror_debug_001.$_id_ dup key: { : 1 }"
30+
["code"]=>
31+
int(11000)
32+
["index"]=>
33+
int(1)
34+
["info"]=>
35+
NULL
36+
}
37+
===DONE===
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
--TEST--
2+
MongoDB\Driver\WriteError::getCode()
3+
--SKIPIF--
4+
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
5+
<?php NEEDS('STANDALONE_30'); CLEANUP(STANDALONE_30) ?>
6+
--FILE--
7+
<?php
8+
require_once __DIR__ . "/../utils/basic.inc";
9+
10+
$manager = new MongoDB\Driver\Manager(STANDALONE_30);
11+
12+
$bulk = new MongoDB\Driver\BulkWrite;
13+
$bulk->insert(['_id' => 1]);
14+
$bulk->insert(['_id' => 1]);
15+
$bulk->insert(['_id' => 1]);
16+
17+
try {
18+
$manager->executeBulkWrite(NS, $bulk);
19+
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
20+
var_dump($e->getWriteResult()->getWriteErrors()[0]->getCode());
21+
}
22+
23+
?>
24+
===DONE===
25+
<?php exit(0); ?>
26+
--EXPECT--
27+
int(11000)
28+
===DONE===
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
--TEST--
2+
MongoDB\Driver\WriteError::getIndex()
3+
--SKIPIF--
4+
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
5+
<?php NEEDS('STANDALONE_30'); CLEANUP(STANDALONE_30) ?>
6+
--FILE--
7+
<?php
8+
require_once __DIR__ . "/../utils/basic.inc";
9+
10+
$manager = new MongoDB\Driver\Manager(STANDALONE_30);
11+
12+
$bulk = new MongoDB\Driver\BulkWrite;
13+
$bulk->insert(['_id' => 1]);
14+
$bulk->insert(['_id' => 1]);
15+
$bulk->insert(['_id' => 1]);
16+
17+
try {
18+
$manager->executeBulkWrite(NS, $bulk);
19+
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
20+
var_dump($e->getWriteResult()->getWriteErrors()[0]->getIndex());
21+
}
22+
23+
?>
24+
===DONE===
25+
<?php exit(0); ?>
26+
--EXPECT--
27+
int(1)
28+
===DONE===
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
--TEST--
2+
MongoDB\Driver\WriteError::getInfo()
3+
--SKIPIF--
4+
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
5+
<?php NEEDS('STANDALONE_30'); CLEANUP(STANDALONE_30) ?>
6+
--FILE--
7+
<?php
8+
require_once __DIR__ . "/../utils/basic.inc";
9+
10+
$manager = new MongoDB\Driver\Manager(STANDALONE_30);
11+
12+
$bulk = new MongoDB\Driver\BulkWrite;
13+
$bulk->insert(['_id' => 1]);
14+
$bulk->insert(['_id' => 1]);
15+
$bulk->insert(['_id' => 1]);
16+
17+
try {
18+
$manager->executeBulkWrite(NS, $bulk);
19+
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
20+
// "errInfo" is rarely populated on a WriteError (e.g. shard version error)
21+
var_dump($e->getWriteResult()->getWriteErrors()[0]->getInfo());
22+
}
23+
24+
?>
25+
===DONE===
26+
<?php exit(0); ?>
27+
--EXPECT--
28+
NULL
29+
===DONE===
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
--TEST--
2+
MongoDB\Driver\WriteError::getMessage()
3+
--SKIPIF--
4+
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
5+
<?php NEEDS('STANDALONE_30'); CLEANUP(STANDALONE_30) ?>
6+
--FILE--
7+
<?php
8+
require_once __DIR__ . "/../utils/basic.inc";
9+
10+
$manager = new MongoDB\Driver\Manager(STANDALONE_30);
11+
12+
$bulk = new MongoDB\Driver\BulkWrite;
13+
$bulk->insert(['_id' => 1]);
14+
$bulk->insert(['_id' => 1]);
15+
$bulk->insert(['_id' => 1]);
16+
17+
try {
18+
$manager->executeBulkWrite(NS, $bulk);
19+
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
20+
var_dump($e->getWriteResult()->getWriteErrors()[0]->getMessage());
21+
}
22+
23+
?>
24+
===DONE===
25+
<?php exit(0); ?>
26+
--EXPECT--
27+
string(100) "E11000 duplicate key error index: phongo.writeError_writeerror_getMessage_001.$_id_ dup key: { : 1 }"
28+
===DONE===

0 commit comments

Comments
 (0)