1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
|
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 }
|