Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mongo-php-library
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sinan
mongo-php-library
Commits
37c8e99f
Unverified
Commit
37c8e99f
authored
Feb 03, 2020
by
Andreas Braun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PHPLIB-510: Use explicit assertion for assertDocumentsMatch
parent
4d891151
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
24 additions
and
12 deletions
+24
-12
ClientSideEncryptionSpecTest.php
tests/SpecTests/ClientSideEncryptionSpecTest.php
+1
-6
FunctionalTestCase.php
tests/SpecTests/FunctionalTestCase.php
+15
-2
ResultExpectation.php
tests/SpecTests/ResultExpectation.php
+8
-4
No files found.
tests/SpecTests/ClientSideEncryptionSpecTest.php
View file @
37c8e99f
...
@@ -61,11 +61,6 @@ class ClientSideEncryptionSpecTest extends FunctionalTestCase
...
@@ -61,11 +61,6 @@ class ClientSideEncryptionSpecTest extends FunctionalTestCase
static
::
assertDocumentsMatch
(
$expected
,
$actual
);
static
::
assertDocumentsMatch
(
$expected
,
$actual
);
}
}
public
function
assertSameDocument
(
$expectedDocument
,
$actualDocument
)
{
static
::
assertDocumentsMatch
(
$expectedDocument
,
$actualDocument
);
}
/**
/**
* Execute an individual test case from the specification.
* Execute an individual test case from the specification.
*
*
...
@@ -127,7 +122,7 @@ class ClientSideEncryptionSpecTest extends FunctionalTestCase
...
@@ -127,7 +122,7 @@ class ClientSideEncryptionSpecTest extends FunctionalTestCase
$context
->
disableEncryption
();
$context
->
disableEncryption
();
if
(
isset
(
$test
->
outcome
->
collection
->
data
))
{
if
(
isset
(
$test
->
outcome
->
collection
->
data
))
{
$this
->
assertOutcomeCollectionData
(
$test
->
outcome
->
collection
->
data
);
$this
->
assertOutcomeCollectionData
(
$test
->
outcome
->
collection
->
data
,
ResultExpectation
::
ASSERT_DOCUMENTS_MATCH
);
}
}
}
}
...
...
tests/SpecTests/FunctionalTestCase.php
View file @
37c8e99f
...
@@ -98,8 +98,9 @@ class FunctionalTestCase extends BaseFunctionalTestCase
...
@@ -98,8 +98,9 @@ class FunctionalTestCase extends BaseFunctionalTestCase
* Assert data within the outcome collection.
* Assert data within the outcome collection.
*
*
* @param array $expectedDocuments
* @param array $expectedDocuments
* @param int $resultExpectation
*/
*/
protected
function
assertOutcomeCollectionData
(
array
$expectedDocuments
)
protected
function
assertOutcomeCollectionData
(
array
$expectedDocuments
,
$resultExpectation
=
ResultExpectation
::
ASSERT_SAME_DOCUMENT
)
{
{
$outcomeCollection
=
$this
->
getOutcomeCollection
(
$this
->
getContext
()
->
outcomeReadOptions
);
$outcomeCollection
=
$this
->
getOutcomeCollection
(
$this
->
getContext
()
->
outcomeReadOptions
);
...
@@ -111,7 +112,19 @@ class FunctionalTestCase extends BaseFunctionalTestCase
...
@@ -111,7 +112,19 @@ class FunctionalTestCase extends BaseFunctionalTestCase
list
(
$expectedDocument
,
$actualDocument
)
=
$documents
;
list
(
$expectedDocument
,
$actualDocument
)
=
$documents
;
$this
->
assertNotNull
(
$expectedDocument
);
$this
->
assertNotNull
(
$expectedDocument
);
$this
->
assertNotNull
(
$actualDocument
);
$this
->
assertNotNull
(
$actualDocument
);
$this
->
assertSameDocument
(
$expectedDocument
,
$actualDocument
);
switch
(
$resultExpectation
)
{
case
ResultExpectation
::
ASSERT_SAME_DOCUMENT
:
$this
->
assertSameDocument
(
$expectedDocument
,
$actualDocument
);
break
;
case
ResultExpectation
::
ASSERT_DOCUMENTS_MATCH
:
$this
->
assertDocumentsMatch
(
$expectedDocument
,
$actualDocument
);
break
;
default
:
$this
->
fail
(
sprintf
(
'Invalid result expectation "%d" for %s'
,
$resultExpectation
,
__METHOD__
));
}
}
}
}
}
...
...
tests/SpecTests/ResultExpectation.php
View file @
37c8e99f
...
@@ -9,7 +9,6 @@ use MongoDB\Driver\WriteResult;
...
@@ -9,7 +9,6 @@ use MongoDB\Driver\WriteResult;
use
MongoDB\Exception\InvalidArgumentException
;
use
MongoDB\Exception\InvalidArgumentException
;
use
MongoDB\InsertManyResult
;
use
MongoDB\InsertManyResult
;
use
MongoDB\InsertOneResult
;
use
MongoDB\InsertOneResult
;
use
MongoDB\Tests\TestCase
;
use
MongoDB\UpdateResult
;
use
MongoDB\UpdateResult
;
use
stdClass
;
use
stdClass
;
use
function
call_user_func
;
use
function
call_user_func
;
...
@@ -34,6 +33,7 @@ final class ResultExpectation
...
@@ -34,6 +33,7 @@ final class ResultExpectation
const
ASSERT_MATCHES_DOCUMENT
=
9
;
const
ASSERT_MATCHES_DOCUMENT
=
9
;
const
ASSERT_NULL
=
10
;
const
ASSERT_NULL
=
10
;
const
ASSERT_CALLABLE
=
11
;
const
ASSERT_CALLABLE
=
11
;
const
ASSERT_DOCUMENTS_MATCH
=
12
;
/** @var integer */
/** @var integer */
private
$assertionType
=
self
::
ASSERT_NOTHING
;
private
$assertionType
=
self
::
ASSERT_NOTHING
;
...
@@ -153,11 +153,11 @@ final class ResultExpectation
...
@@ -153,11 +153,11 @@ final class ResultExpectation
/**
/**
* Assert that the result expectation matches the actual outcome.
* Assert that the result expectation matches the actual outcome.
*
*
* @param TestCase $test Test instance for performing assertions
* @param
Functional
TestCase $test Test instance for performing assertions
* @param mixed $result Result (if any) from the actual outcome
* @param mixed
$result Result (if any) from the actual outcome
* @throws LogicException if the assertion type is unsupported
* @throws LogicException if the assertion type is unsupported
*/
*/
public
function
assert
(
TestCase
$test
,
$actual
)
public
function
assert
(
Functional
TestCase
$test
,
$actual
)
{
{
$expected
=
$this
->
expectedValue
;
$expected
=
$this
->
expectedValue
;
...
@@ -287,6 +287,10 @@ final class ResultExpectation
...
@@ -287,6 +287,10 @@ final class ResultExpectation
$test
->
assertSameDocuments
(
$expected
,
$actual
);
$test
->
assertSameDocuments
(
$expected
,
$actual
);
break
;
break
;
case
self
::
ASSERT_DOCUMENTS_MATCH
:
$test
->
assertDocumentsMatch
(
$expected
,
$actual
);
break
;
case
self
::
ASSERT_UPDATE
:
case
self
::
ASSERT_UPDATE
:
$test
->
assertInstanceOf
(
UpdateResult
::
class
,
$actual
);
$test
->
assertInstanceOf
(
UpdateResult
::
class
,
$actual
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment