1 19 20 package com.sslexplorer.policies; 21 22 import static org.junit.Assert.assertEquals; 23 import static org.junit.Assert.assertFalse; 24 import static org.junit.Assert.assertTrue; 25 26 import java.util.Collections ; 27 28 import org.junit.BeforeClass; 29 import org.junit.Test; 30 31 import com.sslexplorer.core.UserDatabaseManager; 32 import com.sslexplorer.policyframework.Policy; 33 import com.sslexplorer.policyframework.PolicyDatabaseFactory; 34 import com.sslexplorer.realms.Realm; 35 import com.sslexplorer.security.Role; 36 import com.sslexplorer.security.User; 37 import com.sslexplorer.testcontainer.AbstractTest; 38 39 41 public class PolicyPrincipalAssignmentTest extends AbstractTest { 42 43 46 @BeforeClass 47 public static void oneTimeSetUp() throws Exception { 48 setUp(""); 49 } 50 51 54 @Test 55 public void attachDetachPolicyToUser() throws Exception { 56 Realm realm = getUserService().getDefaultRealm(); 57 Policy policy = createPolicy(realm); 58 int users = getUserService().getDefaultUserDatabase().listAllUsers("*.*").length; 59 User user = createAccount(); 60 assertEquals(getUserService().getDefaultUserDatabase().listAllUsers("*.*").length, users + 1); 61 getPolicyService().grantPolicyToPrincipal(policy, user); 62 assertTrue("The policy should be granted", PolicyDatabaseFactory.getInstance().isPolicyGrantedToUser(policy, user)); 63 getPolicyService().revokePolicyFromPrincipal(policy, user); 64 assertFalse("The policy should not be granted", PolicyDatabaseFactory.getInstance().isPolicyGrantedToUser(policy, user)); 65 getUserService().getDefaultUserDatabase().deleteAccount(user); 66 assertEquals(getUserService().getDefaultUserDatabase().listAllUsers("*.*").length, users); 67 getPolicyService().deletePolicy(policy.getResourceId()); 68 } 69 70 73 @Test 74 public void attachDetachPolicyToRole() throws Exception { 75 Realm realm = getUserService().getDefaultRealm(); 76 Policy policy = createPolicy(realm); 77 User user = createAccount(); 78 Role role = createRole("Group1"); 79 user = updateAccountRoles(user, Collections.singleton(role)); 80 getPolicyService().grantPolicyToPrincipal(policy, role); 81 assertTrue("The policy should be granted", PolicyDatabaseFactory.getInstance().isPolicyGrantedToUser(policy, user)); 82 getPolicyService().revokePolicyFromPrincipal(policy, role); 83 assertFalse("The policy should not be granted", PolicyDatabaseFactory.getInstance().isPolicyGrantedToUser(policy, user)); 84 getUserService().getDefaultUserDatabase().deleteAccount(user); 85 getPolicyService().deletePolicy(policy.getResourceId()); 86 } 87 88 92 public static UserDatabaseManager getUserService() throws Exception { 93 return UserDatabaseManager.getInstance(); 94 } 95 96 private static Policy createPolicy(Realm realm) throws Exception { 97 return createPolicy("Policy A", "Policy A description", Policy.TYPE_NORMAL, realm); 98 } 99 100 private static Policy createPolicy(String name, String description, int type, Realm realm) throws Exception { 101 return getPolicyService().createPolicy(name, description, type, realm.getRealmID()); 102 } 103 } | Popular Tags |