diff options
author | Sergey Galtsev <sergey.galtsev@mongodb.com> | 2022-06-02 15:13:34 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-06-02 15:37:52 +0000 |
commit | c0d67ac4fc1d76749e9cd7b285aae331ca4cbd96 (patch) | |
tree | 9bb3d09f2c8f12ed4832023c6044842cea44ef4e /jstests | |
parent | 20c2bd8b670dc363f6cdbeb763d68da2a8935cd0 (diff) | |
download | mongo-c0d67ac4fc1d76749e9cd7b285aae331ca4cbd96.tar.gz |
SERVER-66622 fail to createCollection when running in 5.x compatibility mode
Diffstat (limited to 'jstests')
-rw-r--r-- | jstests/multiVersion/targetedTestsLastLtsFeatures/fle2_downgrade.js | 4 | ||||
-rw-r--r-- | jstests/multiVersion/targetedTestsLastLtsFeatures/fle2_downlevel_nocreate.js | 46 |
2 files changed, 48 insertions, 2 deletions
diff --git a/jstests/multiVersion/targetedTestsLastLtsFeatures/fle2_downgrade.js b/jstests/multiVersion/targetedTestsLastLtsFeatures/fle2_downgrade.js index 0808e2be307..670d8afa572 100644 --- a/jstests/multiVersion/targetedTestsLastLtsFeatures/fle2_downgrade.js +++ b/jstests/multiVersion/targetedTestsLastLtsFeatures/fle2_downgrade.js @@ -44,8 +44,8 @@ function runTest(targetFCV) { assert.commandWorked(db.adminCommand({setFeatureCompatibilityVersion: latestFCV})); } -targetFCV(lastLTSFCV); -targetFCV(lastContinuousFCV); +runTest(lastLTSFCV); +runTest(lastContinuousFCV); rst.stopSet(); }());
\ No newline at end of file diff --git a/jstests/multiVersion/targetedTestsLastLtsFeatures/fle2_downlevel_nocreate.js b/jstests/multiVersion/targetedTestsLastLtsFeatures/fle2_downlevel_nocreate.js new file mode 100644 index 00000000000..b34933ac7a3 --- /dev/null +++ b/jstests/multiVersion/targetedTestsLastLtsFeatures/fle2_downlevel_nocreate.js @@ -0,0 +1,46 @@ +/** + * Tests that the cluster cannot be downgraded when encrypted fields present + * + * @tags: [ + * requires_fcv_60 + * ] + */ + +load("jstests/fle2/libs/encrypted_client_util.js"); + +(function() { +"use strict"; + +const rst = new ReplSetTest({nodes: 1}); +rst.startSet(); +rst.initiate(); +rst.awaitReplication(); + +let dbName = 'downgrade_test'; +let conn = rst.getPrimary(); +let db = conn.getDB("admin"); +let client = new EncryptedClient(conn, dbName); +let dbTest = db.getSiblingDB('create_encrypted_collection_db'); + +const sampleEncryptedFields = { + "fields": [ + { + "path": "firstName", + "keyId": UUID("11d58b8a-0c6c-4d69-a0bd-70c6d9befae9"), + "bsonType": "string", + "queries": {"queryType": "equality"} // allow single object or array + }, + ] +}; + +assert.commandWorked(db.adminCommand({setFeatureCompatibilityVersion: lastLTSFCV})); +assert.commandFailedWithCode( + dbTest.createCollection("basic2", {encryptedFields: sampleEncryptedFields}), + 6662201, + "Create in 5.0 FCV passed"); + +assert.commandWorked(db.adminCommand({setFeatureCompatibilityVersion: latestFCV})); +assert.commandWorked(dbTest.createCollection("basic", {encryptedFields: sampleEncryptedFields})); + +rst.stopSet(); +}()); |