*/
public void testCloneRunAsIdentity() throws Exception
{
SimplePrincipal sp1 = new SimplePrincipal("sp1");
SimplePrincipal sp2 = new SimplePrincipal("sp2");
RunAsIdentity ras = new RunAsIdentity("testRole", "testUser");
//There is no need to test the set of run-as roles
//as each time, a new HashSet is returned
Set principalSet = ras.getPrincipalsSet();
principalSet.add(sp1);
principalSet.add(sp2);
//Clone
RunAsIdentity rasClone = (RunAsIdentity)ras.clone();
principalSet.remove(sp1);
assertFalse("principalSet.contains(sp1)==false",
principalSet.contains(sp1));
Set clonedPrincipalSet = rasClone.getPrincipalsSet();
assertTrue("clonedPrincipalSet.contains(sp1)",
clonedPrincipalSet.contains(sp1));
assertTrue("clonedPrincipalSet.contains(sp2)",
clonedPrincipalSet.contains(sp2));
}