mongo/jstests/hooks/run_enable_change_stream.js

29 lines
1017 B
JavaScript

import {tenantCommand} from "jstests/libs/cluster_server_parameter_utils.js";
const dbName = "admin";
const conn = db.getMongo();
function createAndSetSecurityToken(kTenantId) {
if (typeof conn._securityToken == 'undefined' && TestData.hasOwnProperty("tenantId")) {
print(
`set security token to the connection: "${tojsononeline(conn)}", tenant: ${kTenantId}`);
const tenantToken = _createTenantToken({tenant: kTenantId});
conn._setSecurityToken(tenantToken);
}
}
function runCommandWithResponseCheck() {
const db = conn.getDB(dbName);
assert.commandWorked(db.runCommand(tenantCommand({setChangeStreamState: 1, enabled: true})));
const changeStreamObj =
assert.commandWorked(db.runCommand(tenantCommand({getChangeStreamState: 1})));
assert.eq(changeStreamObj.enabled, true);
}
if (TestData.hasOwnProperty("tenantId")) {
let kTenantId = ObjectId(TestData.tenantId);
createAndSetSecurityToken(kTenantId);
}
runCommandWithResponseCheck();