runOn: # These tests assert that the driver does not raise client-side errors and # instead relies on the server to raise an error. Server versions >= 3.4.0 # raise errors for unknown updateOne options, and server versions >= 4.2.0 # support the hint option in updateOne. - { minServerVersion: "3.4.0", maxServerVersion: "4.1.9" } data: - {_id: 1, x: 11} - {_id: 2, x: 22} - {_id: 3, x: 33} - {_id: 4, x: 44} collection_name: &collection_name 'test_bulkwrite_update_hint' tests: - description: "BulkWrite updateOne with update hints unsupported (server-side error)" operations: - name: "bulkWrite" arguments: requests: - name: "updateOne" arguments: filter: &updateOne_filter { _id: 1 } update: &updateOne_update { $inc: { x: 1 } } hint: &hint_string "_id_" - name: "updateOne" arguments: filter: *updateOne_filter update: *updateOne_update hint: &hint_doc { _id: 1 } options: { ordered: true } error: true expectations: - command_started_event: command: update: *collection_name updates: - q: *updateOne_filter u: *updateOne_update hint: *hint_string - q: *updateOne_filter u: *updateOne_update hint: *hint_doc ordered: true outcome: collection: data: - {_id: 1, x: 11 } - {_id: 2, x: 22 } - {_id: 3, x: 33 } - {_id: 4, x: 44 } - description: "BulkWrite updateMany with update hints unsupported (server-side error)" operations: - name: "bulkWrite" arguments: requests: - name: "updateMany" arguments: filter: &updateMany_filter { _id: { $lt: 3 } } update: &updateMany_update { $inc: { x: 1 } } hint: *hint_string - name: "updateMany" arguments: filter: *updateMany_filter update: *updateMany_update hint: *hint_doc options: { ordered: true } error: true expectations: - command_started_event: command: update: *collection_name updates: - q: *updateMany_filter u: *updateMany_update multi: true hint: *hint_string - q: *updateMany_filter u: *updateMany_update multi: true hint: *hint_doc ordered: true outcome: collection: data: - {_id: 1, x: 11 } - {_id: 2, x: 22 } - {_id: 3, x: 33 } - {_id: 4, x: 44 } - description: "BulkWrite replaceOne with update hints unsupported (server-side error)" operations: - name: "bulkWrite" arguments: requests: - name: "replaceOne" arguments: filter: { _id: 3 } replacement: { x: 333 } hint: *hint_string - name: "replaceOne" arguments: filter: { _id: 4 } replacement: { x: 444 } hint: *hint_doc options: { ordered: true } error: true expectations: - command_started_event: command: update: *collection_name updates: - q: { _id: 3 } u: { x: 333 } hint: *hint_string - q: { _id: 4 } u: { x: 444 } hint: *hint_doc ordered: true outcome: collection: data: - {_id: 1, x: 11 } - {_id: 2, x: 22 } - {_id: 3, x: 33 } - {_id: 4, x: 44 }