summaryrefslogtreecommitdiff
path: root/jstests/auth/basic_role_auth.js
diff options
context:
space:
mode:
authorRandolph Tan <randolph@10gen.com>2014-03-14 11:43:25 -0400
committerRandolph Tan <randolph@10gen.com>2014-03-26 15:34:37 -0400
commit386f1b32babc38daafad97949056ac953d53b3b0 (patch)
tree343a72e2d26b7b3d7c86ddc59250835b59e00d2d /jstests/auth/basic_role_auth.js
parentfd1ac5955a4f2d4d0c74ab3e88d4b49169973b11 (diff)
downloadmongo-386f1b32babc38daafad97949056ac953d53b3b0.tar.gz
SERVER-13191 migrate auth jstest suite to use write commands api
Diffstat (limited to 'jstests/auth/basic_role_auth.js')
-rw-r--r--jstests/auth/basic_role_auth.js45
1 files changed, 23 insertions, 22 deletions
diff --git a/jstests/auth/basic_role_auth.js b/jstests/auth/basic_role_auth.js
index 0530edda062..35e6b468164 100644
--- a/jstests/auth/basic_role_auth.js
+++ b/jstests/auth/basic_role_auth.js
@@ -99,9 +99,8 @@ var CLUSTER_PERM = { killOp: 1, currentOp: 1, fsync_unlock: 1, killCursor: 1, pr
*
* @param shouldPass {Boolean} true means that the operation should succeed.
* @param opFunc {function()} a function object which contains the operation to perform.
- * @param db {DB?} an optional parameter that will be used to call getLastError if present.
*/
-var checkErr = function(shouldPass, opFunc, db) {
+var checkErr = function(shouldPass, opFunc) {
var success = true;
var exception = null;
@@ -112,17 +111,10 @@ var checkErr = function(shouldPass, opFunc, db) {
success = false;
}
- var gle = null;
- if (db != null) {
- gle = db.getLastError();
- success = success && (gle == null);
- }
-
assert(success == shouldPass, 'expected shouldPass: ' + shouldPass +
', got: ' + success +
', op: ' + tojson(opFunc) +
- ', exception: ' + tojson(exception) +
- ', gle: ' + tojson(gle));
+ ', exception: ' + tojson(exception));
};
/**
@@ -138,16 +130,19 @@ var checkErr = function(shouldPass, opFunc, db) {
*/
var testOps = function(db, allowedActions) {
checkErr(allowedActions.hasOwnProperty('insert'), function() {
- db.user.insert({ y: 1 });
- }, db);
+ var res = db.user.insert({ y: 1 });
+ if (res.hasWriteError()) throw Error("insert failed: " + tojson(res.getRawResponse()));
+ });
checkErr(allowedActions.hasOwnProperty('update'), function() {
- db.user.update({ y: 1 }, { z: 3 });
- }, db);
+ var res = db.user.update({ y: 1 }, { z: 3 });
+ if (res.hasWriteError()) throw Error("update failed: " + tojson(res.getRawResponse()));
+ });
checkErr(allowedActions.hasOwnProperty('remove'), function() {
- db.user.remove({ y: 1 });
- }, db);
+ var res = db.user.remove({ y: 1 });
+ if (res.hasWriteError()) throw Error("remove failed: " + tojson(res.getRawResponse()));
+ });
checkErr(allowedActions.hasOwnProperty('query'), function() {
db.user.findOne({ y: 1 });
@@ -174,16 +169,22 @@ var testOps = function(db, allowedActions) {
});
checkErr(allowedActions.hasOwnProperty('index_w'), function() {
- db.user.ensureIndex({ x: 1 });
- }, db);
+ var res = db.user.ensureIndex({ x: 1 });
+ if (res.code == 13) { // Unauthorized
+ throw 'unauthorized currentOp';
+ }
+ });
checkErr(allowedActions.hasOwnProperty('profile_r'), function() {
db.system.profile.findOne();
});
checkErr(allowedActions.hasOwnProperty('profile_w'), function() {
- db.system.profile.insert({ x: 1 });
- }, db);
+ var res = db.system.profile.insert({ x: 1 });
+ if (res.hasWriteError()) {
+ throw Error("profile insert failed: " + tojson(res.getRawResponse()));
+ }
+ });
checkErr(allowedActions.hasOwnProperty('user_r'), function() {
var result = db.runCommand({usersInfo: 1});
@@ -194,8 +195,8 @@ var testOps = function(db, allowedActions) {
checkErr(allowedActions.hasOwnProperty('user_w'), function() {
db.createUser({user:'a', pwd: 'a', roles: jsTest.basicUserRoles});
- db.dropUser('a');
- }, db);
+ assert(db.dropUser('a'));
+ });
// Test for kill cursor
(function() {