Skip to content

Commit 7158ed1

Browse files
committed
PHPC-976: Add more test cases for default read and write concerns
1 parent f581777 commit 7158ed1

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

tests/readConcern/readconcern-isdefault-001.phpt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@ $tests = [
1010
new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::MAJORITY),
1111
new MongoDB\Driver\ReadConcern('not-yet-supported'),
1212
(new MongoDB\Driver\Manager('mongodb://127.0.0.1/?readconcernlevel=local'))->getReadConcern(),
13+
(new MongoDB\Driver\Manager('mongodb://127.0.0.1/?readconcernlevel='))->getReadConcern(),
1314
(new MongoDB\Driver\Manager(null, ['readconcernlevel' => 'local']))->getReadConcern(),
1415
(new MongoDB\Driver\Manager(null, ['readconcernlevel' => '']))->getReadConcern(),
16+
// Cannot test ['readconcernlevel' => null] since a string type is expected (PHPC-887)
1517
(new MongoDB\Driver\Manager)->getReadConcern(),
1618
];
1719

@@ -31,5 +33,6 @@ bool(false)
3133
bool(false)
3234
bool(false)
3335
bool(false)
36+
bool(false)
3437
bool(true)
3538
===DONE===

tests/writeConcern/writeconcern-isdefault-001.phpt

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,32 @@ MongoDB\Driver\WriteConcern::isDefault()
44
<?php
55

66
$tests = [
7+
new MongoDB\Driver\WriteConcern(-3), // MONGOC_WRITE_CONCERN_W_MAJORITY
8+
new MongoDB\Driver\WriteConcern(-2), // MONGOC_WRITE_CONCERN_W_DEFAULT
9+
new MongoDB\Driver\WriteConcern(-1), // MONGOC_WRITE_CONCERN_W_ERRORS_IGNORED
10+
new MongoDB\Driver\WriteConcern(0), // MONGOC_WRITE_CONCERN_W_UNACKNOWLEDGED
711
new MongoDB\Driver\WriteConcern(1),
12+
new MongoDB\Driver\WriteConcern(2),
13+
new MongoDB\Driver\WriteConcern('tag'),
14+
new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY),
15+
// mongoc_uri_parse_option() ignores empty string for w
16+
(new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w='))->getWriteConcern(),
17+
// Cannot test "w=-3" since libmongoc URI parsing expects integers >= -2
18+
(new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w=-2'))->getWriteConcern(),
19+
(new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w=-1'))->getWriteConcern(),
20+
(new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w=0'))->getWriteConcern(),
821
(new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w=1'))->getWriteConcern(),
22+
(new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w=2'))->getWriteConcern(),
23+
(new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w=tag'))->getWriteConcern(),
24+
(new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w=majority'))->getWriteConcern(),
25+
// Cannot test ['w' => null] since an integer or string type is expected (PHPC-887)
26+
// Cannot test ['w' => -3] or ['w' => -2] since php_phongo_apply_wc_options_to_uri() expects integers >= -1
27+
(new MongoDB\Driver\Manager(null, ['w' => -1]))->getWriteConcern(),
28+
(new MongoDB\Driver\Manager(null, ['w' => 0]))->getWriteConcern(),
929
(new MongoDB\Driver\Manager(null, ['w' => 1]))->getWriteConcern(),
30+
(new MongoDB\Driver\Manager(null, ['w' => 2]))->getWriteConcern(),
31+
(new MongoDB\Driver\Manager(null, ['w' => 'tag']))->getWriteConcern(),
32+
(new MongoDB\Driver\Manager(null, ['w' => 'majority']))->getWriteConcern(),
1033
(new MongoDB\Driver\Manager)->getWriteConcern(),
1134
];
1235

@@ -19,6 +42,25 @@ foreach ($tests as $wc) {
1942
<?php exit(0); ?>
2043
--EXPECT--
2144
bool(false)
45+
bool(true)
46+
bool(false)
47+
bool(false)
48+
bool(false)
49+
bool(false)
50+
bool(false)
51+
bool(false)
52+
bool(true)
53+
bool(true)
54+
bool(false)
55+
bool(false)
56+
bool(false)
57+
bool(false)
58+
bool(false)
59+
bool(false)
60+
bool(false)
61+
bool(false)
62+
bool(false)
63+
bool(false)
2264
bool(false)
2365
bool(false)
2466
bool(true)

0 commit comments

Comments
 (0)