Skip to content

DRIVERS-709: Unified Test Format #846

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 90 commits into from
Oct 10, 2020
Merged

Conversation

jmikola
Copy link
Member

@jmikola jmikola commented Aug 15, 2020

Copy link
Contributor

@prashantmital prashantmital left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have only gone through about 3/4th of the spec so far. Looks really good - I love how you've broken things down into various sections.

@jmikola jmikola changed the title [WIP] DRIVERS-709: Unified Test Format DRIVERS-709: Unified Test Format Aug 24, 2020
@jmikola jmikola merged commit e4808b8 into mongodb:master Oct 10, 2020
kevinAlbs pushed a commit to kevinAlbs/specifications that referenced this pull request Nov 9, 2021
* DRIVERS-709 wip

* consolidate test format, simplify assert syntax, docs for matching

* bulkWrite errors, schemaVersion, and configureFailPoint APM exclusion

* Revise schema version and move allowMultipleMongoses to top-level

* Define terms and start test execution steps

* Readability improvements and TODO items

* Suggest YAML nodes and anchors for collection/database names

* Fix link text and version formatting

* indent Server Fail Points and describe process for sharded-replicaset

* Test implementation and various other clarifications

* Language edits from PR feedback

* Require explicit database and collection names and add extra notes

* observeEvents and useMultipleMongoses client entity options

* Example insertOne test

* special operations for sessions spec tests

* open questions

* open question for representing options in operation.arguments

* Rename schema and test file to convey they are outdated

* clarify schema version comparisons and compatibility

* lsid assertions require observed commands with lsid fields

* Rename topologies link related spec tickets

* top-level description field

* change stream iteration, open questions, and errorCode assertion

* Future Work, createchangeStream operation, and review fixes

* Update last modified and advisors

* Fix typos

* Changes for events, GridFS, and error assertions

Close existing Open Questions and add new Future Work sections.

* runOnRequirements, expectedEventsForClient, refer to YAML objects

* Sync JSON file with YAML to add description field

* Require arrays, rename "expect" prefix, clarify "sharded" requirement

* Remove note about clearing state between test files

* Note that server versions are compared numerically

* Fix typo

* Clarify type of observeEvents

* Require BSON types be expressed as strings for $$type operator

* Clarify test.outcome and comparison rules

* Make formatting of "primary" RP consistent with WC and RC

* Add Goals, clarify schemaVersion, and Future Work entries

* Elaborate on schema version

* Clarify (un)supported entity types

* Allow equivalent language types for BSON types in entity map

* Raise errors for unsupported operations and arguments

* Fix link syntax

* Feedback from Oleg

* $$sessionLsid error handling and heartbeatFrequencyMS tweaks

* Clarify BSON type support and advise against using deprecated types

* Clarify server version string comparison rules

* Revise version docs, MUST reset state, explain SHOULD in Design Rationale

* Improve Evaluating Matches docs

* Test runners MUST raise an error for incompatible files

* Future work for operations/arguments and schema version

* Prohibit $$unsetOrMatches for array elements

* Optional arrays must be non-empty, revise expectedEvent and $$matchesHexBytes

* Update schema for current spec syntax

* Update Makefile for new schema

* expectedError.isError can only be true

* Add invalid test files for testing the schema itself

* Prohibit additionalProperties in test objects

* Requirements for model objects and iterables and clarify failPoint

Also restructures Entity Test Operations sections

* Fix RST syntax and typos

* Specify descriptions for invalid schema tests

* Initial valid-fail and valid-pass tests

* Clarify iteration rules

* Don't mix testRunner ops with error/result expectations

* Additional POC tests

* Clarifications for CRUD operations

* Advise using $$unsetOrMatches for InsertOneResult

* POC for session tests

* POC for transaction tests

* Fix insertOne syntax

* Use complete fullDocument assertions in change stream tests

* Clarify rules for enabling event listeners

* Fix event assertions for ChangeStream tests

* Fix syntax of callback argument for withTransaction tests

* Remove stream entity and add proxy operations for GridFS

* Reorganized entity operation content and advise not using watch

* Fix retryable reads test and add additional find test

* Fix retryable writes test to use correct collection object

* Fix syntax errors in session tests

* Fix typos in transaction tests

* Specify useMultipleMongoses:false for failPoint tests

* Fix outcome assertion in session pinning test

* Add related issue and iterateUntilDocumentOrError clarification

* Rename returnDocument test and fix syntax error

* Require sharded-replicaset for retryable write session test

* Fix typo

* Remove "Related Issues" section and clear "Change Log"

* Fix schema validation error in returnDocument-enum-invalid.yml

* Generate JSON for YAML tests

* Add schema checks to Travis CI
@jmikola jmikola deleted the drivers-709 branch February 14, 2024 19:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.