CAS Unit Tests
Clover coverage report - CAS Unit Tests
Coverage timestamp: Mon Jul 4 2005 18:13:17 CDT
file stats: LOC: 224   Methods: 5
NCLOC: 155   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
TestSelfUnenrollPermissions.java 0% 0% 0% 0%
coverage
 1    /*
 2    * Portions of this file Copyright 1999-2005 University of Chicago
 3    * Portions of this file Copyright 1999-2005 The University of Southern California.
 4    *
 5    * This file or a portion of this file is licensed under the
 6    * terms of the Globus Toolkit Public License, found at
 7    * http://www.globus.org/toolkit/download/license.html.
 8    * If you redistribute this file, with or without
 9    * modifications, you must include this notice in the file.
 10    */
 11    package org.globus.cas.impl.service;
 12   
 13    import junit.framework.Test;
 14    import junit.framework.TestCase;
 15    import junit.framework.TestSuite;
 16   
 17    import org.globus.cas.types.PolicyData;
 18    import org.globus.cas.types.UserGroupData;
 19    import org.globus.cas.types.ServiceTypeData;
 20    import org.globus.cas.types.ObjectGroupData;
 21    import org.globus.cas.types.ArrayOfString;
 22   
 23    import org.globus.cas.impl.CasConstants;
 24   
 25    import org.globus.cas.utils.CasStringUtils;
 26   
 27    import org.globus.cas.impl.databaseAccess.ObjectDataHandler;
 28    import org.globus.cas.impl.databaseAccess.ObjectGroupDataHandler;
 29    import org.globus.cas.impl.databaseAccess.UserDataHandler;
 30    import org.globus.cas.impl.databaseAccess.UserGroupDataHandler;
 31    import org.globus.cas.impl.databaseAccess.TrustAnchorDataHandler;
 32    import org.globus.cas.impl.databaseAccess.ServiceTypeDataHandler;
 33    import org.globus.cas.impl.databaseAccess.ServiceTypeActionHandler;
 34    import org.globus.cas.impl.databaseAccess.NamespaceDataHandler;
 35   
 36    import org.globus.cas.types.DeleteGroup;
 37    import org.globus.cas.types.DeleteObject;
 38    import org.globus.cas.types.ManageUserGroups;
 39    import org.globus.cas.types.ManageObjectGroups;
 40    import org.globus.cas.types.ManageServiceAction;
 41    import org.globus.cas.types.ManageServiceActionGroups;
 42   
 43    import org.globus.cas.CASPortType;
 44   
 45    import org.apache.commons.logging.Log;
 46    import org.apache.commons.logging.LogFactory;
 47   
 48    public class TestSelfUnenrollPermissions extends TestCase {
 49   
 50    static Log logger =
 51    LogFactory.getLog(TestSelfUnenrollPermissions.class.getName());
 52   
 53    static CASPortType casPort = null;
 54   
 55    String objId = null;
 56    String unenrollId = null;
 57    String deleteGroupId = null;
 58    String deleteGroupEntry = null;
 59   
 60  0 public TestSelfUnenrollPermissions(String name){
 61  0 super(name);
 62    }
 63   
 64  0 public static Test suite() {
 65  0 return new TestSuite(TestSelfUnenrollPermissions.class);
 66    }
 67   
 68  0 public static void setParams(CASPortType casPort_) {
 69  0 casPort = casPort_;
 70    }
 71   
 72  0 private void initialSetup() throws Exception {
 73   
 74  0 objId =
 75    Integer.toString(
 76    ObjectDataHandler.getObjectId(
 77    CasConstants.OBJECT_SELF,
 78    CasConstants.NAMESPACE_SELF));
 79  0 unenrollId =
 80    Integer.toString(
 81    ServiceTypeActionHandler.getServiceActionId(
 82    CasConstants.SERVICETYPE_CAS,
 83    CasConstants.ACTION_UNENROLL));
 84  0 deleteGroupId =
 85    Integer.toString(
 86    ServiceTypeActionHandler.getServiceActionId(
 87    CasConstants.SERVICETYPE_CAS,
 88    CasConstants.ACTION_DELETE_GROUP));
 89  0 deleteGroupEntry =
 90    Integer.toString(
 91    ServiceTypeActionHandler.getServiceActionId(
 92    CasConstants.SERVICETYPE_CAS,
 93    CasConstants.ACTION_REMOVE_GROUP_ENTRY));
 94    }
 95   
 96    // all operations must go through since enroll sets grantAll
 97  0 public void testUnenrollData() throws Exception {
 98   
 99  0 initialSetup();
 100  0 PolicyData policyData = new PolicyData();
 101  0 policyData.setUserGroupName(TestConstants.defUserGp);
 102   
 103    // attempt removing from serviceActionGp
 104  0 casPort
 105    .manageServiceActionGroups(
 106    new ManageServiceActionGroups(TestConstants.actionName,
 107    TestConstants.serviceActionGpName,
 108    "remove",
 109    TestConstants.serviceName));
 110    // Ensure it was removed
 111  0 String[] serviceActionGpEntry
 112    = ServiceTypeActionHandler.retrieveServiceActionGpEntries(
 113    TestConstants.serviceActionGpName);
 114  0 assertTrue(!CasStringUtils.stringInArray(serviceActionGpEntry,
 115    TestConstants.serviceName
 116    + "/"
 117    + TestConstants.actionName));
 118   
 119    // attempt deleting serviceActionGp
 120  0 casPort
 121    .deleteGroup(new DeleteGroup(TestConstants.serviceActionGpName,
 122    "serviceAction"));
 123    // Ensure it was removed
 124  0 String[] serviceActionGp =
 125    ServiceTypeActionHandler.listServiceActionGroups();
 126  0 assertTrue(!CasStringUtils.stringInArray(serviceActionGp,
 127    TestConstants.serviceActionGpName));
 128   
 129    // attempting to remove serviceAction mapping
 130  0 casPort.manageServiceAction(
 131    new ManageServiceAction(TestConstants.actionName, "remove",
 132    TestConstants.serviceName));
 133    // Ensure it was removed
 134  0 ServiceTypeData serviceType = new ServiceTypeData();
 135  0 serviceType.setName(TestConstants.serviceName);
 136  0 assertTrue(serviceType.equals(
 137    (ServiceTypeData)ServiceTypeDataHandler.retrieveObject(
 138    TestConstants.serviceName)));
 139   
 140    // attempting to delete ServiceType
 141  0 casPort.deleteServiceType(TestConstants.serviceName);
 142    // Ensure it was removed
 143  0 String serviceTypeNames[] = ServiceTypeDataHandler.list();
 144  0 assertTrue(!CasStringUtils.stringInArray(serviceTypeNames,
 145    TestConstants.serviceName));
 146   
 147    // attempt removing from object group
 148    // Direct DBaccess to get object Id
 149  0 String addedObj =
 150    Integer.toString(
 151    ObjectDataHandler.getObjectId(TestConstants.objName,
 152    TestConstants.nsNick));
 153  0 casPort.manageObjectGroups(
 154    new ManageObjectGroups(TestConstants.objectGpName,
 155    TestConstants.nsNick + "|"
 156    + TestConstants.objName, "object",
 157    "remove"));
 158    // Ensure it was removed
 159  0 ObjectGroupData retrievedObjGp =
 160    (ObjectGroupData)ObjectGroupDataHandler
 161    .retrieveObject(TestConstants.objectGpName);
 162  0 ArrayOfString arrayOfSpec = retrievedObjGp.getObjectSpecs();
 163  0 assertTrue(arrayOfSpec == null);
 164   
 165    // attempt deleting objectGP
 166  0 casPort.deleteGroup(new DeleteGroup(TestConstants.objectGpName,
 167    "object"));
 168    // Ensure it was deleted
 169  0 String[] listOfObjects = ObjectGroupDataHandler.list();
 170  0 assertTrue(!CasStringUtils.stringInArray(listOfObjects,
 171    TestConstants.objectGpName));
 172   
 173   
 174    // attempt removing from user group
 175  0 casPort.manageUserGroups(new ManageUserGroups(TestConstants.userGpName,
 176    "remove",
 177    TestConstants.userNick));
 178    // Ensure it was removed
 179  0 UserGroupData userGpData =
 180    (UserGroupData)UserGroupDataHandler.retrieveObject(
 181    TestConstants.userGpName);
 182  0 ArrayOfString arrayOfUser = userGpData.getUserNames();
 183  0 assertTrue(arrayOfUser == null);
 184   
 185    // attempt deleting userGp
 186  0 casPort.deleteGroup(new DeleteGroup(TestConstants.userGpName, "user"));
 187    // Ensure it was deleted
 188  0 String userGpList[] = UserGroupDataHandler.list();
 189  0 assertTrue(!CasStringUtils.stringInArray(userGpList,
 190    TestConstants.userGpName));
 191   
 192    // attempt removing object
 193  0 casPort.deleteObject(new DeleteObject(TestConstants.objName,
 194    TestConstants.nsNick));
 195    // Ensure it was remove
 196  0 listOfObjects = ObjectDataHandler.list();
 197  0 assertTrue(!CasStringUtils.stringInArray(listOfObjects, addedObj));
 198   
 199    // attempt removing namespace
 200  0 casPort.deleteObjectNamespace(TestConstants.nsNick);
 201    // Ensure it was remove
 202  0 String listOfNS[] = NamespaceDataHandler.list();
 203  0 for (int i=0; i<listOfNS.length; i++) {
 204  0 logger.debug("list" + listOfNS[i]);
 205    }
 206  0 assertTrue(!CasStringUtils.stringInArray(listOfNS,
 207    TestConstants.nsNick));
 208   
 209    // attempt removing user
 210  0 casPort.removeUser(TestConstants.userNick);
 211    // Ensure it was remove
 212  0 String listOfUsers[] = UserDataHandler.list();
 213  0 assertTrue(!CasStringUtils.stringInArray(listOfUsers,
 214    TestConstants.userNick));
 215   
 216    // attempt removing trust anchor
 217  0 casPort.removeTrustAnchor(TestConstants.trustNick);
 218    // Ensure it was removed
 219  0 String listOfTrustAnchor[] = TrustAnchorDataHandler.list();
 220  0 assertTrue(!CasStringUtils.stringInArray(listOfTrustAnchor,
 221    TestConstants.trustNick));
 222   
 223    }
 224    }