Commit Graph

5 Commits

Author SHA1 Message Date
Jeremy Mikola
6929bcb608 PHPC-1765 and PHPC-1821: DBRef and dot/dollar validation tests (#1225)
Remove tests expecting client-side validation errors for dots/dollars in field names.

Syncs BSON corpus tests with mongodb/specifications@a274fbfddf

Bump libmongoc submodule to 1.18-dev
2021-06-22 16:08:02 -04:00
Andreas Braun
deead9687e PHPC-1716 Allow configuring server API version in manager (#1204)
* Introduce MongoDB\Driver\ServerApi

* Accept serverApi driver option

* Introduce create_test_manager factory to create manager

A centralised entry point is required to inject the API_VERSION env variable later.

* Add build variant to test with requireApiVersion=true

* Fix wrong configuration for auth variable

This changed when migrating from our own scripts to drivers-evergreen-tools and was not updated properly, causing all tests to run with auth disabled.

* Declare ZEND_PARSE_PARAMETERS_NONE macro

This macro is missing on PHP < 7.3

* Remove duplicated API param storage

* Add missing semicolons

* Add ZEND_PARSE_PARAMETERS_NON_EX macro

* Extract error handling functionality to separate macros

* Throw if internal mongoc_server_api_t is already initialised

* Use imported namespaces in tools file

* Fix type info for reflection

* Use American English spelling

* Only use typed serialize signature on PHP 8+

* Update PHONGO_PARSE_PARAMETERS_NONE macro for PHP < 7.3

* Remove usage of ZEND_STRL within zend_hash_str_add

This causes compile failures on PHP < 7.3 that I have yet to understand.

* Fix errors in new PHONGO_PARSE_PARAMETERS macros
2021-03-26 15:43:48 +01:00
Jeremy Mikola
33c91b50d4 Update tests for invalid BSON in bulk writes
The error message was changed in mongodb/mongo-c-driver@0c9cc9d267
2017-12-12 15:11:46 -05:00
Jeremy Mikola
a28a5eeecd PHPC-977: Update tests for expected BulkWrite BSON validation errors
The error message was made more descriptive in CDRIVER-2016.
2017-07-11 11:39:44 -04:00
Jeremy Mikola
7ff55ba42c PHPC-712: Validate BSON documents for insert and update
Rely on libmongoc for validating insert/update documents. If an insert document appears to be a legacy index, set the "legacyIndex" option for mongoc_bulk_operation_insert_with_opts() to allow BSON keys to contain dots (all other BSON validation for normal inserts is preserved).

Additionally, we add tests for BSON encoding errors on delete, insert, and update arguments. The removed Manager::executeBulkWrite() test is obsolete, since insert documents are now validated during insert().
2017-03-31 12:13:01 -04:00