summaryrefslogtreecommitdiff
path: root/src/mongo/db/auth/authorization_manager_test.cpp
diff options
context:
space:
mode:
authorSpencer T Brody <spencer@10gen.com>2013-09-06 14:12:13 -0400
committerSpencer T Brody <spencer@10gen.com>2013-09-09 11:43:45 -0400
commiteb46cc62a0d6e08e2cabc0862490d76f2833e8b1 (patch)
tree780c981e5ec88f919775bc8d3225c58fc820b503 /src/mongo/db/auth/authorization_manager_test.cpp
parent667648a2d9e97ca0ecf995e89eba75fd3e70a08c (diff)
downloadmongo-eb46cc62a0d6e08e2cabc0862490d76f2833e8b1.tar.gz
SERVER-9518 Store delegatable roles list in User object in memory
Diffstat (limited to 'src/mongo/db/auth/authorization_manager_test.cpp')
-rw-r--r--src/mongo/db/auth/authorization_manager_test.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mongo/db/auth/authorization_manager_test.cpp b/src/mongo/db/auth/authorization_manager_test.cpp
index a053c9c7cc7..b5d86841923 100644
--- a/src/mongo/db/auth/authorization_manager_test.cpp
+++ b/src/mongo/db/auth/authorization_manager_test.cpp
@@ -562,7 +562,7 @@ namespace {
"credentials" << BSON("MONGODB-CR" << "password") <<
"roles" << BSON_ARRAY(BSON("name" << "clusterAdmin" <<
"source" << "admin" <<
- "canDelegate" << false <<
+ "canDelegate" << true <<
"hasRole" << true)))));
User* v2read;
@@ -576,6 +576,7 @@ namespace {
ASSERT_EQUALS("test", roleName.getDB());
ASSERT_EQUALS("read", roleName.getRole());
ASSERT_FALSE(it.more());
+ ASSERT(!v2read->canDelegateRole(roleName));
ActionSet actions = v2read->getActionsForResource("test");
ASSERT(actions.contains(ActionType::find));
ASSERT_FALSE(actions.contains(ActionType::insert));
@@ -597,6 +598,13 @@ namespace {
ASSERT_EQUALS("admin", roleName.getDB());
ASSERT_EQUALS("clusterAdmin", roleName.getRole());
ASSERT_FALSE(it.more());
+ it = v2cluster->getDelegatableRoles();
+ ASSERT(it.more());
+ roleName = it.next();
+ ASSERT_EQUALS("admin", roleName.getDB());
+ ASSERT_EQUALS("clusterAdmin", roleName.getRole());
+ ASSERT_FALSE(it.more());
+ ASSERT(v2cluster->canDelegateRole(roleName));
actions = v2cluster->getActionsForResource("*");
ASSERT(actions.contains(ActionType::listDatabases));
ASSERT(actions.contains(ActionType::dropDatabase));