* Added a test case that triggers the query parameter crash
* rest.js: validate the explain parameter to keep the nodejs driver from throwing an uncatchable exception and crashing the server (see https://jira.mongodb.org/browse/NODE-3463)
RestQuery.js: Check whether explain mode is enabled not by "!== true", but by the "!" operator. explain can have string values.
Added tests that validate correct behaviour on different explain values
* Refactor the new tests
* Simplify the new tests
Also do a sanity check on the explain results
* Test refactor
* Exclude queryPlannerExtended as it is not supported by the testing environment
Simplifies the tests
* Restrict the changes to mongodb
Moved the verification of the explain value from rest.js to MongoStorageAdapter.js
Also restricted the relevant unit tests to mongodb
* Added changelog entry
* reformat changelog entry
* Update CHANGELOG.md
Co-authored-by: Kartal Kaan Bozdoğan <kartalkaanbozdogan@gmail.com>
Co-authored-by: Manuel <5673677+mtrezza@users.noreply.github.com>
* failing testcase
* add header
* switch to X-Parse-Cloud-Context header
* add back blank line that lint removed
* test replacing context header with body context. Add support for setting body with json string
* add back blank line
* cover error when _context body is wrong
* Update middlewares.js
* revert accidental status change
* make sure context always decodes to an object else throw error
* improve context object check
Co-authored-by: Antonio Davi Macedo Coelho de Castro <adavimacedo@gmail.com>
* 6641: Implement support for user impersonation: master key clients can log in as any user, without access to the user's credentials, and without presuming the user already has a session
* reworded changelog
* rebuilt package lock
* fit test
* using lodash flatMap
* bump to node 12 for postgres test
* revert test fit
* add node version to postgres CI
* revert package-lock
Co-authored-by: gormanfletcher <git@gormanfletcher.com>
Co-authored-by: Manuel <5673677+mtrezza@users.noreply.github.com>
* fix keys and excludeKeys to work with JSON array strings
* make excludeKeys test more robust
* add changelog
* add select([]) functionality to fix)
* update changelog
* update keys
* add exclude test
* add select REST test and exclude JS SDK test
* add more tests
* add additional exclude test
* improved select test for testing JSON string array in REST
* improved exclude test for testing JSON string array in REST
* check for parse keys
* make include look like keys and excludeKeys
* nit
* Exclude nexted child fields
* add updates and show failing testcases
* working
* add more tests
* even more test cases
* use await for added tests
* lint
* Add suggestions
* Add a failing test for issue #7340
If any delay occurs after "message.event" assignation in
LiveQueryServer._onAfterSave, the next subscription or request with a different
event might overwrite it, and by that using the wrong "push" function name.
* Remove updade of message and use res.event instead
This prevent computing function name from a
incorrect event if multiple subscriptions override
one by one the message.event.
* Update CHANGELOG.md
* Replace setTimeout by async/await expressions
* Add lock file version check to CI
* Update CHANGELOG.md
* Update ci.yml
* test failing check with lock file version 2
* Revert "test failing check with lock file version 2"
This reverts commit a5b4293f312942fea983e78c3c1ac4ee0690f9a5.
* fix: empty file tags cause upload error for some providers
DigitalOcean and Linode object storage solutions do not accept `tags` option while uploading a file. Previously, tags option was set to default empty object. Now, we do not include it if it is empty.
* chore: add tests for saving a file with/without tags
* chore: update file tags handling to make tests pass
* chore: refactor file tag tests
* chore: update file tag tests
* chore: update changelog
* chore: update changelog entry
* chore: remove duplicated changelog entry
* Use Node.js 15.13.0 in CI
* CI: Allow check-postgres 20 timeout
* CI: 30 min timeout for check-postgres
* reverted postgres timeout to 15
Co-authored-by: Manuel <5673677+mtrezza@users.noreply.github.com>
* Excluding keys that have trailing "edges.node" on them as they will not be selectable anyway
* Updated CHANGELOG and added test case
* Forgot to change fit back to it
* add search for atlas search index
* added test for search in pipeline
* removed stage name check in pipeline
* removed spec for invalid query invalid key
* updated changelog
Co-authored-by: Diamond Lewis <findlewis@gmail.com>
* new: allow options to be async on Cloud Validator
* Update CHANGELOG.md
* Ensure pushStatus is properly running (#7213)
* Ensure pushStatus is properly running
* remove duplicate test
* new: allow options to be async on Cloud Validator
* Update CHANGELOG.md
* Update CloudCode.Validator.spec.js
Co-authored-by: Diamond Lewis <findlewis@gmail.com>
* Fix error when a not yet inserted job is updated
* Add entry to changelog
* revert the upsert change and fix the test
* Revert the change so job execute a single time
* Fix other tests with potential similar problem
* Fix flaky test with transactions
* Add CHANGELOG entry
* Fix the other transactions related tests that became flaky because now Parse Server tries to submit the transaction multilpe times in the case of TransientError
* Remove fit from tests