[DRIVERS-480] Spec tests should use the same format for bulk writes Created: 01/May/18  Updated: 28/Oct/23  Resolved: 05/Aug/20

Status: Closed
Project: Drivers
Component/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: A. Jesse Jiryu Davis Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on CDRIVER-2639 Spec tests should use the same format... Closed
depends on CSHARP-2258 Spec tests should use the same format... Closed
depends on CXX-1573 Spec tests should use the same format... Closed
depends on GODRIVER-404 Spec tests should use the same format... Closed
depends on JAVA-2849 Spec tests should use the same format... Closed
depends on MOTOR-219 Spec tests should use the same format... Closed
depends on NODE-1457 Spec tests should use the same format... Closed
depends on PHPC-1182 Spec tests should use the same format... Closed
depends on PYTHON-1546 Spec tests should use the same format... Closed
depends on RUBY-1334 Spec tests should use the same format... Closed
Driver Compliance:
Key Status/Resolution FixVersion
NODE-1457 Done
SCALA-403 Done
PYTHON-1546 Fixed 3.7
CSHARP-2258 Fixed 2.10.0
PERL-890 Fixed 2.0.0
RUBY-1334 Fixed 2.11.0.rc0
JAVA-2849 Fixed
CXX-1573 Fixed 3.4.0
PHPC-1182 Works as Designed
MOTOR-219 Fixed 2.0
GODRIVER-404 Done
CDRIVER-2639 Fixed 1.10.0

 Description   

There are three changes, the first two are breaking.

The two breaking changes are in three command-monitoring tests: "bulkWrite.yml", "unacknowledgedBulkWrite.yml" and "insertMany.yml":

https://github.com/mongodb/specifications/commit/bebf9b688f64afdec46a860f102bad0841b04c02

The format of the "requests" array and "ordered" option changes from this:

    operation:
      name: "bulkWrite"
      arguments:
        requests:
          - insertOne: 
              document: { _id: 4, x: 44 }
        ordered: false

To this:

    operation:
      name: "bulkWrite"
      arguments:
        requests:
          - name: "insertOne"
            arguments:
              document: { _id: 4, x: 44 }
        options:
          ordered: false

This brings Command Monitoring tests in line with the Retryable Writes and forthcoming Transactions tests.

The non-breaking change is in the Retryable Writes tests:

https://github.com/mongodb/specifications/commit/c0ce96daac5661f2603bfa52c9b3f683c176a292

Before, the tests said in prose that all MongoClients should be created with retryWrites=true. Now, the tests include the following YAML:

        clientOptions:
            retryWrites: true

The clientOptions are the same for all Retryable Writes tests. Interpreting this field now will prepare you for the Transactions tests, which make real use of the field.


Generated at Thu Feb 08 08:21:38 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.