bson/testdata/crud/unified/aggregate-merge.yml
2025-03-17 20:58:26 +01:00

186 lines
4.5 KiB
YAML

# This file was created automatically using mongodb-spec-converter.
# Please review the generated file, then remove this notice.
description: aggregate-merge
schemaVersion: '1.0'
runOnRequirements:
-
minServerVersion: 4.1.11
createEntities:
-
client:
id: &client0 client0
observeEvents:
- commandStartedEvent
-
database:
id: &database0 database0
client: client0
databaseName: &database_name crud-v2
-
collection:
id: &collection0 collection0
database: database0
collectionName: &collection_name test_aggregate_merge
-
collection:
id: &collection_readConcern_majority collection_readConcern_majority
database: database0
collectionName: *collection_name
collectionOptions:
readConcern: { level: "majority" }
-
collection:
id: &collection_readConcern_local collection_readConcern_local
database: database0
collectionName: *collection_name
collectionOptions:
readConcern: { level: "local" }
-
collection:
id: &collection_readConcern_available collection_readConcern_available
database: database0
collectionName: *collection_name
collectionOptions:
readConcern: { level: "available" }
initialData:
-
collectionName: *collection_name
databaseName: *database_name
documents:
-
_id: 1
x: 11
-
_id: 2
x: 22
-
_id: 3
x: 33
tests:
-
description: 'Aggregate with $merge'
operations:
-
object: *collection0
name: aggregate
arguments: &arguments
pipeline: &pipeline
-
$sort:
x: 1
-
$match:
_id:
$gt: 1
-
$merge:
into: &output_collection other_test_collection
expectEvents:
-
client: *client0
events:
-
commandStartedEvent:
command:
aggregate: *collection_name
pipeline: *pipeline
outcome: &outcome
-
collectionName: *output_collection
databaseName: *database_name
documents:
-
_id: 2
x: 22
-
_id: 3
x: 33
-
description: 'Aggregate with $merge and batch size of 0'
operations:
-
object: *collection0
name: aggregate
arguments:
pipeline: &pipeline
-
$sort:
x: 1
-
$match:
_id:
$gt: 1
-
$merge:
into: &output_collection other_test_collection
batchSize: 0
expectEvents:
-
client: *client0
events:
-
commandStartedEvent:
command:
aggregate: *collection_name
pipeline: *pipeline
cursor: { }
outcome: *outcome
-
description: 'Aggregate with $merge and majority readConcern'
operations:
-
object: *collection_readConcern_majority
name: aggregate
arguments: *arguments
expectEvents:
-
client: *client0
events:
-
commandStartedEvent:
command:
aggregate: *collection_name
pipeline: *pipeline
readConcern:
level: majority
outcome: *outcome
-
description: 'Aggregate with $merge and local readConcern'
operations:
-
object: *collection_readConcern_local
name: aggregate
arguments: *arguments
expectEvents:
-
client: *client0
events:
-
commandStartedEvent:
command:
aggregate: *collection_name
pipeline: *pipeline
readConcern:
level: local
outcome: *outcome
-
description: 'Aggregate with $merge and available readConcern'
operations:
-
object: *collection_readConcern_available
name: aggregate
arguments: *arguments
expectEvents:
-
client: *client0
events:
-
commandStartedEvent:
command:
aggregate: *collection_name
pipeline: *pipeline
readConcern:
level: available
outcome: *outcome