modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/authz/test/AuthorizationManagerBeanTest.java
| 42 ++++++++--
1 file changed, 36 insertions(+), 6 deletions(-)
New commits:
commit 97474717d5c36881296b38aca4ee7f222ea3ae11
Author: John Sanda <jsanda(a)redhat.com>
Date: Mon Mar 29 15:35:17 2010 -0400
[BZ 573982] Adding test for when user does not have perms to view resources
diff --git
a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/authz/test/AuthorizationManagerBeanTest.java
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/authz/test/AuthorizationManagerBeanTest.java
index 9d31668..4ce5e6e 100644
---
a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/authz/test/AuthorizationManagerBeanTest.java
+++
b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/authz/test/AuthorizationManagerBeanTest.java
@@ -374,28 +374,25 @@ public class AuthorizationManagerBeanTest extends AbstractEJB3Test
{
}
@Test
- public void testCanViewResources() throws Exception {
+ public void testCanViewResourcesWhenSubjectIsInRole() throws Exception {
getTransactionManager().begin();
EntityManager entityMgr = getEntityManager();
try {
Subject subject = SessionTestHelper.createNewSubject(entityMgr,
"testSubject");
- Subject anotherSubject = SessionTestHelper.createNewSubject(entityMgr,
"anotherTestSubject");
Role roleWithSubject = SessionTestHelper.createNewRoleForSubject(entityMgr,
subject, "role with subject");
roleWithSubject.addPermission(Permission.VIEW_RESOURCE);
- Role roleWithoutSubject =
SessionTestHelper.createNewRoleForSubject(entityMgr, anotherSubject,
- "role without subject");
-
ResourceGroup group =
SessionTestHelper.createNewCompatibleGroupForRole(entityMgr, roleWithSubject,
"accessible group");
Resource r1 = SessionTestHelper.createNewResourceForGroup(entityMgr, group,
"r1");
+ Resource r2 = SessionTestHelper.createNewResourceForGroup(entityMgr, group,
"r2");
entityMgr.flush();
- List<Integer> resourceIds = Arrays.asList(r1.getId());
+ List<Integer> resourceIds = Arrays.asList(r1.getId(), r2.getId());
assertTrue(
"The subject should have permission to view the resources",
@@ -408,6 +405,39 @@ public class AuthorizationManagerBeanTest extends AbstractEJB3Test {
}
}
+ @Test
+ public void testCanViewResourcesWhenSubjectIsNotInRole() throws Exception {
+ getTransactionManager().begin();
+ EntityManager entityMgr = getEntityManager();
+
+ try {
+ Subject subject = SessionTestHelper.createNewSubject(entityMgr,
"testSubject");
+ Subject subjectNotInRole = SessionTestHelper.createNewSubject(entityMgr,
"subjectNotInRole");
+
+ Role roleWithSubject = SessionTestHelper.createNewRoleForSubject(entityMgr,
subject, "role with subject");
+ roleWithSubject.addPermission(Permission.VIEW_RESOURCE);
+
+ ResourceGroup group =
SessionTestHelper.createNewCompatibleGroupForRole(entityMgr, roleWithSubject,
+ "accessible group");
+
+ Resource r1 = SessionTestHelper.createNewResourceForGroup(entityMgr, group,
"r1");
+ Resource r2 = SessionTestHelper.createNewResourceForGroup(entityMgr, group,
"r2");
+
+ entityMgr.flush();
+
+ List<Integer> resourceIds = Arrays.asList(r1.getId(), r2.getId());
+
+ assertFalse(
+ "The subject should not have permission to view the
resources",
+ authorizationManager.canViewResources(subjectNotInRole, resourceIds)
+ );
+
+ }
+ finally {
+ getTransactionManager().rollback();
+ }
+ }
+
/*
* Test methods: getResourcePermissions(Subject, Resource)
hasResourcePermission(Subject, Permission, Resource)
* hasResourcePermission(Subject, Permission, Collection<Resource>)