88 lines
2.7 KiB
YAML
88 lines
2.7 KiB
YAML
description: "updateMany"
|
|
|
|
schemaVersion: "1.0"
|
|
|
|
createEntities:
|
|
- client:
|
|
id: &client client
|
|
observeEvents:
|
|
- commandStartedEvent
|
|
- commandSucceededEvent
|
|
- commandFailedEvent
|
|
- database:
|
|
id: &database database
|
|
client: *client
|
|
databaseName: &databaseName command-monitoring-tests
|
|
- collection:
|
|
id: &collection collection
|
|
database: *database
|
|
collectionName: &collectionName test
|
|
|
|
initialData:
|
|
- collectionName: *collectionName
|
|
databaseName: *databaseName
|
|
documents:
|
|
- { _id: 1, x: 11 }
|
|
- { _id: 2, x: 22 }
|
|
- { _id: 3, x: 33 }
|
|
|
|
tests:
|
|
- description: "A successful updateMany"
|
|
operations:
|
|
- name: updateMany
|
|
object: *collection
|
|
arguments:
|
|
filter: { _id: { $gt: 1 } }
|
|
update: { $inc: { x: 1 } }
|
|
expectEvents:
|
|
- client: *client
|
|
events:
|
|
- commandStartedEvent:
|
|
command:
|
|
update: *collectionName
|
|
updates:
|
|
- q: { _id: { $gt: 1 } }
|
|
u: { $inc: { x: 1 } }
|
|
upsert: { $$unsetOrMatches: false }
|
|
multi: true
|
|
ordered: true
|
|
commandName: update
|
|
databaseName: *databaseName
|
|
- commandSucceededEvent:
|
|
reply: { ok: 1, n: 2 }
|
|
commandName: update
|
|
|
|
- description: "A successful updateMany with write errors"
|
|
operations:
|
|
- name: updateMany
|
|
object: *collection
|
|
arguments:
|
|
filter: { _id: { $gt: 1 } }
|
|
update: { $unsupported: { x: 1 } }
|
|
expectError:
|
|
isClientError: false
|
|
expectEvents:
|
|
- client: *client
|
|
events:
|
|
- commandStartedEvent:
|
|
command:
|
|
update: *collectionName
|
|
updates:
|
|
- q: { _id: { $gt: 1 } }
|
|
u: { $unsupported: { x: 1 } }
|
|
upsert: { $$unsetOrMatches: false }
|
|
multi: true
|
|
ordered: true
|
|
commandName: update
|
|
databaseName: *databaseName
|
|
- commandSucceededEvent:
|
|
reply:
|
|
ok: 1
|
|
n: 0
|
|
# The legacy version of this test included an assertion that writeErrors contained a single document
|
|
# with index=0, a "code" value, and a non-empty "errmsg". However, writeErrors can contain extra fields
|
|
# beyond these, and the unified format currently does not permit allowing extra fields in sub-documents,
|
|
# so those assertions are not present here.
|
|
writeErrors: { $$type: array }
|
|
commandName: update
|