001/** 002 * Copyright 2005-2014 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 */ 016package org.kuali.rice.kim.test.service; 017 018import org.junit.Ignore; 019import org.junit.Test; 020import org.kuali.rice.kim.api.common.assignee.Assignee; 021import org.kuali.rice.kim.api.permission.PermissionService; 022import org.kuali.rice.kim.api.services.KimApiServiceLocator; 023import org.kuali.rice.kim.impl.common.template.TemplateBo; 024import org.kuali.rice.kim.impl.permission.PermissionBo; 025import org.kuali.rice.kim.test.KIMTestCase; 026import org.kuali.rice.test.BaselineTestCase; 027 028import java.util.Collections; 029import java.util.HashMap; 030import java.util.List; 031 032import static org.junit.Assert.*; 033 034/** 035 * Test the PermissionService 036 * 037 * @author Kuali Rice Team (rice.collab@kuali.org) 038 * 039 */ 040@BaselineTestCase.BaselineMode(BaselineTestCase.Mode.NONE) 041public class PermissionServiceTest extends KIMTestCase { 042 043 private PermissionService permissionService; 044 045 @Override 046 public void setUp() throws Exception { 047 super.setUp(); 048 setPermissionService(KimApiServiceLocator.getPermissionService()); 049 } 050 051 @Test 052 public void testHasPermission() { 053 assertTrue(getPermissionService().hasPermission("entity123pId", "KR-NS", "perm1")); 054 assertTrue(getPermissionService().hasPermission("entity123pId", "KR-NS", "perm2")); 055 assertFalse(getPermissionService().hasPermission("entity124pId", "KR-NS", "perm2")); 056 } 057 058 @Test 059 public void testIsAuthorized() { 060 assertTrue(getPermissionService().isAuthorized("entity123pId", "KR-NS", "perm1", new HashMap<String, String>())); 061 assertTrue(getPermissionService().isAuthorized("entity123pId", "KR-NS", "perm2", new HashMap<String, String>())); 062 assertFalse(getPermissionService().isAuthorized("entity124pId", "KR-NS", "perm2", new HashMap<String, String>())); 063 } 064 065 @Test 066 public void testHasPermissionByTemplateName() { 067 assertTrue(getPermissionService().hasPermissionByTemplate("entity123pId", "KUALI", "Default", 068 new HashMap<String, String>())); 069 // TODO - getting a SOAPFaultException on this call; fix and un-comment 070 // assertFalse(getPermissionService().hasPermissionByTemplate("entity124pId", "KUALI", "Default", new Map<String, String>())); 071 } 072 073 @Test 074 @Ignore // TODO implement testIsAuthorizedByTemplateName 075 public void testIsAuthorizedByTemplateName() { 076 // assertTrue(getPermissionService().isAuthorizedByTemplate(principalId, namespaceCode, permissionTemplateName, permissionDetails, qualification)("entity123pId", "KR-NS", "1", new Map<String, String>())); 077 } 078 079 @Test 080 public void testGetPermissionAssignees() { 081 082 List<Assignee> assignees = getPermissionService().getPermissionAssignees("KUALI", "Log In Kuali Portal", Collections.<String, String>emptyMap()); 083 assertNotNull(assignees); 084 assertEquals(1, assignees.size()); 085 Assignee permInfo = assignees.get(0); 086 assertEquals("entity123pId", permInfo.getPrincipalId()); 087 assignees = getPermissionService().getPermissionAssignees("KUALI", "Not A Valid Permission Name", Collections.<String, String>emptyMap()); 088 // TODO - jax-ws remoted service returns null; local return empty List. Fix webservice return 089 assertTrue(null == assignees || assignees.size() == 0); 090 } 091 092 @Test 093 @Ignore // TODO implement testGetPermissionAssigneesForTemplateName 094 public void testGetPermissionAssigneesForTemplateName() { 095 /* 096 List<PermissionAssigneeInfo> assignees = getPermissionService().getPermissionAssignees("KUALI", "Log In", null, null); 097 assertNotNull(assignees); 098 assertEquals(1, assignees.size()); 099 PermissionAssigneeInfo permInfo = assignees.get(0); 100 assertEquals("entity123pId", permInfo.getPrincipalId()); 101 assignees = getPermissionService().getPermissionAssignees("KUALI", "Not A Valid Permission Name", null, null); 102 assertNull(assignees); 103 */ 104 } 105 106 @Test 107 @Ignore // TODO implement testIsPermissionDefined 108 public void testIsPermissionDefined() { 109 } 110 111 @Test 112 @Ignore // TODO implement testIsPermissionDefinedForTemplateName 113 public void testIsPermissionDefinedForTemplateName() { 114 } 115 116 @Test 117 @Ignore // TODO implement testGetAuthorizedPermissions 118 public void testGetAuthorizedPermissions() { 119 } 120 121 @Test 122 @Ignore // TODO implement testGetAuthorizedPermissionsByTemplateName 123 public void testGetAuthorizedPermissionsByTemplateName() { 124 } 125 126 @Test 127 public void testGetPermission() { 128 PermissionBo permissionBo = PermissionBo.from(getPermissionService().getPermission("p1")); 129 130 assertNotNull(permissionBo); 131 assertEquals("perm1", permissionBo.getName()); 132 assertEquals("KR-NS", permissionBo.getNamespaceCode()); 133 assertEquals(0, permissionBo.getDetails().size()); 134 assertTrue(permissionBo.isActive()); 135 136 TemplateBo templateBo = permissionBo.getTemplate(); 137 assertNotNull(templateBo); 138 assertTrue(templateBo.isActive()); 139 assertEquals("1", templateBo.getKimTypeId()); 140 assertEquals("Default", templateBo.getName()); 141 assertEquals("KUALI", templateBo.getNamespaceCode()); 142 143 permissionBo = PermissionBo.from(getPermissionService().getPermission("p0")); 144 assertNull(permissionBo); 145 } 146 147 @Test 148 @Ignore // TODO implement testGetPermissionsByTemplateName 149 public void testGetPermissionsByTemplateName() { 150 } 151 152 @Test 153 @Ignore // TODO implement testGetPermissionsByName 154 public void testGetPermissionsByName() { 155 } 156 157 @Test 158 @Ignore // TODO implement testLookupPermissions 159 public void testLookupPermissions() { 160 } 161 162 @Test 163 @Ignore // TODO implement testGetRoleIdsForPermission 164 public void testGetRoleIdsForPermission() { 165 } 166 167 @Test 168 @Ignore // TODO implement testGetRoleIdsForPermissions 169 public void testGetRoleIdsForPermissions() { 170 } 171 172 @Test 173 @Ignore // TODO implement testGetPermissionDetailLabel 174 public void testGetPermissionDetailLabel() { 175 } 176 177 public PermissionService getPermissionService() { 178 return this.permissionService; 179 } 180 181 public void setPermissionService(PermissionService permissionService) { 182 this.permissionService = permissionService; 183 } 184 185}