CAS Unit Tests
Clover coverage report - CAS Unit Tests
Coverage timestamp: Mon Jul 4 2005 18:13:17 CDT
file stats: LOC: 286   Methods: 4
NCLOC: 206   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
TestGrantUser2.java - 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.ServiceTypeData;
 18    import org.globus.cas.types.TrustAnchorData;
 19    import org.globus.cas.types.UserData;
 20    import org.globus.cas.types.UserGroupData;
 21    import org.globus.cas.types.ObjectData;
 22    import org.globus.cas.types.NamespaceData;
 23    import org.globus.cas.types.ObjectGroupData;
 24    import org.globus.cas.types.ArrayOfString;
 25   
 26    import org.globus.cas.types.AddUser;
 27    import org.globus.cas.types.CreateGroup;
 28    import org.globus.cas.types.ManageServiceAction;
 29    import org.globus.cas.types.ManageServiceActionGroups;
 30    import org.globus.cas.types.ManageObjectGroups;
 31    import org.globus.cas.types.AddTrustAnchor;
 32    import org.globus.cas.types.CreateObject;
 33    import org.globus.cas.types.CreateObjectNamespace;
 34    import org.globus.cas.types.CreateServiceType;
 35    import org.globus.cas.types.ManageUserGroups;
 36   
 37    import org.globus.cas.utils.CasStringUtils;
 38   
 39    import org.globus.cas.impl.databaseAccess.ObjectDataHandler;
 40    import org.globus.cas.impl.databaseAccess.ObjectGroupDataHandler;
 41    import org.globus.cas.impl.databaseAccess.UserDataHandler;
 42    import org.globus.cas.impl.databaseAccess.UserGroupDataHandler;
 43    import org.globus.cas.impl.databaseAccess.TrustAnchorDataHandler;
 44    import org.globus.cas.impl.databaseAccess.ServiceTypeDataHandler;
 45    import org.globus.cas.impl.databaseAccess.ServiceTypeActionHandler;
 46    import org.globus.cas.impl.databaseAccess.NamespaceDataHandler;
 47   
 48    import org.globus.cas.CASPortType;
 49   
 50    import org.apache.commons.logging.Log;
 51    import org.apache.commons.logging.LogFactory;
 52   
 53    public class TestGrantUser2 extends TestCase {
 54   
 55    static Log logger = LogFactory.getLog(TestGrantUser2.class.getName());
 56    static CASPortType casPort = null;
 57   
 58    String groupName = null;
 59    String objId = null;
 60    String enrollAnchor = null;
 61    String enrollUser = null;
 62    String enrollNs = null;
 63    String enrollObject = null;
 64    String enrollService = null;
 65    String createObjGp = null;
 66    String createUserGp = null;
 67    String createServiceActionGp = null;
 68    String addGroupEntry = null;
 69   
 70  0 public TestGrantUser2(String name){
 71  0 super(name);
 72    }
 73   
 74  0 public static Test suite() {
 75  0 return new TestSuite(TestGrantUser2.class);
 76    }
 77   
 78  0 public static void setParams(CASPortType casPort_) {
 79  0 casPort = casPort_;
 80    }
 81   
 82  0 public void testEnrollData() throws Exception {
 83   
 84  0 assertTrue(casPort != null);
 85    // add enrollTrustAnchor
 86  0 casPort.addTrustAnchor(new AddTrustAnchor(TestConstants.authData,
 87    TestConstants.authMeth,
 88    TestConstants.trustNick,
 89    TestConstants.userGp2));
 90   
 91    // Ensure it was added
 92  0 TrustAnchorData addedAnchor = new TrustAnchorData();
 93  0 addedAnchor.setNickname(TestConstants.trustNick);
 94  0 addedAnchor.setAuthMethod(TestConstants.authMeth);
 95  0 addedAnchor.setAuthData(TestConstants.authData);
 96  0 assertTrue(addedAnchor.equals(
 97    (TrustAnchorData)TrustAnchorDataHandler.retrieveObject(
 98    TestConstants.trustNick)));
 99   
 100    // attempt adding user
 101  0 casPort.addUser(new AddUser(TestConstants.userNick,
 102    TestConstants.subjectName,
 103    TestConstants.trustNick,
 104    TestConstants.userGp2));
 105   
 106    // Ensure it was added
 107  0 UserData addedUserData = new UserData();
 108  0 addedUserData.setNickname(TestConstants.userNick);
 109  0 addedUserData.setSubjectName(TestConstants.subjectName);
 110  0 addedUserData.setTrustAnchorName(TestConstants.trustNick);
 111  0 assertTrue(addedUserData.equals(
 112    (UserData)UserDataHandler.retrieveObject(
 113    TestConstants.userNick)));
 114   
 115    // attempt adding namespace
 116  0 casPort.createObjectNamespace(
 117    new CreateObjectNamespace(TestConstants.user2BaseName,
 118    TestConstants.compAlg,
 119    TestConstants.user2NsNick,
 120    TestConstants.userGp2));
 121   
 122    // Ensure it was added
 123  0 NamespaceData nsData = new NamespaceData();
 124  0 nsData.setNickname(TestConstants.user2NsNick);
 125  0 nsData.setBasename(TestConstants.user2BaseName);
 126  0 nsData.setComparisonAlg(TestConstants.compAlg);
 127  0 assertTrue(nsData.equals(
 128    (NamespaceData)NamespaceDataHandler.retrieveObject(
 129    TestConstants.user2NsNick)));
 130   
 131    // attempt removing the older NS
 132  0 casPort.deleteObjectNamespace(TestConstants.nsNick);
 133  0 assertTrue(NamespaceDataHandler.retrieveObject(
 134    TestConstants.nsNick) == null);
 135   
 136    // attempt adding object
 137  0 casPort.createObject(new CreateObject(TestConstants.objName,
 138    TestConstants.user2NsNick,
 139    TestConstants.userGp2));
 140   
 141    // Ensure it was added
 142  0 ObjectData objData = new ObjectData();
 143  0 objData.setObjectName(TestConstants.objName);
 144  0 objData.setObjectNamespace(TestConstants.user2NsNick);
 145  0 ObjectData retrievedObj =
 146    (ObjectData)ObjectDataHandler.retrieveObject(
 147    TestConstants.objName,
 148    TestConstants.user2NsNick);
 149  0 assertTrue(retrievedObj != null);
 150    // FIXME
 151  0 String addedObj = retrievedObj.getObjectId();
 152  0 objData.setObjectId(addedObj);
 153  0 assertTrue(objData.equals(retrievedObj));
 154   
 155    // attempt creating userGp
 156  0 casPort.createGroup(new CreateGroup(TestConstants.userGpName, "user",
 157    TestConstants.userGp2));
 158    // Ensure it was added
 159  0 UserGroupData userGpData = new UserGroupData();
 160  0 userGpData.setGroupName(TestConstants.userGpName);
 161  0 assertTrue(userGpData.equals(
 162    (UserGroupData)UserGroupDataHandler.retrieveObject(
 163    TestConstants.userGpName)));
 164   
 165    // attempt adding to user group
 166  0 casPort.manageUserGroups(
 167    new ManageUserGroups(TestConstants.userGpName, "add",
 168    TestConstants.userNick));
 169    // Ensure it was added
 170  0 userGpData =
 171    (UserGroupData)UserGroupDataHandler.retrieveObject(
 172    TestConstants.userGpName);
 173  0 assertTrue(userGpData.getUserNames() != null);
 174  0 assertTrue(CasStringUtils
 175    .stringInArray(userGpData.getUserNames().getStrings(),
 176    TestConstants.userNick));
 177   
 178    // attempt adding to user group created by user1
 179  0 casPort.manageUserGroups(new ManageUserGroups(TestConstants.userGp2,
 180    "add",
 181    TestConstants.userNick));
 182    // Ensure it was added
 183  0 userGpData =
 184    (UserGroupData)UserGroupDataHandler.retrieveObject(
 185    TestConstants.userGp2);
 186  0 assertTrue(userGpData.getUserNames() != null);
 187  0 assertTrue(CasStringUtils
 188    .stringInArray(userGpData.getUserNames().getStrings(),
 189    TestConstants.userNick));
 190   
 191    // attempt creating objectGP
 192  0 casPort.createGroup(new CreateGroup(TestConstants.objectGpName,
 193    "object", TestConstants.userGp2));
 194   
 195    // Ensure it was added
 196  0 ObjectGroupData objectGpData = new ObjectGroupData();
 197  0 objectGpData.setGroupName(TestConstants.objectGpName);
 198  0 assertTrue(objectGpData.equals((ObjectGroupData)ObjectGroupDataHandler.retrieveObject(TestConstants.objectGpName)));
 199   
 200    // attempt adding to object group
 201  0 String addedObjString = TestConstants.user2NsNick + "|"
 202    + TestConstants.objName;
 203  0 casPort.manageObjectGroups(
 204    new ManageObjectGroups(TestConstants.objectGpName,
 205    addedObjString, "object", "add"));
 206    // Ensure it was added
 207  0 objectGpData = (ObjectGroupData)ObjectGroupDataHandler
 208    .retrieveObject(TestConstants.objectGpName);
 209  0 assertTrue(objectGpData.getObjectSpecs() != null);
 210  0 assertTrue(CasStringUtils
 211    .stringInArray(objectGpData.getObjectSpecs().getStrings(),
 212    addedObj));
 213   
 214    // attempt adding to object group created by user1
 215  0 casPort.manageObjectGroups(
 216    new ManageObjectGroups(TestConstants.objGp2,
 217    addedObjString, "object", "add"));
 218  0 objectGpData =
 219    (ObjectGroupData)ObjectGroupDataHandler.retrieveObject(
 220    TestConstants.objGp2);
 221  0 assertTrue(objectGpData.getObjectSpecs() != null);
 222  0 assertTrue(CasStringUtils
 223    .stringInArray(objectGpData.getObjectSpecs().getStrings(),
 224    addedObj));
 225   
 226    // attempting to createServiceType
 227  0 casPort.createServiceType(
 228    new CreateServiceType(TestConstants.serviceName2,
 229    TestConstants.userGp2));
 230   
 231    // Ensure it was added
 232  0 ServiceTypeData serviceType = new ServiceTypeData();
 233  0 serviceType.setName(TestConstants.serviceName2);
 234  0 assertTrue(serviceType.equals((ServiceTypeData)ServiceTypeDataHandler.retrieveObject(TestConstants.serviceName2)));
 235   
 236    // attempting to add serviceAction mapping
 237  0 casPort.manageServiceAction(
 238    new ManageServiceAction(TestConstants.actionName, "add",
 239    TestConstants.serviceName2));
 240   
 241    // Ensure it was added
 242  0 String actNames[] = new String[1];
 243  0 actNames[0] = TestConstants.actionName;
 244  0 serviceType.setActionNames(new ArrayOfString(actNames));
 245  0 assertTrue(serviceType.equals((ServiceTypeData)ServiceTypeDataHandler.retrieveObject(TestConstants.serviceName2)));
 246   
 247    // attempt adding serviceAction mapping to service Type added by user1
 248  0 casPort.manageServiceAction(
 249    new ManageServiceAction(TestConstants.actionName, "add",
 250    TestConstants.serviceNameUser2));
 251   
 252  0 String[] serviceAction =
 253    ServiceTypeActionHandler.retrieveServiceActionMappings(
 254    TestConstants.serviceNameUser2);
 255  0 assertTrue(CasStringUtils.stringInArray(serviceAction,
 256    TestConstants.actionName));
 257   
 258    // attempt creating serviceActionGp
 259  0 casPort
 260    .createGroup(new CreateGroup(TestConstants.serviceActionGpName,
 261    "serviceAction",
 262    TestConstants.userGp2));
 263   
 264    // Ensure it was added
 265  0 String[] serviceActionGp =
 266    ServiceTypeActionHandler.listServiceActionGroups();
 267  0 assertTrue(CasStringUtils.stringInArray(serviceActionGp,
 268    TestConstants.serviceActionGpName));
 269   
 270    // attempt adding to serviceActionGp
 271  0 casPort
 272    .manageServiceActionGroups(new ManageServiceActionGroups(
 273    TestConstants.actionName,
 274    TestConstants.serviceActionGpName,
 275    "add",
 276    TestConstants.serviceNameUser2));
 277   
 278    // Ensure it was added
 279  0 String[] serviceActionGpEntry =
 280    ServiceTypeActionHandler.retrieveServiceActionGpEntries(
 281    TestConstants.serviceActionGpName);
 282  0 assertTrue(CasStringUtils.stringInArray(serviceActionGpEntry,
 283    TestConstants.serviceNameUser2 + "/" +
 284    TestConstants.actionName));
 285    }
 286    }