001 /** 002 * Copyright 2005-2011 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.rice.kim.test.service; 017 018 import org.junit.Test; 019 import org.kuali.rice.kim.api.common.assignee.Assignee; 020 import org.kuali.rice.kim.api.permission.PermissionService; 021 import org.kuali.rice.kim.api.services.KimApiServiceLocator; 022 import org.kuali.rice.kim.impl.common.template.TemplateBo; 023 import org.kuali.rice.kim.impl.permission.PermissionBo; 024 import org.kuali.rice.kim.test.KIMTestCase; 025 import org.kuali.rice.test.BaselineTestCase; 026 027 import java.util.Collections; 028 import java.util.HashMap; 029 import java.util.List; 030 031 import static org.junit.Assert.*; 032 033 /** 034 * Test the PermissionService 035 * 036 * @author Kuali Rice Team (rice.collab@kuali.org) 037 * 038 */ 039 @BaselineTestCase.BaselineMode(BaselineTestCase.Mode.NONE) 040 public class PermissionServiceTest extends KIMTestCase { 041 042 private PermissionService permissionService; 043 044 @Override 045 public void setUp() throws Exception { 046 super.setUp(); 047 setPermissionService(KimApiServiceLocator.getPermissionService()); 048 } 049 050 @Test 051 public void testHasPermission() { 052 assertTrue(getPermissionService().hasPermission("entity123pId", "KR-NS", "perm1", new HashMap<String, String>())); 053 assertTrue(getPermissionService().hasPermission("entity123pId", "KR-NS", "perm2", new HashMap<String, String>())); 054 assertFalse(getPermissionService().hasPermission("entity124pId", "KR-NS", "perm2", new HashMap<String, String>())); 055 } 056 057 @Test 058 public void testIsAuthorized() { 059 assertTrue(getPermissionService().isAuthorized("entity123pId", "KR-NS", "perm1", new HashMap<String, String>(), new HashMap<String, String>())); 060 assertTrue(getPermissionService().isAuthorized("entity123pId", "KR-NS", "perm2", new HashMap<String, String>(), new HashMap<String, String>())); 061 assertFalse(getPermissionService().isAuthorized("entity124pId", "KR-NS", "perm2", new HashMap<String, String>(), new HashMap<String, String>())); 062 } 063 064 @Test 065 public void testHasPermissionByTemplateName() { 066 assertTrue(getPermissionService().hasPermissionByTemplateName("entity123pId", "KUALI", "Default", new HashMap<String, String>())); 067 // TODO - getting a SOAPFaultException on this call; fix and un-comment 068 // assertFalse(getPermissionService().hasPermissionByTemplateName("entity124pId", "KUALI", "Default", new Map<String, String>())); 069 } 070 071 @Test 072 public void testIsAuthorizedByTemplateName() { 073 // assertTrue(getPermissionService().isAuthorizedByTemplateName(principalId, namespaceCode, permissionTemplateName, permissionDetails, qualification)("entity123pId", "KR-NS", "1", new Map<String, String>())); 074 } 075 076 @Test 077 public void testGetPermissionAssignees() { 078 079 List<Assignee> assignees = getPermissionService().getPermissionAssignees("KUALI", "Log In Kuali Portal", Collections 080 .<String, String>emptyMap(), Collections.<String, String>emptyMap()); 081 assertNotNull(assignees); 082 assertEquals(1, assignees.size()); 083 Assignee permInfo = assignees.get(0); 084 assertEquals("entity123pId", permInfo.getPrincipalId()); 085 assignees = getPermissionService().getPermissionAssignees("KUALI", "Not A Valid Permission Name", Collections.<String, String>emptyMap(), Collections.<String, String>emptyMap()); 086 // TODO - jax-ws remoted service returns null; local return empty List. Fix webservice return 087 assertTrue(null == assignees || assignees.size() == 0); 088 } 089 090 @Test 091 public void testGetPermissionAssigneesForTemplateName() { 092 /* 093 List<PermissionAssigneeInfo> assignees = getPermissionService().getPermissionAssignees("KUALI", "Log In", null, null); 094 assertNotNull(assignees); 095 assertEquals(1, assignees.size()); 096 PermissionAssigneeInfo permInfo = assignees.get(0); 097 assertEquals("entity123pId", permInfo.getPrincipalId()); 098 assignees = getPermissionService().getPermissionAssignees("KUALI", "Not A Valid Permission Name", null, null); 099 assertNull(assignees); 100 */ 101 } 102 103 @Test 104 public void testIsPermissionDefined() { 105 } 106 107 @Test 108 public void testIsPermissionDefinedForTemplateName() { 109 } 110 111 @Test 112 public void testGetAuthorizedPermissions() { 113 } 114 115 @Test 116 public void testGetAuthorizedPermissionsByTemplateName() { 117 } 118 119 @Test 120 public void testGetPermission() { 121 PermissionBo permissionBo = PermissionBo.from(getPermissionService().getPermission("p1")); 122 123 assertNotNull(permissionBo); 124 assertEquals("perm1", permissionBo.getName()); 125 assertEquals("KR-NS", permissionBo.getNamespaceCode()); 126 assertEquals(0, permissionBo.getDetails().size()); 127 assertTrue(permissionBo.isActive()); 128 129 TemplateBo templateBo = permissionBo.getTemplate(); 130 assertNotNull(templateBo); 131 assertTrue(templateBo.isActive()); 132 assertEquals("1", templateBo.getKimTypeId()); 133 assertEquals("Default", templateBo.getName()); 134 assertEquals("KUALI", templateBo.getNamespaceCode()); 135 136 permissionBo = PermissionBo.from(getPermissionService().getPermission("p0")); 137 assertNull(permissionBo); 138 } 139 140 @Test 141 public void testGetPermissionsByTemplateName() { 142 } 143 144 @Test 145 public void testGetPermissionsByName() { 146 } 147 148 @Test 149 public void testLookupPermissions() { 150 } 151 152 @Test 153 public void testGetRoleIdsForPermission() { 154 } 155 156 @Test 157 public void testGetRoleIdsForPermissions() { 158 } 159 160 @Test 161 public void testGetPermissionDetailLabel() { 162 } 163 164 public PermissionService getPermissionService() { 165 return this.permissionService; 166 } 167 168 public void setPermissionService(PermissionService permissionService) { 169 this.permissionService = permissionService; 170 } 171 172 }