diff --git a/source/collection-management/tests/README.rst b/source/collection-management/tests/README.rst index 940161b9ae..2fd8825a52 100644 --- a/source/collection-management/tests/README.rst +++ b/source/collection-management/tests/README.rst @@ -3,5 +3,4 @@ Collection Management Tests =========================== This directory contains tests for collection management. They are implemented -in the `Unified Test Format <../../unified-test-format/unified-test-format.rst>`__ -and require schema version 1.0. +in the `Unified Test Format <../../unified-test-format/unified-test-format.rst>`__. diff --git a/source/collection-management/tests/createCollection-pre_and_post_images.json b/source/collection-management/tests/createCollection-pre_and_post_images.json new file mode 100644 index 0000000000..fb4319d27d --- /dev/null +++ b/source/collection-management/tests/createCollection-pre_and_post_images.json @@ -0,0 +1,91 @@ +{ + "description": "createCollection-pre_and_post_images", + "schemaVersion": "1.0", + "runOnRequirements": [ + { + "minServerVersion": "6.0" + } + ], + "createEntities": [ + { + "client": { + "id": "client0", + "observeEvents": [ + "commandStartedEvent" + ] + } + }, + { + "database": { + "id": "database0", + "client": "client0", + "databaseName": "papi-tests" + } + }, + { + "collection": { + "id": "collection0", + "database": "database0", + "collectionName": "test" + } + } + ], + "tests": [ + { + "description": "createCollection with changeStreamPreAndPostImages enabled", + "operations": [ + { + "name": "dropCollection", + "object": "database0", + "arguments": { + "collection": "test" + } + }, + { + "name": "createCollection", + "object": "database0", + "arguments": { + "collection": "test", + "changeStreamPreAndPostImages": { + "enabled": true + } + } + }, + { + "name": "assertCollectionExists", + "object": "testRunner", + "arguments": { + "databaseName": "papi-tests", + "collectionName": "test" + } + } + ], + "expectEvents": [ + { + "client": "client0", + "events": [ + { + "commandStartedEvent": { + "command": { + "drop": "test" + }, + "databaseName": "papi-tests" + } + }, + { + "commandStartedEvent": { + "command": { + "create": "test", + "changeStreamPreAndPostImages": { + "enabled": true + } + }, + "databaseName": "papi-tests" + } + } + ] + } + ] + } + ] +} diff --git a/source/collection-management/tests/createCollection-pre_and_post_images.yml b/source/collection-management/tests/createCollection-pre_and_post_images.yml new file mode 100644 index 0000000000..f8aa69ec4d --- /dev/null +++ b/source/collection-management/tests/createCollection-pre_and_post_images.yml @@ -0,0 +1,49 @@ +description: "createCollection-pre_and_post_images" + +schemaVersion: "1.0" + +runOnRequirements: + - minServerVersion: "6.0" + +createEntities: + - client: + id: &client0 client0 + observeEvents: [ commandStartedEvent ] + - database: + id: &database0 database0 + client: *client0 + databaseName: &database0Name papi-tests + - collection: + id: &collection0 collection0 + database: *database0 + collectionName: &collection0Name test + +tests: + - description: "createCollection with changeStreamPreAndPostImages enabled" + operations: + - name: dropCollection + object: *database0 + arguments: + collection: *collection0Name + - name: createCollection + object: *database0 + arguments: + collection: *collection0Name + changeStreamPreAndPostImages: { enabled: true } + - name: assertCollectionExists + object: testRunner + arguments: + databaseName: *database0Name + collectionName: *collection0Name + expectEvents: + - client: *client0 + events: + - commandStartedEvent: + command: + drop: *collection0Name + databaseName: *database0Name + - commandStartedEvent: + command: + create: *collection0Name + changeStreamPreAndPostImages: { enabled: true } + databaseName: *database0Name diff --git a/source/collection-management/tests/modifyCollection-pre_and_post_images.json b/source/collection-management/tests/modifyCollection-pre_and_post_images.json new file mode 100644 index 0000000000..2dab219c43 --- /dev/null +++ b/source/collection-management/tests/modifyCollection-pre_and_post_images.json @@ -0,0 +1,110 @@ +{ + "description": "modifyCollection-pre_and_post_images", + "schemaVersion": "1.0", + "runOnRequirements": [ + { + "minServerVersion": "6.0" + } + ], + "createEntities": [ + { + "client": { + "id": "client0", + "observeEvents": [ + "commandStartedEvent" + ] + } + }, + { + "database": { + "id": "database0", + "client": "client0", + "databaseName": "papi-tests" + } + }, + { + "collection": { + "id": "collection0", + "database": "database0", + "collectionName": "test" + } + } + ], + "tests": [ + { + "description": "modifyCollection to changeStreamPreAndPostImages enabled", + "operations": [ + { + "name": "dropCollection", + "object": "database0", + "arguments": { + "collection": "test" + } + }, + { + "name": "createCollection", + "object": "database0", + "arguments": { + "collection": "test", + "changeStreamPreAndPostImages": { + "enabled": false + } + } + }, + { + "name": "assertCollectionExists", + "object": "testRunner", + "arguments": { + "databaseName": "papi-tests", + "collectionName": "test" + } + }, + { + "name": "modifyCollection", + "object": "database0", + "arguments": { + "collection": "test", + "changeStreamPreAndPostImages": { + "enabled": true + } + } + } + ], + "expectEvents": [ + { + "client": "client0", + "events": [ + { + "commandStartedEvent": { + "command": { + "drop": "test" + }, + "databaseName": "papi-tests" + } + }, + { + "commandStartedEvent": { + "command": { + "create": "test", + "changeStreamPreAndPostImages": { + "enabled": false + } + } + } + }, + { + "commandStartedEvent": { + "command": { + "collMod": "test", + "changeStreamPreAndPostImages": { + "enabled": true + } + } + } + } + ] + } + ] + } + ] +} diff --git a/source/collection-management/tests/modifyCollection-pre_and_post_images.yml b/source/collection-management/tests/modifyCollection-pre_and_post_images.yml new file mode 100644 index 0000000000..1c26d5b6af --- /dev/null +++ b/source/collection-management/tests/modifyCollection-pre_and_post_images.yml @@ -0,0 +1,57 @@ +description: "modifyCollection-pre_and_post_images" + +schemaVersion: "1.0" + +runOnRequirements: + - minServerVersion: "6.0" + +createEntities: + - client: + id: &client0 client0 + observeEvents: [ commandStartedEvent ] + - database: + id: &database0 database0 + client: *client0 + databaseName: &database0Name papi-tests + - collection: + id: &collection0 collection0 + database: *database0 + collectionName: &collection0Name test + +tests: + - description: "modifyCollection to changeStreamPreAndPostImages enabled" + operations: + - name: dropCollection + object: *database0 + arguments: + collection: *collection0Name + - name: createCollection + object: *database0 + arguments: + collection: *collection0Name + changeStreamPreAndPostImages: { enabled: false } + - name: assertCollectionExists + object: testRunner + arguments: + databaseName: *database0Name + collectionName: *collection0Name + - name: modifyCollection + object: *database0 + arguments: + collection: *collection0Name + changeStreamPreAndPostImages: { enabled: true } + expectEvents: + - client: *client0 + events: + - commandStartedEvent: + command: + drop: *collection0Name + databaseName: *database0Name + - commandStartedEvent: + command: + create: *collection0Name + changeStreamPreAndPostImages: { enabled: false } + - commandStartedEvent: + command: + collMod: *collection0Name + changeStreamPreAndPostImages: { enabled: true }