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
|
description: "change-streams"
schemaVersion: "1.0"
createEntities:
- client:
id: &client0 client0
- database:
id: &database0 database0
client: *client0
databaseName: *database0
- collection:
id: &collection0 collection0
database: *database0
collectionName: *collection0
initialData:
- collectionName: *collection0
databaseName: *database0
documents: []
tests:
- description: "Test array truncation"
runOnRequirements:
- minServerVersion: "4.7"
topologies: [replicaset]
operations:
- name: insertOne
object: *collection0
arguments:
document: {
"_id": 1,
"a": 1,
"array": ["foo", {"a": "bar"}, 1, 2, 3]
}
- name: createChangeStream
object: *collection0
arguments:
pipeline: []
saveResultAsEntity: &changeStream0 changeStream0
- name: updateOne
object: *collection0
arguments:
filter: {
"_id": 1
}
update: [
{
"$set": {
"array": ["foo", {"a": "bar"}]
}
}
]
- name: iterateUntilDocumentOrError
object: *changeStream0
expectResult: {
"operationType": "update",
"ns": {
"db": "database0",
"coll": "collection0"
},
# It is up to the MongoDB server to decide how to report a change.
# This expectation is based on the current MongoDB server behavior.
# Alternatively, we could have used a set of possible expectations of which only one
# must be satisfied, but the unified test format does not support this.
"updateDescription": {
"updatedFields": {},
"removedFields": [],
"truncatedArrays": [
{
"field": "array",
"newSize": 2
}
]
}
}
|