diff options
author | Sophia Tan <sophia_tll@hotmail.com> | 2022-08-03 18:14:03 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-08-10 04:10:22 +0000 |
commit | e008eb5f1e07997139ae3acd81152b6180e9e312 (patch) | |
tree | 70fe5516b13661f1007f1cc1bf4d3208b932e3e6 /jstests/serverless | |
parent | 1ad5ef42f5161542550262647ab79e85cc6a7cf2 (diff) | |
download | mongo-e008eb5f1e07997139ae3acd81152b6180e9e312.tar.gz |
SERVER-67459 Change BasicCommand to use DatabaseName
Diffstat (limited to 'jstests/serverless')
-rw-r--r-- | jstests/serverless/native_tenant_data_isolation_basic_dollar_tenant.js | 26 | ||||
-rw-r--r-- | jstests/serverless/native_tenant_data_isolation_basic_security_token.js | 22 |
2 files changed, 46 insertions, 2 deletions
diff --git a/jstests/serverless/native_tenant_data_isolation_basic_dollar_tenant.js b/jstests/serverless/native_tenant_data_isolation_basic_dollar_tenant.js index bf0cc3a1b43..c9be6d8e3fd 100644 --- a/jstests/serverless/native_tenant_data_isolation_basic_dollar_tenant.js +++ b/jstests/serverless/native_tenant_data_isolation_basic_dollar_tenant.js @@ -65,13 +65,35 @@ const testColl = testDb.getCollection(kCollName); })); assert.eq({_id: 0, a: 11, b: 1}, fad2.value); // This document should not be accessed with a different tenant. - const fad3 = assert.commandWorked(testDb.runCommand({ + const fadOtherUser = assert.commandWorked(testDb.runCommand({ findAndModify: kCollName, query: {b: 1}, update: {$inc: {b: 10}}, '$tenant': kOtherTenant })); - assert.eq(null, fad3.value); + assert.eq(null, fadOtherUser.value); +} + +// Test count and distinct command. +{ + assert.commandWorked(testDb.runCommand( + {insert: kCollName, documents: [{c: 1, d: 1}, {c: 1, d: 2}], '$tenant': kTenant})); + + // Test count command. + const resCount = assert.commandWorked( + testDb.runCommand({count: kCollName, query: {c: 1}, '$tenant': kTenant})); + assert.eq(2, resCount.n); + const resCountOtherUser = assert.commandWorked( + testDb.runCommand({count: kCollName, query: {c: 1}, '$tenant': kOtherTenant})); + assert.eq(0, resCountOtherUser.n); + + // Test Distict command. + const resDistinct = assert.commandWorked( + testDb.runCommand({distinct: kCollName, key: 'd', query: {}, '$tenant': kTenant})); + assert.eq([1, 2], resDistinct.values.sort()); + const resDistinctOtherUser = assert.commandWorked( + testDb.runCommand({distinct: kCollName, key: 'd', query: {}, '$tenant': kOtherTenant})); + assert.eq([], resDistinctOtherUser.values); } // Test renameCollection command. diff --git a/jstests/serverless/native_tenant_data_isolation_basic_security_token.js b/jstests/serverless/native_tenant_data_isolation_basic_security_token.js index 4527bfb0530..bed254a2b68 100644 --- a/jstests/serverless/native_tenant_data_isolation_basic_security_token.js +++ b/jstests/serverless/native_tenant_data_isolation_basic_security_token.js @@ -67,6 +67,20 @@ const tokenConn = new Mongo(mongod.host); assert(arrayEq(expectedColls, colls.cursor.firstBatch), tojson(colls.cursor.firstBatch)); } + // Test count and distinct command. + { + assert.commandWorked(tokenDB.runCommand( + {insert: kCollName, documents: [{_id: 1, c: 1, d: 1}, {_id: 2, c: 1, d: 2}]})); + + const resCount = + assert.commandWorked(tokenDB.runCommand({count: kCollName, query: {c: 1}})); + assert.eq(2, resCount.n); + + const resDitinct = + assert.commandWorked(tokenDB.runCommand({distinct: kCollName, key: 'd', query: {}})); + assert.eq([1, 2], resDitinct.values.sort()); + } + // Rename the collection. { const fromName = kDbName + '.' + kCollName; @@ -106,6 +120,14 @@ const tokenConn = new Mongo(mongod.host); tokenDB2.runCommand({findAndModify: kCollName, query: {b: 1}, update: {$inc: {b: 10}}})); assert.eq(null, fadOtherUser.value); + const countOtherUser = + assert.commandWorked(tokenDB2.runCommand({count: kCollName, query: {c: 1}})); + assert.eq(0, countOtherUser.n); + + const distinctOtherUer = + assert.commandWorked(tokenDB2.runCommand({distinct: kCollName, key: 'd', query: {}})); + assert.eq([], distinctOtherUer.values); + const fromName = kDbName + '.' + kCollName; const toName = fromName + "_renamed"; assert.commandFailedWithCode( |