104 lines
3.4 KiB
YAML
104 lines
3.4 KiB
YAML
description: "disambiguatedPaths"
|
|
schemaVersion: "1.4"
|
|
createEntities:
|
|
- client:
|
|
id: &client0 client0
|
|
useMultipleMongoses: false
|
|
- database:
|
|
id: &database0 database0
|
|
client: *client0
|
|
databaseName: *database0
|
|
- collection:
|
|
id: &collection0 collection0
|
|
database: *database0
|
|
collectionName: *collection0
|
|
|
|
runOnRequirements:
|
|
- minServerVersion: "6.1.0"
|
|
topologies: [ replicaset, load-balanced, sharded ]
|
|
serverless: forbid
|
|
|
|
initialData:
|
|
- collectionName: *collection0
|
|
databaseName: *database0
|
|
documents: []
|
|
|
|
tests:
|
|
- description: "disambiguatedPaths is not present when showExpandedEvents is false/unset"
|
|
operations:
|
|
- name: insertOne
|
|
object: *collection0
|
|
arguments:
|
|
document: { _id: 1, 'a': { '1': 1 } }
|
|
- name: createChangeStream
|
|
object: *collection0
|
|
arguments: { pipeline: [] }
|
|
saveResultAsEntity: &changeStream0 changeStream0
|
|
- name: updateOne
|
|
object: *collection0
|
|
arguments:
|
|
filter: { _id: 1 }
|
|
update: { $set: { 'a.1': 2 } }
|
|
- name: iterateUntilDocumentOrError
|
|
object: *changeStream0
|
|
expectResult:
|
|
operationType: "update"
|
|
ns: { db: *database0, coll: *collection0 }
|
|
updateDescription:
|
|
updatedFields: { $$exists: true }
|
|
removedFields: { $$exists: true }
|
|
truncatedArrays: { $$exists: true }
|
|
disambiguatedPaths: { $$exists: false }
|
|
|
|
- description: "disambiguatedPaths is present on updateDescription when an ambiguous path is present"
|
|
operations:
|
|
- name: insertOne
|
|
object: *collection0
|
|
arguments:
|
|
document: { _id: 1, 'a': { '1': 1 } }
|
|
- name: createChangeStream
|
|
object: *collection0
|
|
arguments: { pipeline: [], showExpandedEvents: true }
|
|
saveResultAsEntity: &changeStream0 changeStream0
|
|
- name: updateOne
|
|
object: *collection0
|
|
arguments:
|
|
filter: { _id: 1 }
|
|
update: { $set: { 'a.1': 2 } }
|
|
- name: iterateUntilDocumentOrError
|
|
object: *changeStream0
|
|
expectResult:
|
|
operationType: "update"
|
|
ns: { db: *database0, coll: *collection0 }
|
|
updateDescription:
|
|
updatedFields: { $$exists: true }
|
|
removedFields: { $$exists: true }
|
|
truncatedArrays: { $$exists: true }
|
|
disambiguatedPaths: { 'a.1': ['a', '1'] }
|
|
|
|
- description: "disambiguatedPaths returns array indices as integers"
|
|
operations:
|
|
- name: insertOne
|
|
object: *collection0
|
|
arguments:
|
|
document: { _id: 1, 'a': [{'1': 1 }] }
|
|
- name: createChangeStream
|
|
object: *collection0
|
|
arguments: { pipeline: [], showExpandedEvents: true }
|
|
saveResultAsEntity: &changeStream0 changeStream0
|
|
- name: updateOne
|
|
object: *collection0
|
|
arguments:
|
|
filter: { _id: 1 }
|
|
update: { $set: { 'a.0.1': 2 } }
|
|
- name: iterateUntilDocumentOrError
|
|
object: *changeStream0
|
|
expectResult:
|
|
operationType: "update"
|
|
ns: { db: *database0, coll: *collection0 }
|
|
updateDescription:
|
|
updatedFields: { $$exists: true }
|
|
removedFields: { $$exists: true }
|
|
truncatedArrays: { $$exists: true }
|
|
disambiguatedPaths: { 'a.0.1': ['a', { $$type: 'int' }, '1'] }
|