CAS Unit Tests
Clover coverage report - CAS Unit Tests
Coverage timestamp: Mon Jul 4 2005 18:13:17 CDT
file stats: LOC: 167   Methods: 3
NCLOC: 116   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
TestUserData.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.databaseAccess;
 12   
 13    import junit.framework.Test;
 14    import junit.framework.TestCase;
 15    import junit.framework.TestSuite;
 16   
 17    import org.globus.cas.types.UserData;
 18    import org.globus.cas.types.UserGroupData;
 19    import org.globus.cas.types.ArrayOfString;
 20    import org.globus.cas.types.TrustAnchorData;
 21   
 22    import org.globus.cas.utils.CasStringUtils;
 23   
 24    import org.apache.commons.logging.Log;
 25    import org.apache.commons.logging.LogFactory;
 26   
 27    public class TestUserData extends TestCase {
 28   
 29    static Log logger = LogFactory.getLog(TestUserData.class.getName());
 30   
 31  0 public TestUserData(String name){
 32  0 super(name);
 33    }
 34   
 35  0 public static Test suite() {
 36  0 return new TestSuite(TestUserData.class);
 37    }
 38   
 39  0 public void testUserData() throws Exception {
 40   
 41    // Store Trust anchor data
 42  0 String nickname = "nickname1";
 43  0 String authMethod = "authMethod1";
 44  0 String authData ="authData1";
 45  0 TrustAnchorData trustAnchor = new TrustAnchorData();
 46  0 trustAnchor.setNickname(nickname);
 47  0 trustAnchor.setAuthMethod(authMethod);
 48  0 trustAnchor.setAuthData(authData);
 49  0 TrustAnchorDataHandler.storeObject(trustAnchor);
 50  0 logger.debug("Store trust anchor object went through");
 51   
 52    // UserGroup data store without usernames
 53  0 String groupName = "userGroup1";
 54  0 UserGroupData userGpData = new UserGroupData();
 55  0 userGpData.setGroupName(groupName);
 56  0 UserGroupDataHandler.storeObject(userGpData);
 57  0 logger.debug("Store user group data went through ");
 58   
 59    // Store user data
 60  0 String userNick ="userNick1";
 61  0 String subjectName = "userSubjectName1";
 62  0 UserData userData1 = new UserData();
 63  0 userData1.setNickname(userNick);
 64  0 userData1.setSubjectName(subjectName);
 65  0 userData1.setTrustAnchorName(nickname);
 66  0 UserDataHandler.storeObject(userData1);
 67  0 logger.debug("Store user data "
 68    + CasStringUtils.userToString(userData1));
 69   
 70    // Check user nick retrieval
 71  0 String subjectToNick = UserDataHandler.getUserNickname(subjectName);
 72  0 assertTrue(subjectToNick.equals(userNick));
 73   
 74    // User data retrieve
 75  0 UserData retrieveUserData =
 76    (UserData)UserDataHandler.retrieveObject(userNick);
 77  0 assertTrue(retrieveUserData!=null);
 78  0 if (retrieveUserData.getGroupNames() == null)
 79  0 logger.debug("retrive gp is null");
 80    else {
 81  0 logger.debug("retrive gp is not null");
 82  0 String str[] = retrieveUserData.getGroupNames().getStrings();
 83  0 logger.debug("str length " + str.length);
 84  0 for (int i=0; i<str.length; i++)
 85  0 logger.debug(str[i]);
 86    }
 87  0 logger.debug("Retrieved user data "
 88    + CasStringUtils.userToString(retrieveUserData));
 89  0 assertTrue(userData1.equals(retrieveUserData));
 90   
 91    // User data list
 92  0 String[] list = UserDataHandler.list();
 93  0 assertTrue(list.length==1);
 94  0 logger.debug("List users went through");
 95   
 96    // User data delete
 97  0 UserDataHandler.deleteObject(userNick);
 98  0 UserData deletedData1 =
 99    (UserData)UserDataHandler.retrieveObject(userNick);
 100  0 assertTrue(deletedData1 == null);
 101   
 102    // User group retrieve
 103  0 UserGroupData retrieveUserGpData =
 104    (UserGroupData)UserGroupDataHandler.retrieveObject(groupName);
 105  0 assertTrue(retrieveUserGpData!=null);
 106  0 logger.debug("retrieved user group data "
 107    + retrieveUserGpData.toString());
 108  0 assertTrue(retrieveUserGpData.equals(userGpData));
 109   
 110    // User group delete
 111  0 UserGroupDataHandler.deleteObject(groupName);
 112  0 UserGroupData deletedUserGpData =
 113    (UserGroupData)UserGroupDataHandler.retrieveObject(groupName);
 114  0 assertTrue(deletedUserGpData==null);
 115   
 116    // To test adding group members
 117    // add user group object
 118  0 String groupName1 = "groupName2";
 119  0 UserGroupData ugData = new UserGroupData();
 120  0 ugData.setGroupName(groupName1);
 121  0 UserGroupDataHandler.storeObject(ugData);
 122   
 123    // add second group
 124  0 String groupName2 = "groupName3";
 125  0 userGpData = new UserGroupData();
 126  0 userGpData.setGroupName(groupName2);
 127  0 UserGroupDataHandler.storeObject(userGpData);
 128   
 129    // add user data
 130  0 UserData uData = new UserData();
 131  0 uData.setNickname(userNick);
 132  0 uData.setSubjectName("subject");
 133  0 uData.setTrustAnchorName(nickname);
 134  0 String temp1[] = new String[1];
 135  0 temp1[0] = groupName1;
 136  0 uData.setGroupNames(new ArrayOfString(temp1));
 137  0 UserDataHandler.storeObject(uData);
 138   
 139    // add user as member to the group
 140  0 UserGroupDataHandler.addGroupMember(groupName2, userNick);
 141  0 retrieveUserGpData =
 142    (UserGroupData)UserGroupDataHandler.retrieveObject(groupName2);
 143  0 assertTrue(retrieveUserGpData.getUserNames() != null);
 144  0 String memberUsers[] = retrieveUserGpData.getUserNames().getStrings();
 145  0 assertTrue(memberUsers!=null);
 146  0 assertTrue(CasStringUtils.stringInArray(memberUsers, userNick));
 147   
 148  0 retrieveUserGpData =
 149    (UserGroupData)UserGroupDataHandler.retrieveObject(groupName2);
 150  0 assertTrue(retrieveUserGpData.getUserNames() != null);
 151  0 memberUsers = retrieveUserGpData.getUserNames().getStrings();
 152  0 assertTrue(memberUsers!=null);
 153  0 assertTrue(CasStringUtils.stringInArray(memberUsers, userNick));
 154   
 155    // remove user from members list
 156  0 UserGroupDataHandler.removeGroupMember(groupName2, userNick);
 157  0 retrieveUserGpData =
 158    (UserGroupData)UserGroupDataHandler.retrieveObject(groupName2);
 159  0 assertTrue(retrieveUserGpData.getUserNames() == null);
 160   
 161    // Clean up
 162  0 UserGroupDataHandler.deleteObject(groupName1);
 163  0 UserGroupDataHandler.deleteObject(groupName2);
 164  0 UserDataHandler.deleteObject(userNick);
 165  0 TrustAnchorDataHandler.deleteObject(nickname);
 166    }
 167    }